519 Commits
Author SHA1 Message Date
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 6bf8d4898b ui: try using SDL_SetHintWithPriority to enforce steam deck gyros on 2025-09-13 15:46:11 -07:00
MattKC 2859af766a cmake: make polkit rule conditional, install script if off 2025-08-25 21:44:50 -07:00
MattKC 9c2eaa995c use textures for loading graphic instead of utf-8 chars 2025-08-24 11:28:43 -07:00
MattKC 47dca2b4d5 Squashed commit of the following:
commit 0172f88e43d2d6569fb02482085e41c41da69de6
Author: MattKC <mattkc@noreply.git.mattkc.com>
Date:   Mon Aug 18 17:22:55 2025 -0700

    fix VAAPI on x11

commit 34f1552c42bf53e3e3a11541d603fa0f0a718494
Author: MattKC <mattkc@noreply.git.mattkc.com>
Date:   Mon Aug 18 17:08:46 2025 -0700

    print more debug info

commit 9dadb24c63f46d026c1757237b910c4e514c9dcd
Author: MattKC <mattkc@noreply.git.mattkc.com>
Date:   Mon Aug 18 16:58:08 2025 -0700

    prefer wayland if available for VAAPI

commit 4db3b14eebf09852129989cc34b2a61c2a376540
Author: MattKC <mattkc@noreply.git.mattkc.com>
Date:   Mon Aug 18 16:40:53 2025 -0700

    print eglGetError

commit ad78d993881a198f1532cd5f9ec29ad83500f1af
Author: MattKC <mattkc@noreply.git.mattkc.com>
Date:   Mon Aug 18 15:55:51 2025 -0700

    don't include EGL stuff if not using

commit f5a9b8966f49b75db849282352d67c842e353c9b
Author: MattKC <mattkc@noreply.git.mattkc.com>
Date:   Mon Aug 18 15:18:07 2025 -0700

    link X11

commit 3b498dfdf8cf3d83d8f9b943f0b637f5fb094080
Author: MattKC <mattkc@noreply.git.mattkc.com>
Date:   Mon Aug 18 15:04:31 2025 -0700

    more vaapi libs

commit 6fef38233ebbf7ecec5c1249f0792c3837fc1a02
Author: MattKC <mattkc@noreply.git.mattkc.com>
Date:   Mon Aug 18 14:50:22 2025 -0700

    link libva

commit 89a185efcafb0048e57a28baf207c0a810ea457f
Author: MattKC <mattkc@noreply.git.mattkc.com>
Date:   Mon Aug 18 14:32:51 2025 -0700

    conditionally compile with EGL

commit 409edbd810503b919aa03751584b1eadeeade8d5
Author: MattKC <mattkc@noreply.git.mattkc.com>
Date:   Mon Aug 18 14:22:47 2025 -0700

    only enable vaapi on linux builds

commit e0c3a001ac4c2c0b36cf2678c69cc7e034de9ed3
Author: MattKC <mattkc@noreply.git.mattkc.com>
Date:   Mon Aug 18 14:17:37 2025 -0700

    check for has_EGL_EXT_image_dma_buf_import EGL extension

commit a61f959de2e2946f46432959bb7c478412d55ffc
Author: MattKC <mattkc@noreply.git.mattkc.com>
Date:   Mon Aug 18 14:10:50 2025 -0700

    implement VAAPI and DRM

commit 4e51af70dbacd2e55e5b67f7154adf424360cea1
Author: MattKC <mattkc@noreply.git.mattkc.com>
Date:   Mon Aug 18 10:09:22 2025 -0700

    get VAAPI frames up to the display thread

commit 1270c0dfdaf16f9b80f514fc0c95141256cf8d8c
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
Date:   Mon Aug 18 07:29:00 2025 -0700

    began impl
