Wie bekomme ich einen Xbox One-Controller für 16.04 (nicht Steam)

14

Ich habe eine neue Installation von Ubuntu 16.04 und ich habe ein Spiel von GOG namens Transistor heruntergeladen. Ich habe einen drahtlosen Xbox One-Controller gekauft, um genau diese Art von Spiel zu spielen. Soweit ich herausfinden konnte, wird WLAN auf Ubuntu für diesen Controller noch nicht unterstützt, daher habe ich es mit einem [bekanntermaßen funktionierenden] Micro-USB> USB-Adapter angeschlossen.

  • Ich habe das Spiel erfolgreich installiert. Ich kann es mit meiner Tastatur / Maus spielen. Ein Klick auf das Controller-Symbol in den Spieleinstellungen führt zu nichts.

  • Ich habe "Ubuntu xboxdrv integration" installiert und habe jetzt eine Joystick-Option in meinem Einstellungsmenü. Es werden vier 360-Controller aufgelistet, von denen keiner auf Eingaben des Controllers reagiert.

  • Wenn ich lsusbtippe, wird "Microsoft" als eines der verbundenen Dinge aufgelistet. Ich habe die Verbindung zum Controller getrennt und der Eintrag verschwindet, damit ich weiß, dass der Controller vom System gesehen wird. Wenn ich es anschließe, rumpelt es für einen Moment.

  • Wenn ich die Taste "X" (Verbinden) drücke, blinkt sie fast 30 Sekunden lang.

Soweit ich weiß, ist auch der Xbox One-Controller über Kabel mit neueren Versionen von Ubuntu kompatibel. Kann mir jemand sagen, was ich nicht tue oder wo ich anfangen soll zu suchen? Ich gehe davon aus, dass ein neuer Kernel mit dem Betriebssystem installiert wurde.

Ich habe getippt lsmodund es gibt kein ubuntu-xboxdrvoder xboxdrvoder sogar xpadin der Liste. Ich habe insmod ubuntu-xboxdrvin das Terminal getippt und erfahren, dass es nicht geladen werden kann, weil es keine Datei oder kein Verzeichnis gibt. Das Tippen modprobe ubuntu-xboxdrvsagte auch, dass es es nicht finden konnte. (Ich habe es auch xboxdrvfür beide versucht .)

Soweit ich das beurteilen kann, ist es der Schuldige Nummer eins, kein geladener Mod zu sein. Wie sehe ich, ob ubuntu-xboxdrvüberhaupt der Name des Mods ist? Ich habe durch Neuinstallation überprüft, ob die Installation erfolgreich war. Wie finde ich wo es hingegangen ist?

Welcome1der
quelle

Antworten:

18

OPs Lösung für ihr eigenes Problem :

Zuerst habe ich gelesen, dass mit Kerneln nach 4.1 * (ich habe es überprüft und habe 4.4 *) xboxdrv nicht mehr funktioniert, insbesondere nicht mit dem xbox one-Controller.

Es scheint, dass Xpad von Steam geliebt wurde, also ist es nicht mehr so ​​veraltet wie früher. Ich weiß nicht, was es an xboxdev verliert, aber ich möchte nur, dass der Controller funktioniert.

Mein Controller ist die neuere Firmware-Version namens Covert Forces Edition. Wegen seiner neuen Firmware braucht es einen Patch, den ich hier gefunden habe .

sudo apt-get install git
sudo apt-get install dkms
sudo git clone https://github.com/paroj/xpad.git /usr/src/xpad-0.4
sudo dkms install -m xpad -v 0.4

Alles schien in Ordnung zu sein. Aber ich habe geschlagen lsmodund war xpadimmer noch nicht geladen. Zum Laden habe ich folgendes eingegeben:

sudo modprobe xpad

Dies gab mir einen neuen Fehler, den es nicht einfügen konnte, da der erforderliche Schlüssel nicht verfügbar ist. Dies wird gelöst, indem Sie den sicheren Start in Ihrem BIOS deaktivieren.

Ich habe es sudo modprobe xpaderneut eingegeben und es gab keine Bestätigungen, aber keine Beschwerden. Ich schaute unter lsmodund siehe da, ganz oben auf der Liste stand xpad! Ich vermute, es ist die Mod-Version, weil sie jetzt im Joystick-Menü in den Einstellungen als 5. Controller erscheint und das verdammte Ding antwortet. Das "X" leuchtet und die Tasten funktionieren.

Zanna
quelle
1
Das ist genial, vielen Dank für die Anleitung @Zanna!
Metaphore
Endlich ... Ich habe schon eine ganze Weile nach einer Lösung gesucht ... Mein Controller ist ein Xbox One S-Controller und es funktionierte problemlos am 16.04, aber nicht am 14.04. Mit diesem Patch hat es geklappt. Die "X" -Verkäufertaste leuchtet nun und blinkt nicht mehr, und der Controller funktioniert!
Henrique Ferrolho
7
  1. installieren sysfsutils- sudo apt install sysfsutils
  2. Öffnen Sie die Konfigurationsdatei mit gksu gedit /etc/sysfs.conf
  3. Fügen Sie diese Zeile in sysfs.conf-> einmodule/bluetooth/parameters/disable_ertm = 1
  4. Speichern und neu starten.
user687424
quelle
Vielen Dank! Warum funktioniert das, warum wird es gebraucht? Ist die ERTM-Implementierung im XBox-Controller oder im Treiber fehlerhaft oder ist sie etwas völlig anderes?
Arkod
Ich habe es gerade mit Ubuntu 17.10 versucht. Leider hatte dies keine Auswirkung: Die Anzeigen meiner Xbox One-Controller blinken und sind im Bluetooth-Einstellungsfeld nicht sichtbar.
Adam Dingle
Es ist zu erwähnen, dass gksu nicht mehr als Mittel zum Ausführen von Desktop-Anwendungen empfohlen wird, die höhere Berechtigungen erfordern. (Es wurde sogar in 18.04 komplett entfernt ). Bitte verwenden Sie stattdessen $ pkexec , da dies seit einiger Zeit die empfohlene Methode ist.
mstfacmly