Open maehne opened 10 months ago
See #617. Indeed, QT_QPA_PLATFORM=xcb
helps to avoid this problem.
But as you already found out, many other problems remain when using Wayland, especially because screenshots cannot be taken under Wayland the same way as with X11. See e.g. #665 and #679.
Also controlling the exact window position is not possible under Wayland. Read e.g. https://gitlab.gnome.org/GNOME/mutter/-/issues/316.
So for the time being I would advise against using OpenBoard under Wayland.
Thanks for the feedback! I am well aware of Wayland's restrictions and its impact on tools I am using daily for my teaching (e.g., also Projecteur is only partially usable). However, reporting the observed issues is the first step for fixing them - even if it takes considerable time. I hesitated long to make the switch to Wayland, but I have to say that it nowadays gives me the smoother user experience - especially when moving between many different classrooms and work places (all having different monitor setups). Even screen sharing/screen casting nowadays works well due to xdg-desktop-portal
. So the biggest problems remain with presentation tools requiring to impose exact window positions. I would love to see these issues sorted out. However, some problems seem to require a coordinated effort by teams taking care of the different parts of the involved library/tool stack.
So the biggest problems remain with presentation tools requiring to impose exact window positions. I would love to see these issues sorted out.
It seems that using Xwayland by setting
GDK_BACKEND=x11
will mitigate the window positioning problem. At least in my short tests OpenBoard run fine on a multi-monitor setup, except for the screenshot problem.
So
QT_QPA_PLATFORM=xcb # select the QXcbIntegrationPlugin for X Window System (X11) support
GDK_BACKEND=x11 # force application to use Xwayland
would currently be my recommendation.
Thanks for the recommendation! For my understanding, could you please explain why also GDK_BACKEND=x11
is needed, OpenBoard itself is based on Qt? In my testing setting only QT_QPA_PLATFORM=xcb
was sufficient, but I have to admit that I tested only basic functionalities.
Originally I thought I need this for correct positioning of windows. But when I test it now, QT_QPA_PLATFORM=xcb
is sufficient.
The segmentation fault still occurs in OpenBoard 1.7.1. The workaround QT_QPA_PLATFORM=xcb
still helps.
@letsfindaway: What do you think of adding the workaround to the desktop file?
diff --unified --recursive --text OpenBoard-1.7.1/resources/linux/ch.openboard.OpenBoard.desktop OpenBoard-1.7.1.new/resources/linux/ch.openboard.OpenBoard.desktop
--- OpenBoard-1.7.1/resources/linux/ch.openboard.OpenBoard.desktop 2024-05-10 13:17:07.104142963 +0200
+++ OpenBoard-1.7.1.new/resources/linux/ch.openboard.OpenBoard.desktop 2024-05-10 13:17:40.960655024 +0200
@@ -2,7 +2,7 @@
Encoding=UTF-8
Name=OpenBoard
Comment=OpenBoard, an interactive white board application
-Exec=openboard %f
+Exec=QT_QPA_PLATFORM=xcb openboard %f
Icon=ch.openboard.OpenBoard
StartupNotify=true
Terminal=false
I successfully tested this in KDE Plasma 6 Wayland and X11 sessions on Arch Linux.
Over the past weeks, I observed some drawbacks when using QT_QPA_PLATFORM=xcb openboard
in a KDE Plasma session:
I have not observed these issues when using the windowed mode without active Multi Screen and running OpenBoard natively under Wayland (QT_QPA_PLATFORM=wayland
, which is the default if not set explicitly). Of course, the segfault still persists when trying to edit the screen list with OpenBoard 1.7.1 build on an up-to-date Arch Linux with kernel version 6.9.3, KDE Plasma 6.05, Qt 6.7.1. But otherwise, OpenBoard seems to behave more sane. I can even switch to the Desktop and draw on it. Due to the windowed mode, I can move OpenBoard with KDE Plasma's keyboard shortcut around to different screens and even switch it to full screen mode.
I installed OpenBoard 1.7.0 on an up-to-date Endeavour OS (based on Arch Linux, x86_64 processor platform) installation using the AUR PKGBUILD. The AUR package currently builds OpenBoard agains Qt 5.15.11. A segmentation fault happens every time, when clicking with the mouse into the "List of screens used for Control, Display and Previous pages" entry field of the Preferences window. The backtrace is:
The crash does not happen when running in an X11 session or using
QT_QPA_PLATFORM=xcb openboard
to force using the X11 compatibility layer on Wayland. I was also not able to observe the crash on Windows or macOS.As a side note: There are other Wayland-related issues as well, e.g.: