Make XCB and Wayland surface detection and initialization smarter.
This patch set checks for valid Wayland and XCB pointers before creating the surfaces to determine if the surface back end is working at runtime. This behaviour fixes #93 .
Furthermore the qmake build is updated so all available surface implementations are set to enabled. The current default is none, which leads to a crash. This fixes #108 .
I tested this on Arch Linux using GNOME Shell under both Wayland and X11. I get a XCB surface under X11 and a Wayland one under Wayland, as intended. The build only enables Wayland if qt5-wayland is installed, as intended.
The CI fails not because of me, but because of the curl ftp upload. You probably shouldn't try to upload packages for every CI job in every merge request. Also macOS is broken.
I also fixed the Wayland CI, before the libwayland-dev package was not installed, so the header was missing.
Also with this patch set you can use the same AppImage on Wayland and X11.
Thanks for the PR. This is very much appreciated. Will try to merge this in the coming days.
I'm also aware of the CI setup issue. I'll try to fix that asap.
@lubosz: Any updates on the comments from @Krenodeno? I'd like to merge this, but only if it doesn't break for current users.
Closing due to inactivity. If this is something that still needs to be fixed, feel free to create a new PR.