Commit graph

2100 commits

Author SHA1 Message Date
Cameron Gutman
654e386263 Only pace presentation if display sync is enabled 2024-04-19 00:17:13 -05:00
Cameron Gutman
76d0eb6b63 Avoid trying VDPAU when Vulkan is preferred
The VDPAU renderer causes interoperability issues with Vulkan.
2024-04-18 00:41:24 -05:00
Hans Gaiser
02d867fe09 Log to stderr instead of stdout. 2024-04-17 23:55:38 -05:00
Cameron Gutman
76ff53f09f Move warning dialog checks into the Window's onCompleted() function
The old issue with dialogs appearing behind the main window only impacts the old non-QC2 dialogs,
which we haven't used for several years.
2024-04-14 14:49:35 -05:00
Cameron Gutman
37d92dee16 Revert "Fix hiding the main UI window while streaming on Qt 6.7"
The original issue on Qt 6.7 was caused by conflicts with the window state set in main.qml
which was addressed by afbc49e39a.

The remaining issue with Qt 6.7 clobbering window state and position when hiding a window
looks like a legitimate Qt bug.

This reverts commit ebe270bec5.
2024-04-14 14:08:53 -05:00
Cameron Gutman
afbc49e39a Apply the main window visibility property only at startup
Otherwise it can affect the state of the window when showing again streaming
2024-04-14 13:35:41 -05:00
Cameron Gutman
d1ccd19fcc Make StreamingPreferences a proper singleton
This removes the need for several hacks in SettingsView to force updates and improves performance by not reloading preferences all over the place.
2024-04-14 13:01:30 -05:00
Cameron Gutman
ebe270bec5 Fix hiding the main UI window while streaming on Qt 6.7 2024-04-13 00:05:49 -05:00
Cameron Gutman
784234c857 Fix updating bitrate text upon language change on Qt 6.7 2024-04-13 00:05:11 -05:00
Cameron Gutman
6a85996b4a Clear the minimized state on the Qt window if the SDL window is not minimized 2024-04-07 00:42:51 -05:00
Cameron Gutman
c6710f93dc Enable Steam Controller detection on Steam Link
Fixes #697
2024-04-06 20:03:54 -05:00
Cameron Gutman
5e46c4ec2b Update Windows and Mac prebuilt libraries
SDL2 -> 1fa6142
FFmpeg -> 7.0
opus -> 1.5.1
dav1d -> 1.4.1
2024-04-06 19:56:38 -05:00
Cameron Gutman
011feab6ce Add workaround for broken Qt EGLFS card selection logic 2024-04-06 14:35:34 -05:00
Cameron Gutman
74d452bf35 Limit mDNS resolution retry count 2024-04-06 12:40:32 -05:00
Cameron Gutman
fd2ff61a40 Support Vulkan AV1 decoding with FFmpeg 7.0 2024-04-06 12:31:14 -05:00
Cameron Gutman
8a87a09947 Flush stale gamepad events after checking for unmapped gamepads 2024-03-31 14:56:46 -05:00
Cameron Gutman
cf544a8703 Don't reload preferences every time we poll for GUI gamepad input 2024-03-31 14:54:36 -05:00
Cameron Gutman
f2535f1e6e Avoid D3D9 fallback on lack of codec support unless a D3D11 FL11.0 GPU wasn't found
We'd rather not waste time (and risk crashes) loading the D3D9 driver if the GPU doesn't have the physical decoding hardware at all.
2024-03-26 23:59:18 -05:00
Cameron Gutman
cefa567f95 Demote DXVA2 renderer to second pass of hwaccels 2024-03-26 23:04:54 -05:00
Cameron Gutman
9be782ae8e Fix some harmless compiler warnings 2024-03-26 21:59:39 -05:00
Cameron Gutman
610e07d4bd Improve state propagation between Qt and SDL windows 2024-03-26 21:42:13 -05:00
Marcos Del Sol Vives
75eb921a04 Improve VPN heuristics under Windows
The NDIS interface type will now be used also for matching, improving the
heuristics for multiple popular VPN implementations.

Fixes #1233
2024-03-26 01:20:53 -05:00
Cameron Gutman
97bd515b11 Remove leftover preferred Metal device logic 2024-03-26 01:16:57 -05:00
Cameron Gutman
a45695a22a Rework Qt window handling during SDL window creation
- Avoids blindly enumeration all top-level windows
- Properly tracks screen changes during the connection process
- Starts stream window minimized if the Qt window was minimized

