79 Commits
Author SHA1 Message Date
itsmattkc 1b2c4fa86c large scale android improvements
- Port vanilla-pipe on Android for users with rooted devices and compatible Wi-Fi hardware
- Drop OpenSSL as a build dependency (only used for hostap's crypto backend, but didn't work on Android so now we're using hostap's internal crypto)
- Improvements to event loop (targets 180Hz input polling + 60Hz video display)
- Implement MediaCodec hardware decoding on Android
- Use smaller and simpler DHCP client
2026-08-26 14:02:12 -07:00
itsmattkc 08d58d02e7 improve formatting 2026-08-26 14:02:12 -07:00
MattKC acb4d18156 cmake: use fixed drc-hostap commit
Fixes #471
2026-08-25 09:49:25 -07:00
MattKC 6bf468c39d cmake: unset GIT_DIR instead of setting it to empty 2026-08-23 19:57:39 -07:00
MattKC a0c6353f2c cmake: keep enforcing GIT_DIR= on new git lines 2026-08-23 19:47:45 -07:00
MattKC ab44b238f5 cmake: reorder libwpa_supplicant.a above openssl
Should fix current linker errors
2026-08-23 19:34:32 -07:00
itsmattkc 95d0db6002 pipe: move stdbool.h higher 2026-08-23 17:24:06 -07:00
itsmattkc 4dbb8e01b3 pipe: add stdbool include for new wpa_supplicant version 2026-08-23 17:12:05 -07:00
itsmattkc 9744e7de23 pipe: use new wpa_supplicant fork (updated to 2.12!) 2026-08-23 16:55:13 -07:00
itsmattkc 066aefdfa5 pipe: use scan_cur_freq
When associated, only scan the currently associated frequency. May help with connectivity issues.
2026-08-07 12:02:56 -07:00
itsmattkc 2c0cd0104c pipe: disable power saving
Some adapters utilize power saving which can cause connectivity issues
2026-08-07 10:11:27 -07:00
itsmattkc c862da28f0 pipe: call rfkill immediately 2026-02-19 13:55:10 -08:00
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 a161a2b9a4 pipe: fix regression where stack memory becomes freed while threads are using it 2026-02-15 09:28:50 -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 c30d889f0c pipe: fix last remaining CPU thrasher 2025-12-30 02:56:00 -08:00
itsmattkc fea81782a3 pipe: try to detect if DHCP failed due to disconnection 2025-12-29 12:04:13 -08:00
itsmattkc dfb31f430d pipe: don't use fprintf for string without format [skip ci] 2025-12-29 10:44:54 -08:00
itsmattkc 65e1178c0e fix closing race condition 2025-12-29 10:04:42 -08:00
itsmattkc 4edcf199d4 find git, remove bash from pi0 defconfig 2025-12-01 10:05:59 -08:00
itsmattkc a1e4cc119c finished buildroot build (hopefully) 2025-12-01 01:53:51 -08:00
MattKC b0bbc31002 Various optimizations and refactoring (#259)
* optimizations

* Update menu_game.h

* try new code

* use cached EGLImages

* try drm cache on pi

* nani?

* huh?

* require opengl egl

* find EGL

* find EGL separately

* logging

* add support for versions of ffmpeg less than 6.0

* disable drm cache for now

* Update ui_sdl.c

* use old code for now

* disable avcc hdr for now

* restore error message

* try disabling format modifiers?

* tell me what the layer is

* pi decoder actually produces frames in yuv420p

* print more debug info

* try this

* switch to faster decode path

* switch to old code

* Update ui_sdl.c

* add more timing profiling

* more printing

* enable some optimizations

* draw menus when not in game mode

* call render present

* Update ui_sdl.c

* Update ui_sdl.c

* remove unused code

* Update CMakeLists.txt

* incorporate direct DRM code

* Update CMakeLists.txt

* free drm context and test old decoding code

* move SDL event loop to separate thread so controls are not limited by display rate

* add a wait to reduce CPU thrashing

* fix double free

* separate video into recv and consume threads

* Update ui_sdl_drm.c

* Update ui_sdl_drm.c

* Update gamepad.c

* further optimizations

* anti-alias buttons more

* fix some compiler errors

* only include DRM on linux

* fix windows compile issues

* fix includes

* Update CMakeLists.txt

* add htobe32 define for macOS

* Update video.c

* Update gamepad.c
2025-11-30 20:56:52 -08:00
itsmattkc da0033e0c6 ci: remove armhf build for now
Decided it probably makes more sense to provide a buildroot distro rather than an app release.
2025-11-05 16:09:35 -08:00
MattKC d90f09a895 ci: add armhf builds 2025-10-27 18:34:12 -07:00
MattKCandMattKC 61e2a91028 Implement Polkit agent for platforms that lack them (#244)
* attempt to set up polkit listener

* implement polkit agent functionality

* finalized polkit implementation

* add warning for installing polkit rule

* docker: install libpolkit-agent-1-dev

* add uninstall polkit option

---------

Co-authored-by: MattKC <mattkc@noreply.git.mattkc.com>
2025-10-03 16:25:00 -07:00
MattKC 2859af766a cmake: make polkit rule conditional, install script if off 2025-08-25 21:44:50 -07:00
MattKC c9b44cfe70 close pipefd after process has exited
Otherwise, command will throw a broken pipe exception and crash before it completes
2025-08-18 17:07:21 -07:00
MattKCandMattKC e644a02ec9 Various Steam Deck Improvements (#229)
* initial commit

* seems to work

* try SDL_SetHintWithPriority

* set hint with SDL_HINT_OVERRIDE

* try setting hint before SDL_init

* fix issue with signal handling

* send sigterm to pipe

* ensure SDL creates signal handlers?

* fixed pipe issues not closing

* ensure pipe is stopped ASAP when receiving SIGINT and SIGTERM

The Steam Deck gives us extremely little time to clean up before getting SIGKILL'd, so make sure pipe is told to quit ASAP when receiving SIGINT or SIGTERM.

* fix logic issue

* removed things that aren't necessary for this PR

* clarified some comments [skip ci]

---------

Co-authored-by: MattKC <mattkc@noreply.git.mattkc.com>
2025-08-17 22:34:32 -07:00
itsmattkc b4ca5a55b7 fix openssl/hostap vendored build 2025-06-24 11:25:11 -07:00
itsmattkc 66c045f301 remove libnl and libssl from docker because vendored builds them ourselves 2025-06-24 11:02:16 -07:00
itsmattkc eb74b23893 improve cross compiling behavior 2025-06-24 01:07:13 -07:00
itsmattkc 00ffc143ca cmake: allow libnm support to be disabled 2025-06-20 18:39:42 -07:00
itsmattkc f1edc35edc cmake: self-build openssl if vendored 2025-06-20 18:28:50 -07:00
itsmattkc 3ca3af4379 pipe: don't die if nmcli get device fails 2025-05-24 01:19:41 -07:00
itsmattkc a1764b673b use set -e in polkit script 2025-05-23 23:46:37 -07:00
itsmattkc 65caf0025c pipe: copy va_args if external logging
It seems re-using the same va_list can cause issues
2025-05-23 18:13:30 -07:00
itsmattkc 28ea7994f0 fix erroneous mutex double unlock 2025-05-15 17:01:05 -07:00
itsmattkc a50c398ea4 add logging functionality to vanilla pipe 2025-05-13 17:42:25 -07:00
itsmattkc 4ae9abefbf remove redundant logging functions 2025-05-08 12:58:36 -07:00
itsmattkc 4d29ae129e no need to update connection config after making it 2025-05-08 12:56:32 -07:00
itsmattkc fc0e509ddc pipe: send ping while performing wps auth 2025-03-31 09:14:17 +11:00
itsmattkc 42b2815b4e link wpa_supplicant directly as a quasi-static library
This removes all execs to other executables from vanilla-pipe
2025-03-03 15:07:57 -08:00
itsmattkc 89f25ee00c use libnm instead of making exec calls to nmcli 2025-03-03 11:16:27 -08:00
itsmattkc 7478d0aca5 pipe: ensure running actions complete before program terminates 2025-02-19 16:33:36 -08:00
itsmattkc 3b9e9db48f set wii u route priority to absolute lowest when configuring IP address 2025-02-19 16:29:08 -08:00
itsmattkc 210d4d703d set correct IP mask 2025-02-19 15:21:08 -08:00
itsmattkc 3e5b1208af dhcp: reset timeout to zero on startup
Fixes issue where DHCP gets indefinitely stuck when connecting more than once in the same session
2025-02-19 12:42:06 -08:00
itsmattkc 1f9741e780 cmake: better method of detecting debug [skip ci] 2025-02-19 11:37:35 -08:00
itsmattkc 3b4c97c672 if debug build, enable debug log from udhcpc [skip ci] 2025-02-19 11:35:52 -08:00