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 -
|
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 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 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 \
|
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 \
|
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 \
|
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
|
- name: Build SDL3
|
||||||
working-directory: deps/SDL
|
working-directory: deps/SDL
|
||||||
run: |
|
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
|
cmake --build build -j
|
||||||
sudo cmake --install build
|
sudo cmake --install build
|
||||||
|
|
||||||
|
|||||||
@@ -34,14 +34,7 @@ mkdir $INSTALLER_FOLDER
|
|||||||
|
|
||||||
echo Configuring the project
|
echo Configuring the project
|
||||||
pushd $BUILD_FOLDER
|
pushd $BUILD_FOLDER
|
||||||
# Building with Wayland support will cause linuxdeploy to include libwayland-client.so in the AppImage.
|
qmake6 $SOURCE_ROOT/moonlight-qt.pro PREFIX=$DEPLOY_FOLDER/usr DEFINES+=APP_IMAGE || fail "Qmake failed!"
|
||||||
# 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!"
|
|
||||||
popd
|
popd
|
||||||
|
|
||||||
echo Compiling Moonlight in $BUILD_CONFIG configuration
|
echo Compiling Moonlight in $BUILD_CONFIG configuration
|
||||||
@@ -56,6 +49,8 @@ popd
|
|||||||
|
|
||||||
export QML_SOURCES_PATHS=$SOURCE_ROOT/app/gui
|
export QML_SOURCES_PATHS=$SOURCE_ROOT/app/gui
|
||||||
export QMAKE=qmake6
|
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
|
echo Creating AppImage
|
||||||
pushd $INSTALLER_FOLDER
|
pushd $INSTALLER_FOLDER
|
||||||
|
|||||||
Reference in New Issue
Block a user