Fixes #1231
2024-03-24 21:38:54 -05:00
Cameron Gutman
0d67fd1ff0 Batch mouse motion events on the SDL side 2024-03-24 20:35:23 -05:00
Cameron Gutman
a093a0ae59 Restore AVSampleDisplayLayer renderer for dGPU/eGPU systems
These sometimes have issues importing decoded frames for Metal rendering.
2024-03-24 17:47:29 -05:00
Cameron Gutman
c9ad8ffa69 Stop using true fullscreen mode on Mac
It has numerous issues on modern Macs and seems to get worse every macOS release.
2024-03-24 13:55:43 -05:00
Cameron Gutman
9987914ebb Update SDL_GameControllerDB 2024-03-20 02:04:01 -05:00
Lukas Senionis
fbfd6fb462 Update 0001-Vulkan-Don-t-try-to-reuse-old-swapchain.patch to compile with latest changes 2024-03-18 21:54:28 -05:00
Cameron Gutman
d364b24378 Fix broken on-link detection that caused non-VPN WAN connections to use LAN MTU
Fixes #1101
2024-03-15 20:04:51 -05:00
Cameron Gutman
c13128ca1d Add libplacebo patch from Chiaki4Deck to resolve AppImage hangs on Steam Deck 2024-03-02 11:25:53 -06:00
Cameron Gutman
ceca83346b Use FIFO present mode for VSync 2024-03-02 11:19:52 -06:00
Jorys Paulin
fc6c51c75a fix: add explicit width and height to discord icon 2024-02-18 15:28:47 -06:00
Jorys Paulin
161d91acf8 fix: fix discord icon on qt 5 2024-02-18 15:28:47 -06:00
Cameron Gutman
62011c37f4 Fix build with SDL 2.0.20 and earlier
Fixes #1186
2024-02-17 13:31:53 -06:00
Cameron Gutman
919e44b29b Fix __builtin_cpu_supports(aes) for GCC 6-9 2024-02-17 13:28:32 -06:00
Jorys Paulin
72fc7ea31a feat: update discord icon 2024-02-16 22:36:26 -06:00
Cameron Gutman
896456a8ac Wait for command buffer completion before returning from renderFrame() 2024-02-11 00:15:32 -06:00
Cameron Gutman
8959ddbeb6 Rewrite overlay support in Metal renderer to avoid additional subviews
Subviews cause our Metal layer to fall out of the direct composition path on Intel hardware
2024-02-11 00:15:07 -06:00
Cameron Gutman
767215fce5 Rewrite old frame pacing logic for Metal renderer 2024-02-10 22:49:13 -06:00
Cameron Gutman
3ef05f3a35 Completely switch to D3D11VA over DXVA2 for supported GPUs in all scenarios
Fixes #1179
2024-02-09 01:24:03 -06:00
Cameron Gutman
12624bc5c4 Avoid the composited display path for our Metal layer 2024-02-08 18:19:01 -06:00
Cameron Gutman
5bd0dea85d Enable Metal validation in debug builds 2024-02-08 18:07:43 -06:00
Cameron Gutman
80242f2e90 Fix Metal debug layer validation errors 2024-02-08 18:06:46 -06:00
Cameron Gutman
cf3e328f9d Add seamless resize support for Metal renderer 2024-02-08 18:05:47 -06:00
Cameron Gutman
b972a22459 Use SDL helpers to create Metal view 2024-02-07 03:26:09 -06:00
Cameron Gutman
db06239018 Rewrite the macOS renderer using CAMetalLayer
This allows v-sync to be disabled on macOS and lets us remove a whole bunch of old hacks.

Further optimizations of the new renderer are still needed.
2024-02-07 02:40:35 -06:00
boogie
bdc7d53515 Only give "pixel_format=nv12" option to v4l2m2m or v4l2requests decoders
pixel_format is a global option which changes avctx->pix_fmt to the
given format, and overrides the AV_PIX_FMT_DRM_PRIME requirement of a
decoder. So v4l2 out of tree patches has done some exception which is
not perfectly nice, therefore limit this option only if the given
decoder is v4l2 decoder. Otherwise rockchip mpp based ffmpeg decoders
can not work properly
2024-02-06 00:09:34 -06:00
Cameron Gutman
3d8de56f25 Add fast AES detection for RISC-V using hwprobe() syscall 2024-01-23 02:28:28 -06:00
Cameron Gutman
8bbc9b2c57 Fix build with old ARM headers and opt-out of fast AES on RISC-V for now 2024-01-15 17:36:57 -06:00