2746 Commits

Author SHA1 Message Date
Cameron Gutman 8b18d58aa0 Add workaround for interoperability issue with out-of-tree FFmpeg zero-copy v4l2m2m patches and libplacebo
Fixes #1786
2026-07-08 23:40:08 -05:00
Cameron Gutman fd34a1fd28 Disable the text outline when line wrapping is required 2026-07-01 23:43:40 -05:00
Cameron Gutman 9067db8915 Switch to UTF-8 for overlay text rendering 2026-07-01 23:24:31 -05:00
Mira 177f845183 Add outline to stream overlay text (#1887)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2026-07-01 23:03:45 -05:00
Cameron Gutman c9b03f80f8 Partially revert "Use GL_NEAREST when possible without degrading quality"
The changes to GL_NEAREST for overlay textures and disabling alpha blending in SDL renderer are left intact.

This reverts commit 0f49dca4c0.
2026-07-01 21:56:54 -05:00
Cameron Gutman 561d824814 Move HDR toggle into the Basic Settings panel 2026-07-01 21:41:05 -05:00
Cameron Gutman b2d77f48f8 Rerun lrelease 2026-06-28 17:00:34 -05:00
Cameron Gutman 872731ceeb Fix a few more incorrect translation strings 2026-06-28 16:59:41 -05:00
Cameron Gutman 6cad296138 Remove all vanished translations 2026-06-28 16:52:52 -05:00
Cameron Gutman 444c6ccf06 Remove the experimental tag from HDR, AV1, and YUV 4:4:4 2026-06-28 16:51:58 -05:00
Cameron Gutman d35532b03e Rerun lupdate 2026-06-28 16:51:34 -05:00
Cameron Gutman 1e0110b0f4 Fix broken translation format strings 2026-06-28 16:41:05 -05:00
Cameron Gutman e5353d9758 Remove some translations that contained typos or incorrect grammar 2026-06-28 16:37:32 -05:00
Cameron Gutman f7c660129b Merge remote-tracking branch 'origin/weblate' 2026-06-28 16:26:37 -05:00
Cameron Gutman cdacb3d28d Loosen applist XML validation to accept empty app names
This matches the behavior of the Android and iOS clients.

Fixes #1921
2026-06-28 12:18:42 -05:00
Cameron Gutman 5034a324b4 Fix manual address being clobbered when using the CLI
Fixes #1920
2026-06-28 11:48:09 -05:00
Cameron Gutman e223bf9a1b Use libplacebo renderer on macOS 2026-06-25 22:30:03 -05:00
Cameron Gutman 6e231778a2 Fix blocking during rendering rather than in waitToRender() on MoltenVK
MoltenVK does a lazy fetch of the drawable only when it's being modified, so waitToRender() is completely ineffective as is. Rendering a small empty overlay in waitToRender() forces the next drawable wait to happen in waitToRender(), before we pick the current frame to render. This removes one display refresh period of latency when using V-sync.
2026-06-25 20:01:29 -05:00
Cameron Gutman d997a0d0c8 Dynamically adjust libplacebo swapchain depth on macOS
Direct-to-display mode on some Macs (M4 Mac Mini) can retain our drawables, which cuts the frame rate in half if we're in double-buffered mode.

We don't want to use triple-buffered mode all the time because it increases latency when used if not required, so detect delayed presentation and enable it on the fly if needed.
2026-06-23 21:09:20 -05:00
Cameron Gutman 06bd8a730b Force sRGB Vulkan swapchain on macOS to fix washed out colors 2026-06-23 19:19:56 -05:00
Cameron Gutman faa39875b6 Remove outdated comment 2026-06-21 15:19:44 -05:00
Cameron Gutman 170801ba9f Send the real client UID for non-GFE hosts
This allows non-GFE hosts to perform their own custom session
management while allowing all clients to share the same session
with GFE.
2026-06-21 15:18:12 -05:00
Cameron Gutman 1be234e96a Load the UID during initialization to avoid races loading it later 2026-06-21 15:14:58 -05:00
Cameron Gutman 50364fd522 Don't set VK lock/unlock queue functions past libavutil 62
They are scheduled for removal at that ABI bump.
2026-06-21 14:01:47 -05:00
Cameron Gutman bea5355c66 Fix unused parameter warning on Windows and Linux 2026-06-21 14:01:47 -05:00
Damglador c6820d8f5d Translated using Weblate (Ukrainian)
Currently translated at 86.8% (218 of 251 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/uk/
2026-06-21 03:01:18 +02:00
Damglador f58ae9cf56 Translated using Weblate (Ukrainian)
Currently translated at 54.1% (136 of 251 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/uk/
2026-06-19 17:01:18 +00:00
Cameron Gutman ca7d61f528 Prefer libplacebo on macOS when available 2026-06-14 19:27:01 -05:00
Cameron Gutman 2b5388e941 Fix non-EGL frontend renderers when compiled without EGL support 2026-06-14 19:16:16 -05:00
Cameron Gutman a9ad048252 Fix HDR rendering in libplacebo on macOS 2026-06-14 18:58:22 -05:00
Cameron Gutman 51cc5a8537 Remove libplacebo workaround for FFmpeg compiled without Vulkan support 2026-06-14 18:57:46 -05:00
Cameron Gutman 8c6b422040 Implement libplacebo on MoltenVK 2026-06-14 15:45:38 -05:00
Cameron Gutman ec75f0d8de Refactor libplacebo renderer to handle non-Vulkan hwcontexts 2026-06-14 12:20:54 -05:00
ssantos 6ccd91d942 Translated using Weblate (Portuguese)
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/
2026-06-09 19:01:17 +02:00
Cameron Gutman 02004bac3f Allow toggling through combo box options using left/right on gamepads/keyboards 2026-06-07 15:14:29 -05:00
kynoptic 7c93aaf659 Force Tab focus to reach all controls on macOS
macOS defaults keyboard navigation to text fields and lists only, so Tab
(and the gamepad navigation that synthesizes it) can't move focus between
controls on the settings page. Other platforms already default to this.
2026-06-07 14:22:42 -05:00
Cameron Gutman 534ce02756 Track keyboard grab state internally rather than using SDL
Versions of sdl2-compat prior to 2.32.64 (and native SDL3) won't
set the grab flag if grabbing the keyboard fails, even though the
compositor still may be exclusively passing system keys to us via
some external configuration by the user. This causes the super key
to not be sent to the host, because we think the client OS will
consume it and don't want to duplicate the input.

Fixes #1900
2026-06-06 16:11:37 -05:00
Cameron Gutman cd5853c6ca Update Windows and macOS prebuilt dependencies
- Enable LTO/LTCG
- Update SDL3
2026-05-26 22:55:32 -05:00
Cameron Gutman 2eb6715be5 Disable WM-dependent hotkeys on LinuxFB too 2026-05-24 15:23:19 -05:00
Cameron Gutman 29294553bb Add Ctrl+Alt+Shift+K combo to toggle system key grab
Fixes #1637
2026-05-24 15:13:23 -05:00
Cameron Gutman 97240cd5f2 Add workaround for libplacebo crash with Raspbian FFmpeg
Fixes #1409
2026-05-24 14:43:02 -05:00
Cameron Gutman 8cc001768c Use UTF-16 literals for XML processing on Qt 6 2026-05-23 21:56:40 -05:00
Cameron Gutman d94b92e247 Use SDL_utf8strlcpy() to avoid MSVC secure CRT warnings 2026-05-23 19:50:32 -05:00
Cameron Gutman d9eca42311 Remove redundant QString construction 2026-05-23 19:28:28 -05:00
Cameron Gutman 63c48be6d4 Improve handling of malformed XML responses 2026-05-23 19:16:14 -05:00
Cameron Gutman 459dcd7b2c Fix incorrect error print 2026-05-16 16:10:47 -05:00
Cameron Gutman b33a252739 Fix incorrect apply() return value for legacy DRM clients 2026-05-16 16:09:57 -05:00
Cameron Gutman 1eb76bbdb0 Deep copy the BIO's backing memory for the QSslKey
This doesn't appear to be a problem in practice, but the docs don't say
that Qt couldn't retain this QByteArray for later, which would result in
a UAF with the current code.
2026-05-16 16:08:02 -05:00
Cameron Gutman bba2faa602 Fix broken horizontal scroll inversion 2026-05-16 15:45:13 -05:00
Cameron Gutman 87c3179f77 Fix incorrect failure check 2026-05-15 23:23:36 -05:00