Skip to content

Releases: deucebucket/ryudeck

Ryudeck v0.1.17

26 Jun 02:22

Choose a tag to compare

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.sh

Ryudeck v0.1.16

25 Jun 21:21

Choose a tag to compare

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.sh

Ryudeck v0.1.15

25 Jun 20:56

Choose a tag to compare

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.sh

Ryudeck v0.1.14

25 Jun 20:50

Choose a tag to compare

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.sh

Ryudeck v0.1.13

25 Jun 20:34

Choose a tag to compare

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.sh

Ryudeck v0.1.12

25 Jun 20:30

Choose a tag to compare

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.sh

Ryudeck v0.1.11

25 Jun 20:23

Choose a tag to compare

Ryudeck v0.1.11 — PlayerIndex collision fix

Fix

  • Per-game configs with use_input_global_config: false had 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 with Id: "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.sh

Ryudeck v0.1.10

25 Jun 20:15

Choose a tag to compare

Ryudeck v0.1.10 — crash fix

Fix

  • InvalidCastException crash: game launch would crash when a controller config was passed to the keyboard handler. AvaloniaKeyboard.SetConfiguration now 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.sh

Ryudeck v0.1.9

25 Jun 20:07

Choose a tag to compare

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.sh

To 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.png

If upgrading from v0.1.7/v0.1.8 and controllers don't work

rm -rf ~/.config/Ryudeck/games/

Ryudeck v0.1.8

25 Jun 19:12

Choose a tag to compare

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.sh

This 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.