Commit Graph
140 Commits
Author SHA1 Message Date
Cameron Gutman b7e0deb168 Don't require SIGNTOOL_PARAMS to contain the 'sign' command 2026-10-03 18:37:39 -05:00
Cameron Gutman afcd08ccbc Require SIGNTOOL_PARAMS to be set externally 2026-10-03 18:30:08 -05:00
Cameron Gutman 54f8fed51d Don't try fallback driver paths with the host libva 2026-09-05 14:30:28 -05:00
Cameron Gutman 3516591b99 Fix bad APPDIR when running an extracted AppImage 2026-09-03 00:10:27 -05:00
luanweslley77 526bde5586 Stop bundling libva in the AppImage so VAAPI works on modern hosts
The AppImage bundles libva from the build environment (Ubuntu 22.04,
VA-API 1.20). VA-API driver modules (e.g. Mesa's radeonsi_drv_video.so)
are dlopen()ed by libva and export an entrypoint named after the libva
minor version they were built against (e.g. __vaDriverInit_1_23). An
older libva cannot load newer drivers, so on any host more recent than
the build container va_openDriver() fails:

    Trying .../radeonsi_drv_video.so
    libva error: has no function __vaDriverInit_1_0
    va_openDriver() returns -1

and Moonlight silently falls back to software decoding (reproduced on
Fedora 44 / Mesa 26.1 / RX 6500 XT; overriding the bundled libva with
LD_PRELOAD of the host libva immediately yields HW decode). Refreshing
the bundled libva at each release only postpones the breakage: the host
drivers always eventually outrun it (see #1398).

Exclude libva and its backends from linuxdeploy so Moonlight and the
bundled FFmpeg resolve them through the loader's normal search path and
pick up the host libva, which the distro's package manager keeps in step
with the host drivers. This mirrors how Mesa/GL/EGL are already
host-provided.

Hosts without a usable libva (e.g. bare NVIDIA systems) must still not
fail to launch, since libva.so.2 is a direct DT_NEEDED of Moonlight and
the bundled FFmpeg. Stage the build-environment libva in
opt/libva-fallback (outside every loader search path) together with
libva-probe, a tiny program whose only job is to carry the same
DT_NEEDED entries and VA_API_* versioned symbol references as the
binaries shipped in the AppImage. The generated AppRun runs the probe
first: if the dynamic loader can start it against the host, the host
libva is used (probe passing is, by construction, exactly Moonlight
being loadable); if not, it prepends the fallback directory and launches
with the bundled libva, matching pre-existing behavior. The build script
verifies that the probe references every version node required by the
shipped binaries, so the two cannot silently drift apart.
2026-09-02 23:45:07 -05:00
Cameron Gutman 256022d3d6 Quiet the 'where' invocations in build-arch.bat 2026-08-14 23:24:53 -05:00
Cameron Gutman da3312347d Remove checked-in vswhere.exe binary 2026-08-14 23:23:57 -05:00
Cameron Gutman 6cae32bf53 Remove checked-in jom.exe binary 2026-08-14 23:16:00 -05:00
Cameron Gutman e6da6fa11f Enable LTO for AppImage builds 2026-05-26 21:55:58 -05:00
Cameron Gutman 81f20cdb66 Move LTCG/LTO enablement into the build scripts 2026-05-26 21:46:58 -05:00
Cameron Gutman c21affd15a Switch to linuxdeploy for AppImages 2026-05-10 16:56:34 -05:00
Cameron Gutman 453435f916 Switch to downloading prebuilt release artifacts instead of a submodule 2026-05-03 21:04:06 -05:00
Cameron Gutman 4c14a24960 Change nightly builds to use the non-portable profile by default
Fixes #1790
2026-02-07 17:26:23 -06:00
Cameron Gutman e3702dbab7 Don't deploy icuuc.dll into the application folder 2026-02-07 16:46:12 -06:00
Cameron Gutman 179857f17d Remove more unused Qt 6 styles 2026-01-31 17:12:29 -06:00
Cameron Gutman d878447413 Fix Windows ARM64 builds on x64 on Qt 6.10.1+ 2026-01-31 17:11:56 -06:00
Cameron Gutman 9813932c1b Switch to SDL3+SDL2-compat 2026-01-30 19:44:29 -06:00
Cameron Gutman e1bbf8144e Switch AppImage to SDL3+SDL2-compat 2026-01-27 22:22:20 -06:00
Cameron Gutman bc5e9917cd Fix PS script for compatibility with KB5074596 2025-12-10 21:46:44 -06:00
Cameron Gutman f0aff0b0fb Update VCRedist for VS 2026 2025-11-20 00:02:05 -06:00
Cameron Gutman c13e6b08c1 Remove unused AppVeyor CI files 2025-10-26 21:55:58 -05:00
Cameron Gutman 68aa04926e Switch to GitHub Actions for Windows and macOS builds 2025-10-26 15:09:57 -05:00
Cameron Gutman b4dc7ca7cb Build AppImage with Qt 6 2025-10-20 20:51:51 -05:00
Cameron Gutman e6e91ca88b Disable CUDA by default in favor of Vulkan and VDPAU
All of our official releases (Flatpak and AppImage) already do this, so this just makes it official.

This can be overridden by running qmake with CONFIG+=enable-cuda.
2025-10-19 21:24:29 -05:00
Cameron Gutman 749c69fc76 Build Windows against Qt 6.9 in CI 2025-10-10 00:41:48 -05:00
Cameron Gutman edd7a134d8 Fix MSVC binary path in CI for Qt 6.8 2025-01-13 20:11:06 -06:00
Cameron Gutman 153db55519 Replace OpenSSL static libs with dylibs to enable Qt OpenSSL TLS plugin
SecureTransport is deprecated, stuck on TLS 1.2, and seems prone to
random breakage in OS updates (see #1355).
2024-08-29 23:28:08 -05:00
Cameron Gutman ef12850867 Remove unnecessary Windows dependencies 2024-08-29 01:22:41 -05:00
Cameron Gutman 5765c254cd Add software fallback for YUV444 using libswscale 2024-08-19 19:20:17 -05:00
Cameron Gutman 3580286807 Update prebuilt libraries
SDL2 -> 3b7eafe
dav1d -> 1.4.3
openssl -> 3.3.1
libplacebo -> 7.349.0
libva -> 2.22.0
2024-07-13 17:27:03 -05:00
Cameron Gutman de30eeaa66 Fix CI build errors 2024-07-13 13:53:43 -05:00
Cameron Gutman fe9282e7d9 Update Windows to Qt 6.7 and remove 32-bit support 2024-07-13 13:23:14 -05:00
Cameron Gutman d184730a82 Switch over to the new code signing certificate 2024-06-29 17:02:33 -05:00
Cameron Gutman 3aaa09bb7d Disable CUDA/NVDEC in AppImage builds
These are only really useful for Wayland scenarios, but:
- Wayland is explicitly disabled for AppImage due to EGL issues
- VDPAU now works under XWayland with 545 and later drivers
- Moonlight now has a Vulkan Video backend which works with 535 and later drivers

Fixes #1314
2024-06-19 10:29:03 -05:00
Cameron Gutman 9bdd17f1c3 Properly clean libavformat files with clean-libs.sh 2024-06-01 16:25:46 -05:00
Cameron Gutman ed68f920f1 Avoid polluting source tree with NuGet cache files during WiX build 2024-05-11 15:08:30 -05:00
Cameron Gutman 289a7165b3 Remove dSYM files from macOS app bundle
macdeployqt incorrectly copies these if they are installed, which bloats the final DMG significantly.

See https://bugreports.qt.io/browse/QTBUG-56590
2024-02-17 14:19:05 -06:00
Cameron Gutman b1c8005d1a Disable libdrm in AppImage build 2023-11-01 21:44:44 -05:00
Cameron Gutman 7ea118fbae Fix dark mode on Windows with Qt 6.5+ 2023-11-01 20:30:34 -05:00
Cameron Gutman 6f710faa8e Fix EGL loading in the AppImage 2023-10-05 23:05:07 -05:00
Cameron Gutman 85b5845ebb Switch to Qt 6.5 for Windows ARM64 build 2023-09-10 18:43:51 -05:00
Cameron Gutman 6f4db913aa Update jom and vswhere
jom -> 1.1.4
vswhere -> 3.1.7
2023-09-10 16:55:19 -05:00
Cameron Gutman acddc3cabd Fix ARM64 builds in AppVeyor
We have to replace some files that were built with incorrect paths
2023-09-10 16:32:42 -05:00
Cameron Gutman a16647f16c Always include ARM64 in the installer bundle 2023-09-10 15:16:02 -05:00
Cameron Gutman c9992201ce Support building with Qt 6's official ARM64 SDK binaries 2023-09-10 15:06:42 -05:00
Cameron Gutman 80062d262e Remove manual qmlcachegen invocation for internal Qt QML files
It's not safe to always assume we can always precompile everything.
Instead set QML_CACHE_DIR to ensure the files go to our desired location.
2023-09-10 15:03:53 -05:00
Cameron Gutman 333f978186 Add dav1d software AV1 decoder to FFmpeg libraries 2023-07-16 16:41:55 -05:00
Cameron Gutman a4d9952061 Migrate from altool to notarytool for notarization 2023-07-14 21:44:14 -05:00
Cameron Gutman 34ba9063ad Move installer signing into MSBuild 2023-07-14 20:31:32 -05:00
Cameron Gutman d5e2d59fe9 Fixes for WiX v4 migration 2023-07-14 20:05:49 -05:00