519 Commits
Author SHA1 Message Date
itsmattkc 57b4e71a1f pipe: ensure "READY" is the first thing to print 2026-02-17 16:57:11 -08:00
itsmattkc 3986a6d6bd Squashed commit of the following:
commit 4ac92fd946
Author: MattKC <34096995+itsmattkc@users.noreply.github.com>
Date:   Mon Feb 16 16:50:00 2026 -0800

    Call "rfkill unblock wlan" as part of wpa_supplicant initialization
2026-02-16 17:56:54 -08:00
itsmattkc 45a2dd2363 docker: on unsigned android builds, copy the apk into place 2026-02-16 17:55:39 -08:00
VoxelTek 9e11d69ae1 Feature: Add functionality to toggle fullscreen with F11 (#346)
* Add functionality to toggle fullscreen with F11

* Update README.md

* F11 before F12

* Add full-screen rebind button to controls menu
2026-02-16 00:30:45 -08:00
itsmattkc b3f092b661 gui: start passive animation for "key_bindings_more" too 2026-02-16 00:27:12 -08:00
itsmattkc eff55c0d20 gui: close pipe connection if pipe reports other than READY 2026-02-16 00:13:07 -08:00
itsmattkc 0519c7b151 docker: skip android signing if no key present 2026-02-15 23:47:44 -08:00
Rewindzanditsmattkc 85093b891c feat: Add settings menu for keyboard control remapping (#314)
* First steps.

* Menu mostly together.

* Added draw callback feature to buttons.

* Added icons for key binding.

* Using icons now.

* Fixed a memory leak in: vpi_asset_filename

* Added keymap to vpi_config.

* Aded action keys to config.

* Added WiiU Icons

* Load action keys from config.

* Starting Secondary Keybinding Menu

* Added binding menu for L and R sticks.

* fix clicking back button in bind mode

* improve key readability

* create and use left and right ctrl icons

* create and use numpad icons

* create and use crude record/screenshot icons

* add more key icons

* fix minor bugs

* add reset to default button

* fix binding escape key

* rearranged the button layout

* reworked inner workings

* cleanup

* further cleanup

---------

Co-authored-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
2026-02-15 23:47:02 -08:00
itsmattkc 1bec364c35 gui: add config entry for recording/screenshot dir
Fixes #339
2026-02-15 09:41:04 -08:00
itsmattkc a161a2b9a4 pipe: fix regression where stack memory becomes freed while threads are using it 2026-02-15 09:28:50 -08:00
itsmattkc f9e7318952 gui: add setting for showing cursor in full screen
Fixes #342, though I guess we should add a gui option at some point.
2026-02-13 13:37:57 -08:00
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 <34096995+itsmattkc@users.noreply.github.com>
Date:   Thu Jan 15 08:21:28 2026 -0800

    finished nvdec support

commit de1767d4eadd139a2d0a76bef6d8c34e81f9e4fe
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
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 <34096995+itsmattkc@users.noreply.github.com>
Date:   Sun Dec 28 10:36:34 2025 -0800

    add user setting for swapping AB/XY

commit b230c8e86baae91f733e67f97494ee18dbcb85d0
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
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