Skip to content

Repository files navigation

GitHub Actions Workflow Status Black JS/TS Standard Style

GitHub Downloads (all assets, all releases)

Xone Driver Manager - Decky Plugin

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.

Features

  • 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

Screenshots

Not Installed Installing Installed Pairing
Not Installed Installing Installed Pairing

Installation

Note

The Decky store does not accept plugins that disable read-only so you must install manually. See the PR for more information.

  1. Download the .zip from the latest releases page.
  2. Open the Decky settings and navigate to Developer.
  3. Click Install Plugin from ZIP File.
  4. Select the downloaded .zip file.

Updates

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 from Source

Building requires the Decky CLI and Docker (or Podman).

  1. Clone the repository
  2. Run pnpm install to install dependencies
  3. Run pnpm setup:decky once to install the Decky CLI
  4. Run pnpm package to build and package the plugin - the .zip is written to out/
  5. Transfer the .zip file to your Steam Deck and follow the manual installation steps above, or copy .env.example to .env, fill in your Deck's IP, SSH key and deck user password (needed for the remote sudo steps even though SSH login uses a key), and run pnpm deploy to 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.

Usage

  1. Open Quick Access Menu (⋯ button)
  2. Navigate to the Decky tab (plug icon)
  3. Click on "Xone Driver Manager"
  4. Click Install Drivers to install the drivers

Pairing a Controller to the Dongle

  1. Click the toggle to enable pairing mode (dongle LED will blink)
  2. Hold the pairing button on your Xbox controller until the Xbox logo blinks rapidly
  3. The controller will connect automatically
  4. Disable pairing mode after successful connection

After SteamOS Updates

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.

Requirements

  • Decky Loader installed
  • Xbox One or Series controller (wired) or Xbox Wireless Adaptor for Windows (wireless)

Credits

License

BSD-3-Clause License - See LICENSE for details.

About

Decky Plugin to manage xone and xpad-noone drivers for Steam Deck

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages