Cameron Gutman
96a211be11
Update Windows and macOS CI builds to Qt 6.11.1
2026-05-13 23:31:14 -05:00
Cameron Gutman
4cf498b09d
Use queued audio duration instead of queued frame count to constrain latency
...
This avoids latency explosion when we negotiate 10 ms instead of 5 ms audio packets.
2026-05-10 21:53:09 -05:00
Cameron Gutman
c21affd15a
Switch to linuxdeploy for AppImages
2026-05-10 16:56:34 -05:00
Cameron Gutman
9d6218d1ff
Don't capture the cursor by default in windowed mode
...
Closes #1872
2026-05-09 13:11:45 -05:00
Cameron Gutman
8cc3b30642
Update Windows, macOS, and AppImage dependencies
2026-05-03 22:36:08 -05:00
Cameron Gutman
d77e2cc913
Update upload-artifact for Node.js 24
2026-05-03 21:06:42 -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
f222aa7985
Use aspect ratio preserving scaling for slow GPUs on non-KDE desktops
2026-04-26 23:15:02 -05:00
Cameron Gutman
5faa5fece8
Don't manually override v4l2m2m buffer counts
...
This causes POLLERR when decoding from meson-vdec on the Libre
Computer Alta (and likely other Amlogic boards). Our requried buffer
counts were already lower than the default 16/20 configuration that
FFmpeg uses, so overriding them was just a memory usage optimization.
2026-04-20 00:25:21 -05:00
Cameron Gutman
51f86caac3
Fix assert on exit using KMSDRM on AMDGPU
...
AMDGPU disallows commits that would leave a CRTC active without
the primary plane enabled. Instead of disabling the primary plane,
simply restore the original state of the plane to avoid this.
2026-04-19 23:17:28 -05:00
Cameron Gutman
5d813ed3df
Fix clamping of signed range properties
2026-04-19 22:17:37 -05:00
Cameron Gutman
d17575d47c
Fix deadlock in Vulkan renderer using KMSDRM on AMDGPU
2026-04-19 21:16:45 -05:00
Cameron Gutman
0e50a9d457
Only enable D3D11/DXGI debug layer if Graphics Tools are installed
...
Closes #1857
2026-04-13 20:06:24 -05:00
Cameron Gutman
ed029f194f
Propagate CFLAGS/CXXFLAGS/LDFLAGS environment variables to QMake
...
Closes #1602
2026-04-12 15:51:42 -05:00
Cameron Gutman
569153220a
Enable Brazilian Portuguese now that it is fully translated
2026-04-12 15:27:38 -05:00
Cameron Gutman
e0367d05ae
Rerun lupdate and lrelease
2026-04-12 15:21:18 -05:00
Cameron Gutman
53e0c2534d
Merge remote-tracking branch 'origin/weblate'
2026-04-12 15:19:45 -05:00
Cameron Gutman
a766c9cafc
Disable texture sharing on Qualcomm GPUs
...
See #1857
2026-04-11 20:14:14 -05:00
Cameron Gutman
c685021f21
Update SDL3, dav1d, FFmpeg, and OpenSSL
...
SDL3 -> 3.4.4 (Windows only)
dav1d -> 1.5.3
FFmpeg -> 8.1
OpenSSL -> 3.6.2
Fixes #1394
2026-04-10 20:58:23 -05:00
Cameron Gutman
af03f57e08
Fix Vulkan decoder probing on Nvidia using KMSDRM
2026-04-09 22:11:08 -05:00
Cameron Gutman
1fc1122c65
Consolidate test window creation code
2026-04-09 21:43:35 -05:00
Cameron Gutman
94d47e95fe
Fix non-determinism during Vulkan decoder probing on KMSDRM
2026-04-09 21:37:25 -05:00
Cameron Gutman
2160f029d2
Bump aqtinstall to a later commit to pick up Qt 6.11 deployment fix
2026-04-08 21:39:37 -05:00
Cameron Gutman
1ec1a3d7ad
Move ifdef guards to fix unused variable warning
2026-04-08 21:26:33 -05:00
Cameron Gutman
eb3d8ad92c
Update Windows and macOS to Qt 6.11.0
2026-04-08 20:54:36 -05:00
Cameron Gutman
07b00a6987
Update to WiX v7
2026-04-08 20:49:46 -05:00
Cameron Gutman
4ec682dc72
Remove errant assert to fix software decoding on Xe
2026-04-06 21:12:00 -05:00
Cameron Gutman
a9a1ea0a0b
Update AppImage dependencies
2026-04-06 20:04:05 -05:00
Cameron Gutman
c8d18f8a8e
Bring back DRM atomic test commit using new DRM master lock
...
The DRM master lock avoids race conditions between Qt taking master
to draw the GUI and the DRM renderer performing a test commit.
2026-04-06 19:25:03 -05:00
Cameron Gutman
9c11dca454
Move DRM master state cleanup into cleanupRenderContext()
2026-04-06 19:24:04 -05:00
Cameron Gutman
9496c25271
Add a lock to synchronize DRM master ownership between Qt and SDL
2026-04-04 14:47:57 -05:00
Cameron Gutman
6ff3309677
Don't warn about KMSDRM atomic on unsupported platforms
2026-04-04 14:24:35 -05:00
Cameron Gutman
e4c211b987
Automatically set SDL_KMSDRM_ATOMIC=0 on older SDL3 versions
...
Fixes #1824
2026-04-04 14:13:21 -05:00
Cameron Gutman
78bc2141f6
Fix getSdlFdEntryIndex() for FD 0
2026-04-02 21:20:33 -05:00
Cameron Gutman
effac744c7
Fix handling close(0) in our DRM master hooks
...
Prior to this fix, we would become out of sync and fail to promote
Qt and SDL FDs to master when required, causing Qt's mouse to
disappear and the SDL video subsystem to fail initialization when
trying to stream.
2026-04-02 21:01:46 -05:00
Cameron Gutman
5676a076fd
Fix overlay plane selection on drivers without zpos properties
2026-04-01 22:37:12 -05:00
Cameron Gutman
b6407492c7
Move refreshDisplay() after test window creation
...
SDL invalidates cached display modes after a window creation, so this avoids paying a second mode enumeration cost when the user enters the settings page.
2026-03-28 22:01:15 -05:00
Cameron Gutman
91ce7a41e5
Cache the result of SDL_GetNumDisplayModes()
...
It's not free when using SDL2-compat.
2026-03-28 21:57:51 -05:00
Cameron Gutman
89c8462e9e
Leave the video subsystem initialized on Windows
...
It significantly reduces settings page load latency.
2026-03-28 20:46:03 -05:00
Cameron Gutman
53a7680a38
Fix incorrect autoselection of SW AV1 over HW H.264 for SDR content
2026-03-28 20:19:11 -05:00
Cameron Gutman
88b4a17fe1
Use AV_CODEC_RECEIVE_FRAME_FLAG_SYNCHRONOUS for decoder probing on FFmpeg 8.1
2026-03-28 16:30:28 -05:00
Cameron Gutman
8326223220
Revert "Use EOS to force decoder test frame output"
...
It causes hangs on defective v4l2m2m decoders, and it's not always
well-supported by out-of-tree decoders either.
This reverts commit 66a30c66f3 .
2026-03-28 16:24:20 -05:00
Cameron Gutman
4aa5ad71c0
Use av_vk_get_optional_device_extensions() on FFmpeg 8.1
2026-03-28 16:17:59 -05:00
Cameron Gutman
e785be03c2
Add support for building with OpenSSL 4.0
2026-03-28 00:56:34 -05:00
Cameron Gutman
2e9fbecfea
Disable SDL3 raw keyboard/mouse hotplug support
2026-02-20 22:40:50 -06:00
Cameron Gutman
7c066485f3
Update SDL, sdl2-compat, and libplacebo for AppImage
2026-02-20 22:19:21 -06:00
Cameron Gutman
11d51e121a
Update libplacebo and SDL3
...
libplacebo -> v7.360.0
SDL3 -> 3.4.2
Fixes #1661
Fixes #1617
2026-02-20 21:57:46 -06:00
Cameron Gutman
09675bf56d
Update moonlight-common-c with vectorized FEC for non-ARMv8/x64 platforms
...
Also remove the workaround for Steam Link since vectorization is enabled by compiler flags now.
2026-02-19 20:09:38 -06:00
Cameron Gutman
8f994dd113
Enable NEON FEC optimizations on Steam Link
2026-02-19 00:54:49 -06:00
Cameron Gutman
e596c2dcdc
Update moonlight-common-c with SIMD acceleration for FEC
2026-02-19 00:38:52 -06:00
Cameron Gutman
209511b2dc
Revert Pinyin IME workaround which is ineffective on SDL3
...
The underlying SDL bug is now fixed upstream for SDL 3.4.2.
2026-02-16 15:00:30 -06:00
Cameron Gutman
efa67fec1e
Disable VBlank virtualization with dynamic refresh rates
2026-02-14 12:39:01 -06:00
Cameron Gutman
8d5072533f
Fix polish() loop in the quit dialog
...
Fixes #1816
2026-02-07 22:01:26 -06: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
e4325b8736
Update Windows ARM64 CI to Qt 6.10.2
2026-02-07 16:46:12 -06:00
Cameron Gutman
eb294e63f4
Revert "Temporarily revert Windows ARM64 to Qt 6.10.0"
...
This reverts commit 6313129603 .
2026-02-07 16:46:12 -06:00
Cameron Gutman
9d597a666b
Use aqtinstall version compatible with Qt 6.10.1+ ARM64
2026-02-07 16:46:12 -06:00
Cameron Gutman
31898bbab4
Update moonlight-common-c to fix BSDs
2026-02-06 23:26:41 -06:00
Cameron Gutman
34c9e01a96
Exclude Windows and macOS systems from the slow GPU heuristic
...
It's targeted at SBCs, which don't run Windows or macOS.
2026-02-06 22:37:33 -06:00
Cameron Gutman
ddc6675dc8
Fix macOS and Steam Link build
2026-02-06 22:27:57 -06:00
Cameron Gutman
f0626e8cae
Exit immediately on repeated SIGINT/SIGTERM without progress
2026-02-05 23:55:02 -06:00
Cameron Gutman
6f4ced5ed6
Assume GPUs on non-x86 platforms are slow by default
...
This can be overriden with GL_IS_SLOW=0 at runtime
for systems with a fast GPU, though it doesn't make
much difference either way for non-KMSDRM cases.
For slower GPUs, this enables important scaling and
rendering optimizations that can substantially
improve performance (especially on fillrate-limited
GPUs common in SBCs).
2026-02-05 23:17:23 -06:00
Cameron Gutman
0a2b134d49
Disable the DRM master hooks when EGLFS isn't used
2026-02-05 22:36:31 -06:00
Cameron Gutman
f6a9e7694a
Update moonlight-common-c
2026-02-05 22:33:51 -06:00
Cameron Gutman
8795fb54f4
Fix double-free in Vulkan renderer when an overlay is disabled
...
Also a drive-by fix to avoid pl_tex copying
2026-02-04 23:05:01 -06:00
Cameron Gutman
092eb1b117
Enable SDL3 fast parameter checks
2026-02-04 22:42:58 -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
60fd840d7a
Remove _USE_MATH_DEFINES workaround for SDL2
2026-01-31 13:51:59 -06:00
Cameron Gutman
5020fc6f48
Do not reset the renderer on SDL_RENDER_TARGETS_RESET
...
We only need to do this on a SDL_RENDER_DEVICE_RESET where we lose the whole device.
This also reverts a56efe5 since this change is not needed when handling the reset events properly.
2026-01-31 13:00:23 -06:00
Cameron Gutman
a2122e17c6
Explicitly request linear sampling in StretchRect()
2026-01-31 12:48:03 -06:00
Cameron Gutman
6bb7c8bf2a
Fix blurriness of DXVA2 overlay
...
Also make a drive-by fix for D3DTSS_COLOROP since we don't use vertex colors.
2026-01-31 12:44:50 -06:00
Cameron Gutman
2dda65078f
Remove D3D9Ex focus loss hint workaround
...
SDL3 doesn't suffer this bug and keeping the default SDL3 auto behavior (minimize iff in exclusive mode) is a better UX.
2026-01-30 21:07:01 -06:00
Cameron Gutman
2914ff678d
Update OpenSSL and libplacebo for Windows and macOS
...
OpenSSL -> 3.6.1
libplacebo -> 9bffcaf
2026-01-30 20:54:01 -06:00
Cameron Gutman
a56efe5c36
Fix infinite renderer resets on SDL3 using direct3d renderer
2026-01-30 20:39:53 -06:00
Cameron Gutman
b7a05d73b9
Update SDLRenderer capabilities to match SDL3 behavior
2026-01-30 20:38:53 -06:00
Cameron Gutman
6d5b9e4706
Remove Windows dark mode hack since SDL3 supports it natively
2026-01-30 19:57:11 -06:00
Cameron Gutman
9813932c1b
Switch to SDL3+SDL2-compat
2026-01-30 19:44:29 -06:00
Cameron Gutman
d4d4ab5b06
Only use the libssl.so linking hack for AppImages
2026-01-27 22:22:29 -06:00
Cameron Gutman
402ac59390
Fix forcing X11 SDL video driver on XWayland when not built with Wayland
2026-01-27 22:22:29 -06:00
Cameron Gutman
c33c49e6fa
Update libplacebo and drop old Gamescope workaround
2026-01-27 22:22:29 -06:00
Cameron Gutman
e1bbf8144e
Switch AppImage to SDL3+SDL2-compat
2026-01-27 22:22:20 -06:00
Cameron Gutman
f4712718cb
Allow focus to move up to the toolbar from the PC/app grid
2026-01-27 00:24:29 -06:00
Cameron Gutman
d040bd24d1
Add keyboard/gamepad focus navigation to dialog buttons
2026-01-27 00:13:47 -06:00
Cameron Gutman
6d40c61850
Only set initial MenuItem focus if not activating via mouse
...
Having an initially highlighted item when using mouse navigation
doesn't adhere to UX norms and also can lead to a janky feeling
when the focus flip-flops from the item under the user's cursor
to the first item as the Menu opens.
2026-01-26 23:46:57 -06:00
Cameron Gutman
b4a5d21f97
Fix focusing after closing a dialog
2026-01-26 23:20:38 -06:00
Cameron Gutman
792f762c15
Standardize on QString::toUtf8()
2026-01-26 21:49:08 -06:00
Cameron Gutman
8c9c799f81
Fix Clazy non-pod-global-static warnings
2026-01-26 21:49:08 -06:00
Cameron Gutman
4eaf037c75
Fix Clazy readlock-detaching warning
2026-01-26 21:49:08 -06:00
Cameron Gutman
b732b58807
Fix Clazy returning-data-from-temporary warnings
2026-01-26 21:49:08 -06:00
Cameron Gutman
d484ec3ac8
Fix Clazy range-loop-detach warnings
2026-01-26 21:49:08 -06:00
Cameron Gutman
f5f06ae44e
Remove handling for Windows versions that are no longer supported
2026-01-26 20:04:15 -06:00
Cameron Gutman
d2fa488979
Move heavy SystemProperties loads to an opt-in model
...
This avoids heavyweight operations when we're not actually running config checks.
2026-01-26 19:46:49 -06:00
Cameron Gutman
cd9aceb62c
Disable D3D11VA texture sharing on known broken GPUs
2026-01-26 19:37:43 -06:00
Cameron Gutman
d5b7ef0c58
Don't pump events in SdlGamepadKeyNavigation
...
This can cause reentrancy issues by invoking Qt-based event
processing while in the context of SDL (via libdecor's GTK loop).
Fixes #1802
2026-01-26 18:19:55 -06:00
Cameron Gutman
e4be57db5d
Remove superfluous Session checks in prepareToRender()
...
prepareToRender() is only called with a live Session.
2026-01-26 18:17:14 -06:00
Cameron Gutman
64fea80ac9
Create the SystemProperties test window on the main thread
2026-01-25 17:10:04 -06:00
Cameron Gutman
05ef938e2c
Add support for LTR ACK control messages
2026-01-20 21:54:14 -06:00
Cameron Gutman
1e825c85e5
Optimize render to decode fence usage to reduce pipeline bubbles
2026-01-19 18:38:38 -06:00