Cameron Gutman
f743c23663
Fix PixelShaderMinPrecision bitfield comparison
2026-09-07 00:07:10 -05:00
Cameron Gutman
e9d77967a6
Replace Nvidia FL 11.1 check with driver version check
...
The bug is driver-specific rather than GPU-specific.
2026-09-06 22:53:24 -05:00
Cameron Gutman
31ce68f136
Log the GPU driver version in the D3D11VA renderer
2026-09-06 22:22:07 -05:00
Cameron Gutman
b86b5f71e3
Allow separate devices for Vega+ and block them for Fermi
...
Fermi is known broken, Kepler and Maxwell v1 may work but are currently untested
2026-09-06 16:12:52 -05:00
Cameron Gutman
09873287ca
Only use separate D3D11 devices on Intel and Nvidia
...
Preserve the texture array binding path on AMD FL11.1+, since it seems to work fine on Polaris with shared devices.
Fixes #2003
2026-09-06 15:21:11 -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
c045ae8986
Update to SDL 3.4.16
2026-09-05 00:21:22 -05:00
Cameron Gutman
da19fa73fa
Fix typo in vaMapBuffer2
2026-09-03 00:24:33 -05:00
Cameron Gutman
3516591b99
Fix bad APPDIR when running an extracted AppImage
2026-09-03 00:10:27 -05:00
Cameron Gutman
b1824e9dbb
Check for vaMapBuffers2 which is required by FFmpeg with libva 2.21+
2026-09-03 00:07:42 -05:00
Cameron Gutman
513ceca9ff
Disable everything except libva-x11 for AppImages
...
We don't build with DRM or Wayland support and libva-probe.c doesn't check libva-drm or libva-wayland.
2026-09-03 00:06:07 -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
0eff3b9b4d
Update CI builds to Qt 6.11.2
2026-08-30 16:35:32 -05:00
Cameron Gutman
1c8b23c7f8
Update dependencies
...
libplacebo -> 41ac298
OpenSSL -> 3.6.4
Vulkan SDK -> 1.4.357
2026-08-30 16:24:09 -05:00
Cameron Gutman
1da6ff434c
Update qmdnsengine submodule with latest upstream changes
...
Fixes #1983
2026-08-26 01:31:31 -05:00
Cameron Gutman
d2f6990be6
Send LI_CTYPE_STEAM for known Steam Controllers
2026-08-18 22:26: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
2e13ed9977
Update FFmpeg to fix 8-bit D3D11VA full range decoding
2026-08-06 22:23:30 -05:00
Cameron Gutman
7cf8b46c79
Pass the correct renderer to EGLImageFactory
...
We should be using the EGL renderer's colorspace and color range
rather than the backend renderer's for fallbacks. The former is
what actually gets passed to the host PC during stream init.
2026-08-06 00:29:53 -05:00
Cameron Gutman
c1623ff44e
Switch the default renderer color range to full
2026-08-05 23:56:18 -05:00
Cameron Gutman
b2f0828df8
Use requested color range as a fallback in isFrameFullRange()
2026-08-05 23:54:19 -05:00
Cameron Gutman
3f26217df7
Select color range based on plane COLOR_RANGE property values
2026-08-05 23:49:09 -05:00
Cameron Gutman
4570fba87d
Add full range handling to SdlRenderer
2026-08-05 23:44:11 -05:00
Cameron Gutman
a903c5cef2
Explicitly request limited range for renderers that require it
2026-08-05 23:25:30 -05:00
Cameron Gutman
2bea406f67
Guess frame color metadata if left unspecified
...
Some decoders don't populate metadata, but the renderer may need it
to determine which shader or EGL import parameters to use.
2026-08-05 22:56:34 -05:00
Cameron Gutman
fcba7df82c
Update Windows and macOS build requirements
2026-08-05 00:56:04 -05:00
Cameron Gutman
5ac254216c
Update LSMinimumSystemVersion to match Qt 6.10+ and our prebuilts
2026-08-05 00:54:52 -05:00
Cameron Gutman
131cb27095
Add NSBonjourServices entry to Info.plist
2026-08-05 00:24:45 -05:00
Cameron Gutman
b5d7f3b9f8
Update Windows, macOS, and AppImage dependencies
...
- SDL -> 3.4.14
- FFmpeg -> 9.0
- libplacebo -> 4d82c689
2026-08-04 23:12:04 -05:00
Cameron Gutman
546cb72e32
Update Windows, macOS, and AppImage dependencies
...
- SDL -> c9ad2963
- dav1d -> 1.5.4
- Detours rebuilt with EHCont
2026-07-27 00:48:37 -05:00
Cameron Gutman
7f7f2c26d0
Fix capturing mouse motion outside the window on sdl2-compat
2026-07-27 00:10:06 -05:00
Cameron Gutman
7794a42843
Fix C4146 warning on MSVC
2026-07-26 20:12:58 -05:00
Cameron Gutman
3aa111e825
Fix unused parameter warning on non-macOS platforms
2026-07-26 20:03:04 -05:00
Cameron Gutman
f8158e02fb
Update MSVC redistributable in the installer
2026-07-26 19:46:27 -05:00
Cameron Gutman
fba7c4119a
Validate that the SPS didn't change in debug builds
2026-07-26 19:39:34 -05:00
Cameron Gutman
3e24a7a1a5
Fix several bugs in h264bitstream
2026-07-26 19:23:34 -05:00
Cameron Gutman
acea86de24
Revert "Make h264bitstream dependency optional"
...
This reverts commit 2328713f4e .
2026-07-26 19:23:34 -05:00
Cameron Gutman
b7adc70ea4
Import minimal set of code from h264bitstream needed for SPS fixups
2026-07-26 19:23:34 -05:00
Cameron Gutman
2fc0d84aa0
Write the original H.264 SPS if it required no fixups
2026-07-26 18:33:28 -05:00
Cameron Gutman
490229be3f
Fix GEM handle leak in DRM renderer
...
Huge thanks to @oliverlj for identifying this longstanding bug.
This is likely responsible for many different issues with the DRM renderer randomly failing.
2026-07-26 15:22:15 -05:00
Cameron Gutman
b9650b6a72
Switch to our fork of h264bitstream
2026-07-26 13:33:04 -05:00
dependabot[bot]
17d5b1a80d
Bump moonlight-common-c/moonlight-common-c from 703a069 to e41355e
...
Bumps [moonlight-common-c/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c ) from `703a069` to `e41355e`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/703a06946861ff82cd33e5e13c59c1b017f7ded9...e41355ea01670fd4c830b384009d31dd0339a705 )
---
updated-dependencies:
- dependency-name: moonlight-common-c/moonlight-common-c
dependency-version: e41355ea01670fd4c830b384009d31dd0339a705
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-22 22:09:05 -05:00
Cameron Gutman
2328713f4e
Make h264bitstream dependency optional
2026-07-19 14:11:27 -05:00
dependabot[bot]
1d1fe1aac3
Bump moonlight-common-c/moonlight-common-c from 2ea4775 to 703a069
...
Bumps [moonlight-common-c/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c ) from `2ea4775` to `703a069`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/2ea47752c3051d72a64bcca190024e8b354fa1ef...703a06946861ff82cd33e5e13c59c1b017f7ded9 )
---
updated-dependencies:
- dependency-name: moonlight-common-c/moonlight-common-c
dependency-version: 703a06946861ff82cd33e5e13c59c1b017f7ded9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-18 18:28:29 -05:00
Daniel Dunderfelt
191cd32bb7
Fix crash when skipping oversized displays
2026-07-18 18:28:19 -05:00
Cameron Gutman
2a1749e231
Add workaround for gamescope#2261
...
Fixes #1925
2026-07-18 18:19:35 -05:00
dependabot[bot]
30114588f6
Bump app/SDL_GameControllerDB from 1fc89ca to 8d9fefd
...
Bumps [app/SDL_GameControllerDB](https://github.com/gabomdq/SDL_GameControllerDB ) from `1fc89ca` to `8d9fefd`.
- [Commits](https://github.com/gabomdq/SDL_GameControllerDB/compare/1fc89ca5787f4b8279e6c793cf3007657d9bb35c...8d9fefd7b810f2541f78cc7a8ccbd185bc84c7a5 )
---
updated-dependencies:
- dependency-name: app/SDL_GameControllerDB
dependency-version: 8d9fefd7b810f2541f78cc7a8ccbd185bc84c7a5
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-18 18:17:45 -05:00
Cameron Gutman
4453e4aef1
Add a renderer selection option for macOS
...
There are numerous conflicting reports about which Mac renderer works best (even on the same systems!). I give up, just let the users figure it out.
2026-07-18 16:38:40 -05:00