408 Commits
Author SHA1 Message Date
itsmattkc c62bbac9b0 cmake: fix vendored ffmpeg nvdec support 2026-01-16 13:11:49 -08:00
itsmattkc eb808d64ce docker/cmake: should fix builds 2026-01-16 10:53:23 -08:00
itsmattkc 07e04a8791 cmake: fix hardware decoders, probably 2026-01-16 10:19:33 -08:00
itsmattkc cca4c50e8f cmake: simpler vendored ffmpeg configure args 2026-01-16 09:26:12 -08:00
itsmattkc 8d311381b0 cmake: link with vdpau if cuda is enabled 2026-01-15 12:29:30 -08:00
itsmattkc 8cd2d1dbfb docker: add non-free debian sources for CUDA libraries 2026-01-15 11:32:34 -08:00
itsmattkc 309b290264 docker: add CUDA toolkit to linux builds 2026-01-15 08:59:47 -08:00
itsmattkc 26ff1d0a84 ui: if no CUDA path to display, don't use CUDA
Even if the user has an NVIDIA card, if Vanilla hasn't been compiled with CUDA support it has no way of getting the frame onto the screen
2026-01-15 08:59:38 -08:00
itsmattkc 1e184bd62f Squashed commit of the following:
commit f65e382f41f1b1976b92c64707d6f427ac39a7d6
Author: itsmattkc <[email protected]>
Date:   Thu Jan 15 08:21:28 2026 -0800

    finished nvdec support

commit de1767d4eadd139a2d0a76bef6d8c34e81f9e4fe
Author: itsmattkc <[email protected]>
Date:   Wed Jan 14 19:49:17 2026 -0800

    begin nvdec impl
2026-01-15 08:21:45 -08:00
itsmattkc 9aecca7943 ui: improve hardware decoder detection 2026-01-14 19:08:41 -08:00
itsmattkc 95b705a405 ui: more robust checks for EGL availability
SDL2 prefers GLX over EGL, however we require EGL to present VAAPI decoded frames to the screen, so we set a flag to force it over to EGL.

