A Decky Loader plugin to install and manage the xone Linux kernel driver for Xbox One and Xbox Series X|S accessories.
xone is a modern replacement for xpad, aiming to be compatible with Microsoft's Game Input Protocol (GIP). Installing xone will disable the xpad kernel driver. If you still use Xbox or Xbox 360 peripherals, this plugin also installs xpad-noone as a replacement for xpad.
- One-click driver installation - Install the xone and xpad-noone drivers directly from Gaming Mode
- Easy uninstallation - Remove drivers cleanly with a single click
- Pairing mode control - Enable/disable dongle pairing mode without leaving Gaming Mode
- SteamOS update detection - Automatically notifies you when drivers need reinstalling after a system update
| Not Installed | Installing | Installed | Pairing |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Note
The Decky store does not accept plugins that disable read-only so you must install manually. See the PR for more information.
- Download the
.zipfrom the latest releases page. - Open the Decky settings and navigate to Developer.
- Click Install Plugin from ZIP File.
- Select the downloaded
.zipfile.
Since this plugin is not on the Decky Store, you won't get automatic updates through the store/Decky Loader.
Starting with version 0.3.0, the plugin includes a built-in auto-update system. When a new release is detected, a button will appear allowing you to download and install the update seamlessly. The Quick Access Menu will briefly refresh to apply the changes.
Building requires the Decky CLI and Docker (or Podman).
- Clone the repository
- Run
pnpm installto install dependencies - Run
pnpm setup:deckyonce to install the Decky CLI - Run
pnpm packageto build and package the plugin - the.zipis written toout/ - Transfer the
.zipfile to your Steam Deck and follow the manual installation steps above, or copy.env.exampleto.env, fill in your Deck's IP, SSH key and deck user password (needed for the remotesudosteps even though SSH login uses a key), and runpnpm deployto build and push it directly
Note
Because this plugin requests the root flag, Decky Loader re-chowns its install directory back to root whenever the plugin reloads (a security measure so an unprivileged user can't tamper with code that runs as root) - including via its live-reload file watcher, which can race an unprivileged copy. pnpm deploy (scripts/deploy.sh) sidesteps this by uploading the zip as deck and extracting it as root on the Deck directly, the same approach the official decky-plugin-template's VS Code tasks use, rather than using decky plugin deploy's built-in unprivileged rsync.
VS Code tasks (.vscode/tasks.json) are also provided for the above via Terminal → Run Task.
- Open Quick Access Menu (⋯ button)
- Navigate to the Decky tab (plug icon)
- Click on "Xone Driver Manager"
- Click Install Drivers to install the drivers
- Click the toggle to enable pairing mode (dongle LED will blink)
- Hold the pairing button on your Xbox controller until the Xbox logo blinks rapidly
- The controller will connect automatically
- Disable pairing mode after successful connection
When SteamOS updates, kernel modules are often removed. The plugin will detect this and show a notification prompting you to reboot and reinstall the drivers. Click Reinstall Drivers to restore functionality once you have rebooted.
- Decky Loader installed
- Xbox One or Series controller (wired) or Xbox Wireless Adaptor for Windows (wireless)
- xone - Modern Linux kernel driver for Xbox One and Xbox Series X|S accessories
- xpad-noone - xpad replacement for legacy Xbox/Xbox 360 peripherals
- Original install script - My script this plugin is based on
- Decky Loader - The plugin framework
BSD-3-Clause License - See LICENSE for details.



