Commit Graph

3254 Commits

Author SHA1 Message Date
Cameron Gutman 815db2b0d7 Enable Segment Heap for improved performance and memory usage 2026-05-15 18:37:52 -05:00
Cameron Gutman a8a66bfc3d Enable Per Monitor v2 DPI awareness
Qt 6 has supported this forever, but our manifest forced PMv1.
2026-05-15 18:13:46 -05:00
Cameron Gutman 8fe279c91b Add support for controllers with dual touchpads 2026-05-14 22:14:50 -05:00
Cameron Gutman dedb0c0327 Disable text input before creating windows 2026-05-14 21:45:22 -05:00
Cameron Gutman 9cbba106ad Use the Metal renderer by default on all Macs
Whatever dGPU/eGPU rendering issues existed at the time I wrote that check seem to no longer happen on my RX 480 eGPU test setup running Ventura (our oldest supported OS).

It seems safe enough to enable now, especially since 7d6ce0b4c should catch broken systems and transparently fall back to AVSampleBufferDisplayLayer.

Fixes #1885
2026-05-14 00:45:57 -05:00
Cameron Gutman 7d6ce0b4cc Implement testRenderFrame() for the VTMetal renderer
This can be used to (hopefully) detect cases where importing the decoded frames onto the target GPU fails.

See #1885
2026-05-14 00:34:32 -05:00
Cameron Gutman 92fb7f3b71 Use the (hopefully faster) ARM64 Tahoe runner 2026-05-13 23:49:32 -05:00
Cameron Gutman b0ac3713f2 Update macOS CI runner to Tahoe 2026-05-13 23:33:30 -05:00
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
dependabot[bot] 7de4e74829 Bump app/SDL_GameControllerDB from 16ac3e5 to 1fc89ca
Bumps [app/SDL_GameControllerDB](https://github.com/gabomdq/SDL_GameControllerDB) from `16ac3e5` to `1fc89ca`.
- [Commits](https://github.com/gabomdq/SDL_GameControllerDB/compare/16ac3e553e23068e26819971f2cc6cd088a7f2f6...1fc89ca5787f4b8279e6c793cf3007657d9bb35c)

---
updated-dependencies:
- dependency-name: app/SDL_GameControllerDB
  dependency-version: 1fc89ca5787f4b8279e6c793cf3007657d9bb35c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-09 13:21:38 -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
Tak-attack 1cffa7b350 Translated using Weblate (Japanese)
Currently translated at 100.0% (251 of 251 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/ja/
2026-04-09 13:09:49 +02:00
dependabot[bot] fae1cd3dee Bump moonlight-common-c/moonlight-common-c from b187204 to 6268780
Bumps [moonlight-common-c/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `b187204` to `6268780`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/b187204769974b9af9d2a3c3bca83ad40e4f1ac9...62687809b1f7410c3db4be2527503a54ae408d70)

---
updated-dependencies:
- dependency-name: moonlight-common-c/moonlight-common-c
  dependency-version: 62687809b1f7410c3db4be2527503a54ae408d70
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-08 21:51:17 -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
Luís Otávio cac3bb28d7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (251 of 251 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/pt_BR/
2026-04-03 13:09:51 +00: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