2025-08-18 17:53:20 -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
VoxelTek 41f1f6efe2 CLI argument improvement (#207)
* Re-add CLI help messages

* Rename `vanilla-pi` to `vanilla`

* Use `argv` to get `vanilla` executable name
2025-08-13 09:12:47 -07:00
MattKC 1705518536 Update README.md 2025-07-25 14:42:34 -07:00
VoxelTek 67f7f6f5ac Rename Vanilla-Pi to Vanilla (#209)
* Rename vanilla-pi to vanilla-gui

* revert weirdly-changed menu.h

* Change icon to rounded

* Rename vanilla-gui to vanilla, name libvanilla

* Fix broken .desktop file

* Rename `vanilla-gui` to `vanilla`
2025-07-25 00:32:16 -07:00
Eduardo Meli ab052847cc alignment on all corners VUI_BUTTON_STYLE_CORNER (#137) 2025-06-26 14:10:19 -07:00
itsmattkc edd01b5e9f upgrade android SDL version to 2.32.8 2025-06-26 13:40:16 -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
VoxelTek e45f4448ae New Vanilla logo, make adaptive icon for Android (#193) 2025-06-23 20:57:21 -07:00
itsmattkc 888729c84b fix linux docker image 2025-06-23 15:04:42 -07:00
itsmattkc 00ffc143ca cmake: allow libnm support to be disabled 2025-06-20 18:39:42 -07:00
itsmattkc 4522c1f61f update SDL2 version now that they've fixed the red/blue swap 2025-06-20 18:29:07 -07:00
itsmattkc f1edc35edc cmake: self-build openssl if vendored 2025-06-20 18:28:50 -07:00
itsmattkc 06c3f0dc7c fix mac builds 2025-05-30 10:34:10 -07:00
itsmattkc 864f989ecf add macOS support 2025-05-29 22:43:27 -07:00
itsmattkc 68ca6f073f docker: add a bunch of other deps for linux
Basically all deps for SDL2 on Debian
2025-05-28 12:07:30 -07:00
itsmattkc 8f5b3efccd docker: add missing deps on linux 2025-05-28 11:17:23 -07:00
itsmattkc 570f9ad668 docker: add more deps to linux build 2025-05-28 10:57:18 -07:00
itsmattkc 608965b7c3 switch to 2.30.11 for seemingly better steam deck support 2025-05-28 10:26:02 -07:00
itsmattkc 30eefb7e0c update android to SDL 2.30.8 2025-05-26 18:43:24 -07:00
MattKC a8a6f26afe sdl 2.32.0 needs cxx on linux too apparently 2025-05-26 17:12:59 -07:00
itsmattkc 3098c2c710 older SDL needs cxx on windows 2025-05-26 16:48:45 -07:00
itsmattkc a18f070b85 cmake: downgrade vendored SDL to 2.30.0
It seems like this will fix #133 as well as an issue currently blocking the Steam Deck controller from working
2025-05-26 16:13:47 -07:00
itsmattkc 27f17d6204 print which game controller is in use 2025-05-26 15:35:22 -07:00
MattKC 190e70a255 Update Steam Deck link [skip ci] 2025-05-24 15:04:58 -07:00
itsmattkc 87b20ce437 fix regressions 2025-05-24 02:18:52 -07:00
itsmattkc a515c95c8d attempt to finish android support 2025-05-24 01:41:11 -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 d54f0491a5 compile android for all architectures 2025-05-23 23:46:22 -07:00
itsmattkc f3ef19a267 increase font filename buffer size and print filename in use 2025-05-23 23:28:47 -07:00
itsmattkc 879849e9c7 remove default paddle button mappings
Turns out these are inaccessible in Steam's game mode and instead Steam forces you to map them to something else. Therefore users can just map them to their respective keyboard keys.
2025-05-23 19:09:45 -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
MattKC 00f41e0546 Implement microphone support (#167)
* microphone initial work

* implement dumping functionality

Allows us to dump packets from the console for replay later on

* implement dump playback functionality

* pipe: when using playback, don't require wireless adapter

* move dump functionality to pipe

* started caramel library for interfacing with real gamepad

* finalized microphone implementation

* cleanup

* cleanup 2

* cleanup 3

* cleanup 4

* fixed more issues

* use initializers so mutex and cond are always valid

* rewrite audio output system to improve latency

* fix indent

* provide capability for audio to be enabled/disabled based on state

* fix android builds
2025-05-23 12:28:32 -07:00
itsmattkc 745dae9b96 add .editorconfig 2025-05-15 17:55:16 -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 c72f1796d7 add extra functions to paddles
This theoretically should enable the Home and Disconnect buttons on the Steam Deck, even though we should still have comprehensive remapping functionality for completeness
2025-05-13 17:32:26 -07:00
itsmattkc 7b3351a504 ensure gyro/accel is enabled on controller 2025-05-13 15:33:04 -07:00
itsmattkc db9368533a revert cursor autohide
Turns out this still made the cursor appear on touch screens so let's just not use it. Desktop users should use windowed mode instead.
2025-05-13 15:29:14 -07:00
itsmattkc bc01aedf57 implement SDL power for reporting system battery 2025-05-13 15:06:38 -07:00
itsmattkc dc7fb44e4d enable "plus" as an accept button too 2025-05-13 15:06:38 -07:00
itsmattkc 2eaaa1ad15 quit menus on escape 2025-05-13 15:06:38 -07:00