Projecteur: [BUG] Projecteur doesn't seem to work all that well on Gnome with Wayland on Fedora
Description
While trying out Projecteur on Gnome with Wayland on Fedora, I came across a couple of issues. Projecteur is still very useful and I use it with Gnome on X.org with a great success but seeing how Wayland will probably be the only reasonable option in the future, I wanted to note my experience here.
Thanks!
To Reproduce
Just starting projecteur and clicking the main “zoom” button multiple times ends up generating the following log:
[2021-10-09T11:53:08.511][wrn][default] QObject::connect: No such signal QPlatformNativeInterface::systemTrayWindowChanged(QScreen*)
[2021-10-09T11:53:08.525][inf][projecteur.device] Connected device: Logitech Spotlight (USB) (046d:c53e)
[2021-10-09T11:53:08.563][inf][projecteur.HID] HID++ device '/dev/hidraw2' came online.
[2021-10-09T11:53:13.537][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:13.538][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:15.202][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:15.921][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:15.921][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:17.486][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:18.087][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:18.087][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:19.081][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
While all this is happening, the pointer doesn’t respond to movement and it also seems that further clicking only generates the Wayland does not support QWindow::requestActivate() message.
Expected behavior
I would expect Projecteur to work the same way as it does on X.org (i.e. clicking and moving with the pointer would work out of the box).
Desktop/Linux Environment (please complete the following information):
- Linux Distribution and Version: Fedora 34
- Desktop/Window Manager and Version Gnome 40.4
- Did you built Projecteur yourself?:
n - What is the output of
projecteur -f?:
Projecteur 1.0-alpha.118
- git-branch: develop
- git-hash: 21e5e606ff2fb5daf712d66fc2a77cdb7aa3cdde
- compiler: GNU 10.1.1
- build-type: Release
- qt-version: (build: 5.13.2, runtime: 5.15.2)
- device-scan: (errors: 0, devices: 1 [readable: 1, writable: 1])
- What is the output of
projecteur -d?: …
Projecteur 1.0-alpha.118; device scan
* Found 1 supported devices. (1 readable, 1 writable)
+++ name: 'Logitech USB Receiver'
userName: 'Logitech Spotlight (USB)'
vendorId: 046d
productId: c53e
phys: usb-0000:00:14.0-3
busType: BusType::Usb
devices: /dev/hidraw2, /dev/input/event19, /dev/input/event22, /dev/input/event20, /dev/input/event21
readable: true
writable: true
About this issue
- Original URL
- State: open
- Created 3 years ago
- Reactions: 2
- Comments: 17 (9 by maintainers)
Hi @jahnf ,
we should implement
xdg-desktop-portalbased screenshot capture as it one of the cross-platform way for taking screenshots on wayland.Reference: https://github.com/flatpak/xdg-desktop-portal/blob/master/data/org.freedesktop.portal.Screenshot.xml https://github.com/ksnip/ksnip/issues/243 https://github.com/flameshot-org/flameshot/issues/446 https://github.com/emersion/grim
Cheers @jahnf - Thank you so much for Projecteur!
Some suggestions, if you like…
*: I note that ksnip has added Wayland support for kde and gnome, and its screenshots seem very snappy - I just converted from flameshot to ksnip to test it, and there is a notable difference - it is also Qt5 based, so maybe there is something that can be learnt here?
Thank you for all your feedback, Time is sparse right now but I will look into it.
Some details are just differently (or sometimes not implemented at all) on Qt side due to the different workings and restrictions of Wayland.
In any case, every detail or hint is appreciated.
About the zoom: The zoom with is working different with Wayland - since there is no Qt API to take a screenshot - Projecteur is using the KDE or Gnome DBus API - which saves a screenshot, which Projecteur then loads. This unfortunately takes longer then the implementation for Qt’s xcb platform plugin.
As a workaround you could use the following:
QT_QPA_PLATFORM=xcb projecteurThis works at lease in a virtual machine with Fedora 34 I tried yesterday.
Sorry, I’m using Wayland.
Thanks @jahnf, I’d be happy to do any field testing you might find useful as well!