Releases: deucebucket/ryudeck
Ryudeck v0.1.17
v0.1.17 — safer config resets + controller Input tab
Fixes
- Config Reset no longer nukes DLC: Reset Config (QAM) and Reset to Default (Settings) now only strip input entries — DLC paths, graphics, and system settings survive
- Controller Input tab: Settings → Input now has controller type cycle, stick deadzone steppers, Reset to Default
- QAM Controller section: shows connected controller, Reset Config action
Install
tar xzf ryudeck-v0.1.17-linux_x64.tar.gz && ./Ryudeck/install.shRyudeck v0.1.16
v0.1.16 — Controller blade + auto-save
New
- QAM blade: CONTROLLER section shows connected controller name
- Reset Config: blade action strips keyboard config, forces auto-bind to regenerate controller entries, persists to disk
- Auto-save: auto-bind results are now persisted so per-game configs survive restarts (no more keyboard-only revert)
tar xzf ryudeck-v0.1.16-linux_x64.tar.gz && ./Ryudeck/install.shRyudeck v0.1.15
v0.1.15 — Gamescope keyboard skip
In Game Mode, keyboard and mouse input are now disabled entirely.
The keyboard config at Player 0 no longer conflicts with the controller
— no more stick overwrites, no more idMismatch loops.
tar xzf ryudeck-v0.1.15-linux_x64.tar.gz && ./Ryudeck/install.shRyudeck v0.1.14
v0.1.14 — thumb stick fix
Keyboard entry at Player 0 was overwriting the controller's stick data
with (0,0) in the HLE state list. Now skips keyboard entries when that
slot already has controller input.
tar xzf ryudeck-v0.1.14-linux_x64.tar.gz && ./Ryudeck/install.shRyudeck v0.1.13
Ryudeck v0.1.13 — type-safe SetConfiguration
All driver SetConfiguration methods now type-check before casting:
SDL3Gamepad, SDL3JoyCon, SDL3Keyboard, AvaloniaKeyboard. Fixes
InvalidCastException when keyboard configs were dispatched to
controller handlers and vice versa.
tar xzf ryudeck-v0.1.13-linux_x64.tar.gz && ./Ryudeck/install.shRyudeck v0.1.12
Ryudeck v0.1.12 — keyboard/controller conflict fix
Fix
- When a gamepad is already open, keyboard entries at the same PlayerIndex with stale Id: "0" no longer overwrite it. The controller takes priority.
Install
tar xzf ryudeck-v0.1.12-linux_x64.tar.gz
./Ryudeck/install.shRyudeck v0.1.11
Ryudeck v0.1.11 — PlayerIndex collision fix
Fix
- Per-game configs with
use_input_global_config: falsehad a keyboard entry at Player 0. Auto-bind added a controller also at Player 0. The keyboard entry (processed second in ReloadConfiguration) overwrote the controller withId: "0"— causing a permanent idMismatch loop. - Now marks slots as claimed in the snapshot so subsequent entries reuse the already-opened gamepad.
Install
tar xzf ryudeck-v0.1.11-linux_x64.tar.gz
./Ryudeck/install.shRyudeck v0.1.10
Ryudeck v0.1.10 — crash fix
Fix
- InvalidCastException crash: game launch would crash when a controller config was passed to the keyboard handler.
AvaloniaKeyboard.SetConfigurationnow checks the config type before casting.
Changes since v0.1.8
- v0.1.10: Fix InvalidCastException crash on game launch
- v0.1.9: 100ms time-based debounce prevents tight-loop controller reopen on some Decks
Install
tar xzf ryudeck-v0.1.10-linux_x64.tar.gz
./Ryudeck/install.shRyudeck v0.1.9
Ryudeck v0.1.9 — tight-loop reopen fix
Fix
- 100ms time-based debounce on controller reopen. Some Decks hit a tight loop (~900 Hz) where the controller was disposed+reopened every 1ms, starving the guest of input. The debounce caps reopens at <10/sec as a hard backstop, regardless of what the stateful guards report.
One-shot install (self-contained, no .NET needed)
tar xzf ryudeck-v0.1.9-linux_x64.tar.gz
./Ryudeck/install.shTo add to Steam Game Mode
./Ryudeck/add-to-steam.sh --exe ~/.local/share/ryudeck/Ryudeck.sh --yes \
--grid-landscape ./Ryudeck/steam-grid/grid-landscape.png \
--grid-portrait ./Ryudeck/steam-grid/grid-portrait.png \
--grid-hero ./Ryudeck/steam-grid/hero.png \
--grid-logo ./Ryudeck/steam-grid/logo.pngIf upgrading from v0.1.7/v0.1.8 and controllers don't work
rm -rf ~/.config/Ryudeck/games/Ryudeck v0.1.8
Ryudeck v0.1.8 — controller fix take 2
Changes since v0.1.7
- Fix: idempotent reopen guard was reading stale per-game config Id ('0') back into the controller, causing the reopen loop to continue. Now writes correct live pad Id back into config.
- Fix: NpadController no longer disposes/reopens the gamepad every frame when the same physical device is bound.
The Deck path
- Steam Input → virtual gamepad → SDL3 reads it with full Deck support (paddles, gyro, touchpad)
- No Spacewar, no Steamworks API → no "Playing Spacewar"
- Works automatically when launched as a non-Steam game through Steam
One-shot install (self-contained, no .NET needed)
tar xzf ryudeck-v0.1.8-linux_x64.tar.gz
./Ryudeck/install.shThis copies everything to ~/.local/share/ryudeck, creates a .desktop entry (appears in your app menu), and installs the icon. Launch from your desktop menu or ~/.local/share/ryudeck/Ryudeck.sh.
To add to Steam Game Mode
Add a Non-Steam Game → browse to ~/.local/share/ryudeck/Ryudeck.sh
If you have v0.1.7 per-game configs
Old configs may have stale controller IDs. Wipe them:
rm -rf ~/.config/Ryudeck/games/v0.1.8 will regenerate fresh configs on next launch.