Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#75325 - [qcad] QCAD not starting under Wayland

Attached to Project: Community Packages
Opened by Martin Rodriguez Reboredo (yakoyakoyokuyoku) - Thursday, 14 July 2022, 23:54 GMT
Last edited by Ike Devolder (BlackEagle) - Monday, 01 August 2022, 14:09 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Ike Devolder (BlackEagle)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

If QCAD is executed under a Wayland session it fails to launch due to not detecting the Wayland Qt platform plugin. But this is easy to fix if the following symlinks are done.

'/usr/lib/qcad/platforms/libqwayland-egl.so' -> '/usr/lib/qt/plugins/platforms/libqwayland-egl.so'
'/usr/lib/qcad/platforms/libqwayland-generic.so' -> '/usr/lib/qt/plugins/platforms/libqwayland-generic.so'
'/usr/lib/qcad/platforms/libqwayland-xcomposite-egl.so' -> '/usr/lib/qt/plugins/platforms/libqwayland-xcomposite-egl.so'
'/usr/lib/qcad/platforms/libqwayland-xcomposite-glx.so' -> '/usr/lib/qt/plugins/platforms/libqwayland-xcomposite-glx.so'

'/usr/lib/qcad/plugins/wayland-decoration-client' -> '/usr/lib/qt/plugins/wayland-decoration-client'
'/usr/lib/qcad/plugins/wayland-graphics-integration-client' -> '/usr/lib/qt/plugins/wayland-graphics-integration-client'
'/usr/lib/qcad/plugins/wayland-graphics-integration-server' -> '/usr/lib/qt/plugins/wayland-graphics-integration-server'
'/usr/lib/qcad/plugins/wayland-shell-integration' -> '/usr/lib/qt/plugins/wayland-shell-integration'

With that QCAD starts normally.

Additional info:

* package version(s) QCAD version 3.27.6.7

* config and/or log files etc.

20:47:13: Debug: loading plugins...
20:47:13: Debug: loading static plugins...
Warning: Failed to load client buffer integration: "wayland-egl"
Warning: Available client buffer integrations: ()
Warning: No shell integration named "xdg-shell" found
Warning: No shell integration named "xdg-shell-v6" found
Warning: No shell integration named "wl-shell" found
Warning: No shell integration named "ivi-shell" found
Warning: Loading shell integration failed.
Warning: Attempted to load the following shells ("xdg-shell", "xdg-shell-v6", "wl-shell", "ivi-shell")
Warning: Could not find any platform plugin
20:47:13: Debug: CadToolBar.initStyle
20:47:13: Debug: EcmaScriptShell.initStyle:
Warning: Wayland does not support QWindow::requestActivate()

* link to upstream bug report, if any

https://qcad.org/rsforum/viewtopic.php?t=7866

Steps to reproduce:

Run qcad under a Wayland session both without and with the symlinks.
This task depends upon

Closed by  Ike Devolder (BlackEagle)
Monday, 01 August 2022, 14:09 GMT
Reason for closing:  Fixed
Additional comments about closing:  qcad-3.27.6.7-3
Comment by Toolybird (Toolybird) - Sunday, 24 July 2022, 02:51 GMT
Is the advice provided here [1] applicable? Not sure about the desirability of those symlinks..

[1] https://wiki.archlinux.org/title/Wayland#Qt
Comment by Martin Rodriguez Reboredo (yakoyakoyokuyoku) - Sunday, 24 July 2022, 04:54 GMT
By installing `qt5-wayland` as the Arch Wiki says and doing the symlinks QCAD launches as expected. Setting `QT_QPA_PLATFORM` to `xcb` also works, but in my opinion this is not desirable.
Thing is that I expected QCAD to work without doing anything else (save installing `qt5-wayland`), but QCAD prefers to use the `/usr/lib/qcad` directory instead of `/usr/lib/qt`, so the QtWayland platform and its integration plugins have to be there, or else it doesn't launch.
As of now the QCAD build system copies many plugins (including both XCB and Wayland) from `/usr/lib/qt/plugins` to `$pkgsrc/qcad-$pkgver/usr/lib/qcad` [2], probably it's done like that either due to bundling Qt for a binary distribution or a decision to use copy over symlinks.
But because those are the same exact files then there's no problem to symlink the wayland plugins, rather, it's QCAD the one that should be using the Qt plugins from their original directory (`/usr/lib/qt`) instead.

[2] https://github.com/qcad/qcad/blob/v3.27.6.7/src/run/run.pri#L121
Comment by Ike Devolder (BlackEagle) - Monday, 01 August 2022, 06:21 GMT
Hi, could you check if it is now correctly working with qcad-3.27.6.7-2 ?
Comment by rainbow (rainbow) - Monday, 01 August 2022, 06:50 GMT
new installation here and qcad-3.27.6.7-2 doesn't fix the problem. Same error.
Comment by Ike Devolder (BlackEagle) - Monday, 01 August 2022, 07:03 GMT
ah sorry my bad, will fix in the evening, I see where I missed stuff, sorry
Comment by rainbow (rainbow) - Monday, 01 August 2022, 07:35 GMT
Don't worry. Thank you for your time!
Comment by Ike Devolder (BlackEagle) - Monday, 01 August 2022, 11:42 GMT
Hi again, does it now work as expected when installing qcad-3.27.6.7-3 ?
Comment by Ike Devolder (BlackEagle) - Monday, 01 August 2022, 11:43 GMT
I can't really test with wayland, for some reason it generates a lot of crashes on my hardware
Comment by rainbow (rainbow) - Monday, 01 August 2022, 12:09 GMT
it works fine now. thank you very much.

Loading...