fix(linux): migrate to qt tray (#4907)

Co-authored-by: Kishi <41839133+Kishi85@users.noreply.github.com>
This commit is contained in:
David Lane
2026-05-24 22:21:24 -04:00
committed by GitHub
parent 0bc26a3f17
commit dbce229174
22 changed files with 206 additions and 119 deletions
+2 -1
View File
@@ -31,7 +31,6 @@ fi
depends=(
'avahi'
'curl'
'libayatana-appindicator'
'libcap'
'libdrm'
'libevdev'
@@ -49,6 +48,8 @@ depends=(
'numactl'
'openssl'
'opus'
'qt6-base'
'qt6-svg'
'udev'
'vulkan-icd-loader'
'which'
+20 -6
View File
@@ -30,7 +30,7 @@ BuildRequires: libcap-devel
BuildRequires: libcurl-devel
BuildRequires: libdrm-devel
BuildRequires: libevdev-devel
BuildRequires: libnotify-devel
BuildRequires: libnotify-devel >= 0.8.0
BuildRequires: libva-devel
BuildRequires: libX11-devel
BuildRequires: libxcb-devel
@@ -58,7 +58,6 @@ BuildRequires: vulkan-loader-devel
# needed for npm from nvm
BuildRequires: libatomic
%endif
BuildRequires: libayatana-appindicator3-devel
BuildRequires: libgudev
BuildRequires: mesa-libGL-devel
BuildRequires: mesa-libgbm-devel
@@ -71,6 +70,8 @@ BuildRequires: opus-devel
BuildRequires: pulseaudio-libs-devel
BuildRequires: python3-jinja2
BuildRequires: python3-setuptools
BuildRequires: qt6-qtbase-devel
BuildRequires: qt6-qtsvg-devel
BuildRequires: systemd-udev
%{?sysusers_requires_compat}
# for unit tests
@@ -81,7 +82,6 @@ BuildRequires: xorg-x11-server-Xvfb
# OpenSUSE-specific BuildRequires
BuildRequires: AppStream
BuildRequires: appstream-glib
BuildRequires: libappindicator3-devel
BuildRequires: libgudev-1_0-devel
BuildRequires: Mesa-libGL-devel
BuildRequires: libgbm-devel
@@ -132,6 +132,9 @@ BuildRequires: gcc15-c++
# OpenSUSE Leap 15.x
BuildRequires: gcc14
BuildRequires: gcc14-c++
# OpenSUSE Leap: Qt6 not in standard repos, use Qt5
BuildRequires: libqt5-qtbase-devel
BuildRequires: libqt5-qtsvg-devel
%global gcc_version 14
%global cuda_version 12.9.1
%global cuda_build 575.57.08
@@ -139,6 +142,8 @@ BuildRequires: gcc14-c++
# OpenSUSE Tumbleweed
BuildRequires: gcc14
BuildRequires: gcc14-c++
BuildRequires: libqt6-qtbase-devel
BuildRequires: libqt6-qtsvg-devel
%global gcc_version 14
%global cuda_version 12.9.1
%global cuda_build 575.57.08
@@ -148,12 +153,12 @@ BuildRequires: gcc14-c++
%global cuda_dir %{_builddir}/cuda
# Common runtime requirements
Requires: libnotify >= 0.8.0
Requires: miniupnpc >= 2.2.4
Requires: which >= 2.21
%if 0%{?fedora}
# Fedora runtime requirements
Requires: libayatana-appindicator3 >= 0.5.3
Requires: libcap >= 2.22
Requires: libcurl >= 7.0
Requires: libdrm > 2.4.97
@@ -165,12 +170,13 @@ Requires: libX11 >= 1.7.3.1
Requires: numactl-libs >= 2.0.14
Requires: openssl >= 3.0.2
Requires: pulseaudio-libs >= 10.0
Requires: qt6-qtbase
Requires: qt6-qtsvg
Requires: vulkan-loader
%endif
%if 0%{?suse_version}
# OpenSUSE runtime requirements
Requires: libappindicator3-1
Requires: libcap2
Requires: libcurl4
Requires: libdrm2
@@ -185,6 +191,15 @@ Requires: libpulse0
%if !0%{?sle_version}
Requires: libvulkan1
%endif
%if 0%{?suse_version} <= 1699
# OpenSUSE Leap: built with Qt5
Requires: libQt5Svg5
Requires: libQt5Widgets5
%else
# OpenSUSE Tumbleweed: built with Qt6
Requires: libQt6Svg6
Requires: libQt6Widgets6
%endif
%endif
%description
@@ -421,7 +436,6 @@ fi
# Icons
%{_datadir}/icons/hicolor/scalable/apps/*.Sunshine.svg
%{_datadir}/icons/hicolor/scalable/status/*.Sunshine-*.svg
# Metainfo
%{_datadir}/metainfo/*.metainfo.xml
@@ -1,10 +1,14 @@
---
app-id: "@PROJECT_FQDN@"
runtime: org.freedesktop.Platform
runtime-version: "24.08"
sdk: org.freedesktop.Sdk
sdk-extensions:
- org.freedesktop.Sdk.Extension.node20
runtime: org.kde.Platform
runtime-version: "6.10"
sdk: org.kde.Sdk
add-build-extensions:
org.freedesktop.Sdk.Extension.node20:
directory: lib/sdk/node20
version: "25.08"
no-autodownload: true
autodelete: false
command: sunshine
separate-locales: false
finish-args:
@@ -37,7 +41,6 @@ modules:
- "modules/nlohmann_json.json"
# Runtime dependencies
- shared-modules/libayatana-appindicator/libayatana-appindicator-gtk3.json
- "modules/avahi.json"
- "modules/boost.json"
- "modules/libevdev.json"
@@ -79,13 +82,13 @@ modules:
- -DGLAD_SKIP_PIP_INSTALL=ON
- -DSUNSHINE_ASSETS_DIR=share/sunshine
- -DSUNSHINE_BUILD_FLATPAK=ON
- -DSUNSHINE_EXECUTABLE_PATH=/app/bin/sunshine
- -DSUNSHINE_ENABLE_CUDA=ON
- -DSUNSHINE_ENABLE_DRM=ON
- -DSUNSHINE_ENABLE_KWIN=ON
- -DSUNSHINE_ENABLE_PORTAL=ON
- -DSUNSHINE_ENABLE_WAYLAND=ON
- -DSUNSHINE_ENABLE_X11=ON
- -DSUNSHINE_EXECUTABLE_PATH=/app/bin/sunshine
- -DSUNSHINE_PUBLISHER_NAME='LizardByte'
- -DSUNSHINE_PUBLISHER_WEBSITE='https://app.lizardbyte.dev'
- -DSUNSHINE_PUBLISHER_ISSUE_URL='https://app.lizardbyte.dev/support'
+31 -7
View File
@@ -1,7 +1,8 @@
{
"name": "cuda",
"build-options": {
"no_debuginfo": true
"no_debuginfo": true,
"prepend-ld-library-path": "/app/lib:/app/lib64"
},
"buildsystem": "simple",
"cleanup": [
@@ -9,18 +10,41 @@
],
"build-commands": [
"chmod u+x ./cuda.run",
"./cuda.run --silent --toolkit --toolkitpath=$FLATPAK_DEST/cuda --no-opengl-libs --no-man-page --no-drm --tmpdir=$FLATPAK_BUILDER_BUILDDIR",
"rm -r $FLATPAK_DEST/cuda/nsight-systems-*",
"./cuda.run --silent --toolkit --toolkitpath=$FLATPAK_DEST/cuda --no-opengl-libs --no-man-page --no-drm --tmpdir=$FLATPAK_BUILDER_BUILDDIR || { echo '=== cuda-installer.log ==='; cat /tmp/cuda-installer.log 2>/dev/null; true; }",
"test -f $FLATPAK_DEST/cuda/bin/nvcc",
"rm -rf $FLATPAK_DEST/cuda/nsight-systems-*",
"rm ./cuda.run"
],
"modules": [
{
"name": "libxml2",
"config-opts": [
"--without-python",
"--without-debug",
"--without-history"
],
"cleanup": [
"/share",
"/include",
"/bin"
],
"sources": [
{
"type": "archive",
"url": "https://download.gnome.org/sources/libxml2/2.13/libxml2-2.13.9.tar.xz",
"sha256": "a2c9ae7b770da34860050c309f903221c67830c86e4a7e760692b803df95143a"
}
]
}
],
"sources": [
{
"type": "file",
"only-arches": [
"x86_64"
],
"url": "https://developer.download.nvidia.com/compute/cuda/12.9.1/local_installers/cuda_12.9.1_575.57.08_linux.run",
"sha256": "0f6d806ddd87230d2adbe8a6006a9d20144fdbda9de2d6acc677daa5d036417a",
"url": "https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda_13.2.0_595.45.04_linux.run",
"sha256": "c599b651582c8f345ebde7bcf089b7dcfcd8afd7d3ea7f50525698c563a239d7",
"dest-filename": "cuda.run"
},
{
@@ -28,8 +52,8 @@
"only-arches": [
"aarch64"
],
"url": "https://developer.download.nvidia.com/compute/cuda/12.9.1/local_installers/cuda_12.9.1_575.57.08_linux_sbsa.run",
"sha256": "64f47ab791a76b6889702425e0755385f5fa216c5a9f061875c7deed5f08cdb6",
"url": "https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda_13.2.0_595.45.04_linux_sbsa.run",
"sha256": "9684ebc64988f71ef1c70846cc9d158fb27950c1355bf37c8795c346346b6a72",
"dest-filename": "cuda.run"
}
]
@@ -99,6 +99,9 @@
},
{
"name": "libtirpc",
"build-options": {
"cflags": "-std=gnu17"
},
"config-opts": [
"--disable-gssapi"
],