However some hardware (notably NVIDIA GPUs) do not provide EGL pathways. We must detect this and un-force EGL if so. However the un-forcing requires a little more work than expected. This code should work now.
2026-01-14 18:41:12 -08:00
itsmattkc fde6e0d3f2 ui: add another audio buffer
Will reduce audio crackling at the expense of some latency
2026-01-14 16:15:30 -08:00
itsmattkc edff4bb1c0 ui: use "Wii U" only for name of first synced console
Most users will only have a single Wii U, and it's kinda ugly for it to be called "Wii U 1". Default to "Wii U" for the first synced console, and subsequent consoles will be "Wii U 2", "Wii U 3", etc.
2026-01-14 16:15:14 -08:00
itsmattkc 8e2f86712a ci: missed another thing 2026-01-01 13:29:24 -08:00
itsmattkc d9061be0ed ci: missed some changes 2025-12-31 00:43:01 -08:00
itsmattkc c808e834de ci/docker: add pi zero 2w build 2025-12-30 15:52:38 -08:00
itsmattkc f50df6290d pipe/gui: set unmanaged at app-level rather than connection-level
Rather than setting NetworkManager to "unmanage" the Wi-Fi interface every sync/connection, do it once when the pipe starts. This way, there won't be any awkward shuffling as the pipe goes from syncing to connecting.
2025-12-30 10:36:31 -08:00
itsmattkc e5f09b092a lib: create listen sockets AFTER connection
This may fix connectivity issues where the internal kernel device changes after it's unmanaged in NetworkManager and/or the backend is changed from iwd to wpa_supplicant
2025-12-30 10:16:32 -08:00
itsmattkc c30d889f0c pipe: fix last remaining CPU thrasher 2025-12-30 02:56:00 -08:00
itsmattkc 590a163ef2 gui: default fullscreen on
Once again, while not necessarily ideal for desktop usage, all of our main touch-based targets will benefit from this
2025-12-30 02:29:25 -08:00
itsmattkc 09c6de3b7e gui: greatly improve and simplify audio output
Significantly reduces audio latency
2025-12-30 02:07:06 -08:00
itsmattkc a7d9c626f2 gui: in main menu, create console buttons first
Fixes #295
2025-12-30 02:07:06 -08:00
itsmattkc 969db197fd lib: add extra debugging line
May come in handy?
2025-12-30 02:07:06 -08:00
sheepy0125 acb350d564 gui: check for nullptr on controller name strcmp (#297) 2025-12-30 02:00:24 -08:00
itsmattkc 72380441c5 gui: use a combination of the Steam Virtual Gamepad and Steam Deck controllers on the Steam Deck
The Steam Deck provides a "virtual gamepad" that it expects games to use, however the "virtual gamepad" doesn't provide direct access to the Steam Deck's gyroscopes. We can bypass it, but then Steam Deck users lose usability features like remapping (and Vanilla will continue to receive inputs in the background, which are usually cut off on the virtual gamepad, which can cause accidental clicks). To try to get the best of both worlds, we use a hybrid approach where we use the virtual gamepad for everything EXCEPT the gyros, and then use the direct hardware access JUST sfor the gyros.
2025-12-29 16:03:17 -08:00
itsmattkc 2a0045b4f6 gui: return to settings after connection, but retain callback functionality 2025-12-29 14:12:13 -08:00
itsmattkc 53384ee384 Revert "gui: on connection select, return to settings"
This reverts commit b116d6cabc.
2025-12-29 14:08:48 -08:00
itsmattkc 1f57c5262d gui: null check polkit subject
Not sure why this would happen but probably worth doing either way
2025-12-29 12:32:13 -08:00
itsmattkc fea81782a3 pipe: try to detect if DHCP failed due to disconnection 2025-12-29 12:04:13 -08:00
itsmattkc 7f793e8c52 gui: fix regression regarding disconnects 2025-12-29 10:57:23 -08:00
itsmattkc b11a9b2c16 gui: in settings, rename "Gamepad" to "Controls" 2025-12-29 10:56:34 -08:00
itsmattkc dfb31f430d pipe: don't use fprintf for string without format [skip ci] 2025-12-29 10:44:54 -08:00
itsmattkc 50b218b257 ci: allow other builds to complete if one fails [skip ci] 2025-12-29 10:44:03 -08:00
itsmattkc 65e1178c0e fix closing race condition 2025-12-29 10:04:42 -08:00
itsmattkc 573b240280 use borderless fullscreen
This will probably be a superior experience in most cases, though we should double check this looks right on the Raspberry Pi and Android builds
2025-12-29 08:56:24 -08:00
itsmattkc a27ba0e646 disable windowing option on platforms that don't need it (e.g. raspberry pi, android) 2025-12-28 20:07:31 -08:00
itsmattkc 2388c419be add fullscreen toggle
For desktop users, this should be a nicer user experience
2025-12-28 19:28:33 -08:00
itsmattkc a73632aca6 Squashed commit of the following:
commit cdfb6f8bd07e1e44850167dcfe4bbe393d6d40bf
Author: itsmattkc <[email protected]>
Date:   Sun Dec 28 10:36:34 2025 -0800

    add user setting for swapping AB/XY

commit b230c8e86baae91f733e67f97494ee18dbcb85d0
Author: itsmattkc <[email protected]>
Date:   Sun Dec 28 10:25:34 2025 -0800

    start impl
2025-12-28 10:44:10 -08:00
itsmattkc b116d6cabc gui: on connection select, return to settings 2025-12-28 10:38:12 -08:00
itsmattkc 70e0854908 implement fallback if EGL on X11 is not available 2025-12-27 23:04:16 -08:00
itsmattkc a1ab0e042f print SDL_GetError on failure to create renderer 2025-12-27 11:38:02 -08:00
itsmattkc 4fa0bd6b9e add logo only graphic 2025-12-27 11:38:02 -08:00
MattKC f301a068a6 Add default key mappings to README 2025-12-26 11:03:59 -08:00
itsmattkc cf992ab32c Merge branch 'reduce-threading' 2025-12-18 12:37:51 -08:00
itsmattkc 48a31be82b implement frame limiter
While it is desirable to update more than 1/60 seconds, there is no need to update more than 1/180 (or 1/200 in this case)
2025-12-18 12:09:05 -08:00
itsmattkc 9556fcbb39 Update ui_sdl.c 2025-12-18 09:45:09 -08:00
itsmattkc d007ac6364 docker: add "set-e" to scripts that didn't have it 2025-12-18 03:23:59 -08:00
itsmattkc 821a53bd58 Update ui_sdl.c 2025-12-13 00:55:05 -08:00
itsmattkc 5bcd89cf38 grr 2025-12-13 00:54:17 -08:00
itsmattkc b2d505d6e9 Update ui_sdl.c 2025-12-13 00:37:30 -08:00