Xbox Controller unter Linux verwenden

Unter Windows werden Xbox Controller automatisch erkannt, wenn sie mit dem PC verbunden werden. Das Betriebssystem und der Controller stammen beide vom selben Haus und kennen sich selbstverständlich. Ein Windows Betriebssystem hat alle Treiber für jegliche Xbox Controller bei der Installation mit dabei.

Unter Linux (Debian) ist der Erfolg der ersten Einrichtung einer Verbindung abhängig vom Xbox Controller Modell. Für das Modell 1708 muss die Bluetoothkonfiguration angepasst werden. Im Folgenden wird gezeigt, wie mit unterschiedlichen Modellen eine Verbindung hergestellt werden kann und welche Besonderheiten es dabei zu beachten gibt.


Xbox Controller (Modell 1708)

Das Xbox Controller Modell 1708 wurde mit der Xbox One S eingeführt.

Xbox Wireless Controller Modell 1708

Das Modell 1708 (vgl. Xbox Wireless Controller) kann unter Linux (Debian) ohne USB-Adapter genutzt werden. Die Verbindung über Bluetooth erfordert entsprechende Hardware und Treiber am Rechner. Damit die Verbindung funktioniert, muss der Bluetooth Stack am PC angepasst werden. Der Enhanced Re-Transmission Mode (ERTM) des Bluetooth Moduls muss deaktiviert sein, sonst lässt sich der Controller Modell nicht verbinden.

sudo modprobe joydev
sudo apt-get install sysfsutils
sudo nano /etc/sysfs.conf

Folgende Zeile muss in die Konfigurations-Datei eingefügt werden. (Strg+O speichern, Strg+X verlassen)

module/bluetooth/parameters/disable_ertm = 1

Der Dienst muss abschließend neu gestartet werden.

sudo service sysfsutils restart

Damit sind die Voraussetzungen zur erfolgreichen Verbindung über Bluetooth gegeben. Für die weiteren Schritte sind folgende Kapitel dieser Seite hilfreich.

  1. Verbindung über Bluetooth durch das Terminal und
  2. die Installation von einem Tool zum Testen.

Xbox Controller (Modell 1914)

Das Xbox Controller Modell 1708 wurde mit den Xbox-Series-Konsolen eingeführt.

Xbox Wireless Controller Modell 1914

Das Modell 1914 (vgl. Xbox Wireless Controller) kann unter Linux (Debian) mit einem USB-C-Kabel oder durch Bluetooth genutzt werden. Die Verbindung über Bluetooth erfordert entsprechende Hardware am PC.

Verbindung über Bluetooth durch das Terminal

Die Bluetooth-Verbindung eines Xbox Controllers kann entweder über das Einstellungsmenü (Einstellungen → Bluetooth) oder über die Kommandozeile aufgebaut werden. In sämtlichen Foren wird empfohlen, die Verbindung über die Kommandozeile aufzubauen. Aus persönlicher Erfahrung gab es keine Probleme mit dem Einstellungsmenü.

$ bluetoothctl
[bluetooth]# power off
[bluetooth]# power on
[bluetooth]# scan on  //Suche Nachricht wie: [NEW] Device 68:6C:E6:54:0B:5B Xbox Wireless Controller
[bluetooth]# trust 68:6C:E6:54:0B:5B
[bluetooth]# pair 68:6C:E6:54:0B:5B
[bluetooth]# connect 68:6C:E6:54:0B:5B

Hinweis: Für eine Verbindung über die Kommandozeile muss der Xbox Wireless Controller im Bluetooth Einstellungsmenü als Gerät entfernt werden.

Xbox Wireless Controller in den Linux Bluetooth Einstellungen entfernen

Wenn die Verbindungstaste am Controller länger gedrückt wird, geht der Controller in den Bluetooth-Verbindungsaufbau. Das schneller blinkende Xbox Symbol signalisiert die Bereitschaft zur Verbindung.

Tool zum Testen

Zum Testen von Controller-Eingaben eignet sich das jstest-gtk. Einmal installiert, werden alle verbundenen Controller beim Programmstart gelistet. Nach der Auswahl des erkannten Controllers wird folgende GUI dargestellt, die in Echtzeit die Controller-Eingaben visualisiert.

sudo apt-get install jstest-gtk
GUI von jstest-gtk

Links

wiki.ubuntuusers.de/Howto/XBox_ONE_Wireless_Controller

https://de.wikipedia.org/wiki/Xbox_Wireless_Controller

https://github.com/atar-axis/xpadneo

https://github.com/medusalix/xone