steam-controller-dsu-0.1.3 is not a library.
steam-controller-dsu
This is a DSU (CemuHook) UDP server, currently supporting the Gyro data of the 2026 Steam Controller on Linux. Windows is not supported at this time.
Tested Emulators
- Cemu
- Quirk: Through Steam input, make sure the controller has no bindings. You need to map controls in Cemu settings through the DSU server, existing bindings can mess up the process.
- Ryujinx
- Eden
- Azahar
- Quirk: If the server is stopped while the emulator is running motion controls might not work until the emulator is started.
Install
Cargo
- Install Rust and Cargo
- Ensure you have development files for
libudev(libudev-devon Debian,systemd-develon Fedora,systemdon Arch,eudev-libudev-develon Void) cargo install steam-controller-dsu
Manual
- Ensure you have
libudev(present on systemd distros) - Download the latest release binary, make sure it's executable, and stick it somewhere in
$PATH.
From source
- Download the latest stable versions of Rust and Cargo
- Ensure you have development files for
libudev(libudev-devon Debian,systemd-develon Fedora,systemdon Arch,eudev-libudev-develon Void) - Clone and build with
cargo build --release
Usage
Usage: steam-controller-dsu [OPTIONS]
Options:
--debug Run in debug mode: open the controller and dump raw IMU frames
--bind-addr <BIND_ADDR> UDP bind address for the CemuHook server [default: 0.0.0.0]
--port <PORT> UDP port for the CemuHook server [default: 26760]
--invert-pitch Invert the pitch axis
--slot <SLOT> CemuHook controller slot to report on (0-3 for Controllers 1 through 4). [default: 0]
-h, --help Print help
Wishlist
- Support Windows
- Support Steam Input-like configuration options (Gyro deadzone, sensitivity, etc)
- Support more devices (Steam Deck, 2015 Steam Controller, future Steam Devices, non-Steam devices?)
AI Usage
AI assistance from open models (Kimi K2.6, GLM-5) is used in the development of this application. AI is used for quick research and prototyping of new features and boilerplate, not for architectural decisions or complex logic. No generated code is currently used in the project without complete understanding by the human involved.