← Downloads

xpadneo 0.9.6

Driver v0.9.6 x86_64 TAR.GZ October 15, 2025

An advanced Linux driver for Xbox One and Xbox Series controllers over Bluetooth, fixing the wrong button mapping, missing rumble, and broken trigger axes the in-kernel driver produces.

Download TAR.GZ Project website ↗

Download Mirrors

Mirror Region Download
xpadneo (Official) Primary Global Download
GitHub Releases Global Download

An Xbox controller connected over Bluetooth works with the in-kernel hid-generic driver, badly. Buttons are mapped wrongly, rumble does not work, and the triggers report as a single shared axis so pressing one moves the other.

xpadneo fixes all of it.

What it corrects

Correct button mapping, so games see the buttons they expect without per-game remapping.

Rumble, including trigger rumble on controllers that have it.

Independent trigger axes, which is the one that breaks racing games most visibly.

Battery level reporting, so the desktop shows the charge.

Correct device naming, which matters because some games identify controllers by name.

Installing

# Arch, from the AUR
paru -S xpadneo-dkms

# Debian and Ubuntu, or anything else
git clone https://github.com/atar-axis/xpadneo.git
cd xpadneo && sudo ./install.sh

It builds through DKMS, so it rebuilds on kernel updates:

dkms status | grep xpadneo

If the build fails after a kernel update, your controller reverts to the poor generic behaviour, which is the usual reason mapping suddenly breaks.

Pairing

bluetoothctl
scan on
pair AA:BB:CC:DD:EE:FF
trust AA:BB:CC:DD:EE:FF
connect AA:BB:CC:DD:EE:FF

trust is the step people skip. Without it the controller pairs and then refuses to reconnect automatically. Our Bluetooth guide covers the rest.

Some controller firmware versions pair poorly with Linux. Updating the controller firmware, which requires Windows or the Xbox app, resolves several known issues.

Wired connections

Over USB, the in-kernel xpad driver handles Xbox controllers correctly and xpadneo is not needed. This driver is specifically about the Bluetooth path.

Testing it

sudo apt install jstest-gtk
jstest /dev/input/js0

Press each button and move each trigger. Independent trigger axes are the quickest confirmation that the driver loaded.

Our gaming on Linux guide covers the wider picture, including Steam Input, which can remap controllers regardless of driver.

Verify Your Download

Source releases are on GitHub.