diff --git a/.github/workflows/build-appimage.yml b/.github/workflows/build-appimage.yml index 2228a768..9ceea0ac 100644 --- a/.github/workflows/build-appimage.yml +++ b/.github/workflows/build-appimage.yml @@ -28,7 +28,7 @@ jobs: wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add - sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.4.313-jammy.list https://packages.lunarg.com/vulkan/1.4.313/lunarg-vulkan-1.4.313-jammy.list sudo apt update - sudo apt install -y qt6-base-dev qt6-declarative-dev libqt6svg6-dev qml6-module-qtquick-controls qml6-module-qtquick-templates qml6-module-qtquick-layouts \ + sudo apt install -y qt6-base-dev qt6-declarative-dev libqt6svg6-dev qt6-wayland qml6-module-qtquick-controls qml6-module-qtquick-templates qml6-module-qtquick-layouts \ qml6-module-qtqml-workerscript qml6-module-qtquick-window qml6-module-qtquick python3-pip nasm libgbm-dev libdrm-dev libfreetype-dev libasound2-dev \ libdbus-1-dev libegl1-mesa-dev libgl1-mesa-dev libgles2-mesa-dev libglu1-mesa-dev libibus-1.0-dev libpulse-dev libudev-dev libx11-dev libxcursor-dev \ libxext-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxss-dev libxt-dev libxv-dev libxxf86vm-dev libxcb-dri3-dev libx11-xcb-dev \ @@ -48,7 +48,7 @@ jobs: - name: Build SDL3 working-directory: deps/SDL run: | - cmake -DSDL_KMSDRM=OFF -DSDL_TEST_LIBRARY=OFF -DSDL_INSTALL_DOCS=OFF -S . -B build + cmake -DSDL_TEST_LIBRARY=OFF -DSDL_INSTALL_DOCS=OFF -S . -B build cmake --build build -j sudo cmake --install build diff --git a/scripts/build-appimage.sh b/scripts/build-appimage.sh index e959c555..c6eee5de 100755 --- a/scripts/build-appimage.sh +++ b/scripts/build-appimage.sh @@ -34,14 +34,7 @@ mkdir $INSTALLER_FOLDER echo Configuring the project pushd $BUILD_FOLDER -# Building with Wayland support will cause linuxdeploy to include libwayland-client.so in the AppImage. -# Since we always use the host implementation of EGL, this can cause libEGL_mesa.so to fail to load due -# to missing symbols from the host's version of libwayland-client.so that aren't present in the older -# version of libwayland-client.so from our AppImage build environment. When this happens, EGL fails to -# work even in X11. To avoid this, we will disable Wayland support for the AppImage. -# -# We disable DRM support because linuxdeploy doesn't bundle the appropriate libraries for Qt EGLFS. -qmake6 $SOURCE_ROOT/moonlight-qt.pro CONFIG+=disable-wayland CONFIG+=disable-libdrm PREFIX=$DEPLOY_FOLDER/usr DEFINES+=APP_IMAGE || fail "Qmake failed!" +qmake6 $SOURCE_ROOT/moonlight-qt.pro PREFIX=$DEPLOY_FOLDER/usr DEFINES+=APP_IMAGE || fail "Qmake failed!" popd echo Compiling Moonlight in $BUILD_CONFIG configuration @@ -56,6 +49,8 @@ popd export QML_SOURCES_PATHS=$SOURCE_ROOT/app/gui export QMAKE=qmake6 +export EXTRA_QT_MODULES="waylandclient;eglfsdeviceintegration;eglfskmssupport" +export EXTRA_PLATFORM_PLUGINS="libqwayland-egl.so;libqwayland-generic.so;libqeglfs.so;libqlinuxfb.so" echo Creating AppImage pushd $INSTALLER_FOLDER