mirror of
https://github.com/moonlight-stream/moonlight-qt.git
synced 2026-05-19 16:10:35 +00:00
Add Wayland and EGLFS support to AppImage
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user