From 14e0e5520ef27ebe18f252061148b7451127f4cd Mon Sep 17 00:00:00 2001 From: Nova Date: Wed, 16 Apr 2025 13:50:55 +0330 Subject: [PATCH] Enable wayland support --- .github/workflows/build.yml | 2 +- script/deploy_linux64.sh | 7 ++++++- src/main.cpp | 6 ------ 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index beaabf4..56174da 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -141,7 +141,7 @@ jobs: shell: bash if: matrix.platform == 'ubuntu-22.04' run: | - sudo apt --fix-broken update && sudo apt upgrade -y + sudo apt update && sudo apt upgrade -y mkdir build cd build cmake -GNinja -DQT_VERSION_MAJOR=6 -DCMAKE_BUILD_TYPE=Release .. diff --git a/script/deploy_linux64.sh b/script/deploy_linux64.sh index c32db8a..f75f95e 100755 --- a/script/deploy_linux64.sh +++ b/script/deploy_linux64.sh @@ -32,7 +32,8 @@ wget https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-202401 wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/1-alpha-20240109-1/linuxdeploy-plugin-qt-x86_64.AppImage chmod +x linuxdeploy-x86_64.AppImage linuxdeploy-plugin-qt-x86_64.AppImage -export EXTRA_QT_PLUGINS="iconengines;" +export EXTRA_QT_PLUGINS="iconengines;wayland-shell-integration;wayland-decoration-client;" +export EXTRA_PLATFORM_PLUGINS="libqwayland-generic.so;" ./linuxdeploy-x86_64.AppImage --appdir $DEST --executable $DEST/nekoray --plugin qt rm linuxdeploy-x86_64.AppImage linuxdeploy-plugin-qt-x86_64.AppImage cd $DEST @@ -43,11 +44,15 @@ rm -r ./usr/plugins mkdir ./usr/plugins mkdir ./usr/plugins/platforms cp $QT_PLUGIN_PATH/platforms/libqxcb.so ./usr/plugins/platforms +cp $QT_PLUGIN_PATH/platforms/libqwayland-generic.so ./usr/plugins/platforms cp -r $QT_PLUGIN_PATH/platformthemes ./usr/plugins cp -r $QT_PLUGIN_PATH/imageformats ./usr/plugins cp -r $QT_PLUGIN_PATH/iconengines ./usr/plugins +cp -r $QT_PLUGIN_PATH/wayland-shell-integration ./usr/plugins +cp -r $QT_PLUGIN_PATH/wayland-decoration-client ./usr/plugins cp -r $QT_PLUGIN_PATH/tls ./usr/plugins patchelf --set-rpath '$ORIGIN/../../lib' ./usr/plugins/platforms/libqxcb.so +patchelf --set-rpath '$ORIGIN/../../lib' ./usr/plugins/platforms/libqwayland-generic.so patchelf --set-rpath '$ORIGIN/../../lib' ./usr/plugins/platformthemes/libqgtk3.so patchelf --set-rpath '$ORIGIN/../../lib' ./usr/plugins/platformthemes/libqxdgdesktopportal.so diff --git a/src/main.cpp b/src/main.cpp index cae2f74..5452cfd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -63,12 +63,6 @@ int main(int argc, char* argv[]) { #ifdef Q_OS_WIN Windows_SetCrashHandler(); #endif -#ifdef Q_OS_LINUX - DesktopInfo info; - if (info.waylandDetected()) { - qputenv("QT_QPA_PLATFORM", "xcb"); - } -#endif QApplication::setAttribute(Qt::AA_DontUseNativeDialogs); QApplication::setQuitOnLastWindowClosed(false);