[Solved] Xbox controller / linux

Hello everyone.

I have lost my damn mind. I have 99.9% made my way to adopting Ubuntu, specifically Ubuntu MATE 22.04 LTS. There is one crippling factor left, and that is connecting an xbox one controller via bluetooth.

I have tried xboxdrv via sudo apt install xboxdrv but get an error message of:

wwed@wwed-Z590-AORUS-MASTER:~$ sudo systemctl start xboxdrv.service
Job for xboxdrv.service failed because of unavailable resources or another system error.
See "systemctl status xboxdrv.service" and "journalctl -xeu xboxdrv.service" for details.
wwed@wwed-Z590-AORUS-MASTER:~$ systemctl status xboxdrv.service
Ă— xboxdrv.service - Xbox controller driver daemon
     Loaded: loaded (/etc/systemd/system/xboxdrv.service; enabled; vendor preset: enabled)
     Active: failed (Result: resources)
        CPU: 0

Jun 16 18:36:33 wwed-Z590-AORUS-MASTER systemd[1]: Failed to start Xbox controller driver daemon.
Jun 16 18:46:49 wwed-Z590-AORUS-MASTER systemd[1]: xboxdrv.service: Failed to load environment files: No such file or directory
Jun 16 18:46:49 wwed-Z590-AORUS-MASTER systemd[1]: xboxdrv.service: Failed to run 'start-pre' task: No such file or directory
Jun 16 18:46:49 wwed-Z590-AORUS-MASTER systemd[1]: xboxdrv.service: Failed with result 'resources'.
Jun 16 18:46:49 wwed-Z590-AORUS-MASTER systemd[1]: Failed to start Xbox controller driver daemon.
Jun 16 18:49:39 wwed-Z590-AORUS-MASTER systemd[1]: /etc/systemd/system/xboxdrv.service:7: PIDFile= references a path below legacy directory /var/run/, updating /var/run/xboxdrv.pid →>
Jun 16 18:49:48 wwed-Z590-AORUS-MASTER systemd[1]: xboxdrv.service: Failed to load environment files: No such file or directory
Jun 16 18:49:48 wwed-Z590-AORUS-MASTER systemd[1]: xboxdrv.service: Failed to run 'start-pre' task: No such file or directory
Jun 16 18:49:48 wwed-Z590-AORUS-MASTER systemd[1]: xboxdrv.service: Failed with result 'resources'.
Jun 16 18:49:48 wwed-Z590-AORUS-MASTER systemd[1]: Failed to start Xbox controller driver daemon.

I have tried

sudo apt install sysfsutils
sudo nano /etc/sysfs.conf
place the following at the end of the file. "/module/bluetooth/parameters/disable_ertm=1"

The controller either outright does not connect or “connects” then disconnects in a rolling cycle or "connects but the controller is still in pairing mode.

Can someone help me so I can finally transition away from windows!

Best,

WWED

1 Like

IIRC the Xbox controller only works in wired mode on Linux. No Bluetooth, nor Wi-Fi dongle support.

I stand corrected.

Hello,

For those who have run into a similar issue as me, memorializing my findings.

For connecting an xbox one controller via bluetooth…

The ultimate culprit was an outdated firmware on the xbox one controller.

There are videos of inserting "/module/bluetooth/parameters/disable_ertm=1" into the /etc/sysfs.conf file from 2021/2022. This may work for you if your firmware is up to date from the start. I haven’t tested this on a stand alone basis.

What had worked for me is installing xpadneo which can be found at xpadneo github

In doing so I received a rumble from the controller as feedback which led me to believe some sort of connection was being made as opposed to alternatives that indicated a rolling connect/disconnect even though the rolling connect/disconnect was still occurring. I concluded that I was 80-90% of the way there.

Next I altered # /etc/bluetooth/main.conf to contain the following:

[LE]
MinConnectionInterval=7
MaxConnectionInterval=9
ConnectionLatency=0

And finally I updated the xbox controller’s firmware per guidance from the troubleshooting page.

If you run into a situation like mine I would do the following:

  1. Update xbox one controller firmware
  2. If that fails on its own update the /etc/sysfs.conf file
  3. Failing that install xpadneo
  4. Failing that, update the # /etc/bluetooth/main.conf file

… restarting after every step with smooth this process for you (i.e. no fiddling with restarting, stopping, starting, enabling services) .

Again, updating the firmware may work alone but at that time I had already completed steps 2-4 and I am just happy to have a functioning controller I did not want to tinker with it further. I suspect 1 & 2 may be enough based on the videos and forum posts around the internet.

I still need to test if steps 1 & 2 are sufficient to get the controller working on a raspi for which I ran into a similar issue. It appears promising.

Best,

WWED

EDIT: Grammar

2 Likes