Wie bekomme ich einen XBOX 360-Controller zum Laufen?

58

Ich besitze ein Microsoft XBOX 360-Gamepad mit dem WLAN-Adapter und habe mich gefragt, was ich installieren müsste, um sie mit Ubuntu zu verwenden. Ich weiß, dass ich unter Windows die Treiber für den WLAN-Empfänger manuell installieren muss (falls dies der Fall ist) relevant.)

jhorton014
quelle
Leider hat nichts davon dazu geführt, dass mein Controller richtig funktioniert wie Xpadder für Windows. : /
Chris K

Antworten:

40

Wenn Sie Schwierigkeiten haben, Ihren XBOX 360-Controller zu betreiben, können Sie ihn auf einem Computer mit Ubuntu installieren und erfahren, wie Sie ihn konfigurieren. Diese Anweisungen können sowohl für kabelgebundene als auch für kabellose X-Box 360-Controller verwendet werden.

Anfangen

Um Ihren Xbox 360 Wired / Wireless-Controller unter Ubuntu 12.04 (Precise Pangolin) verwenden zu können, müssen Sie zunächst einige erforderliche Pakete installieren.

Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus:

sudo apt-get install --install-recommends jstest* joystick xboxdrv

Sie müssen auch sicherstellen, dass xpad nicht geladen wird:

echo "blacklist xpad" | sudo tee -a /etc/modprobe.d/blacklist.conf
sudo rmmod xpad  # unload module if already loaded

Dann starte das xboxdrv:

xboxdrv --silent 

Pad konfigurieren

Schließen Sie jetzt Ihren Gamecontroller über USB (Kabel) an Ihren PC an, oder schließen Sie Ihren XBOX 360 PC-Wireless-Gaming-Empfänger für Ihren Wireless-Controller an. Führen Sie dann den folgenden Befehl aus, um die Konfiguration zu starten:

jstest-gtk

Wählen Sie im folgenden Fenster Ihren Controller aus (Microsoft X-Box 360-Pad, generisches X-Box-Pad usw.) und klicken Sie auf Eigenschaften:

Bildbeschreibung hier eingeben

Hinweis Wenn Ihr Controller nicht aufgeführt ist, versuchen Sie, auf die Schaltfläche "Aktualisieren" zu klicken.

Es öffnet sich ein neues Fenster, in dem Sie Ihren Gamecontroller kalibrieren, die Tasten Ihres Gamecontrollers neu zuordnen (Reihenfolge der Achsen und Tasten ändern) usw. können. Bildbeschreibung hier eingeben

Speichern Sie nach Abschluss der Konfiguration Ihre neuen Einstellungen und schließen Sie das Fenster. Sie können jetzt Ihren Xbox 360-Controller verwenden, um Spiele unter Ubuntu zu spielen.

Konfigurieren Sie xboxdrv so, dass es beim Booten startet

Wenn Sie einen dedizierten Computer erstellen oder sicherstellen möchten, dass xboxdrv beim Start geladen wird, können Sie dies tun:

Erstellen Sie zuerst einen Upstart-Job:

sudoedit /etc/init/xboxdrv.conf

und füge dort den folgenden Inhalt hinzu:

start on filesystem
exec xboxdrv -D
expect fork

Dadurch wird sichergestellt, dass xboxdrv beim Booten gestartet wird.

Quellen:

stephenmyall
quelle
Wie kann ich diese Änderungen bei Steam-Login dauerhaft machen?
Waldir Leoncio
2
Ich habe ein PPA erstellt, um dieses in 14.04 zum Laufen zu bringen (einige kleine Unterschiede). Außerdem markiert diese PPA xpad als Konflikt, entfernt fehlerhafte Konfigurationen bei der Installation ordnungsgemäß und erstellt einen Systemeinstellungen-Eintrag mit dem Namen "Joysticks". Überprüfen Sie hier: launchpad.net/~rael-gc/+archive/ubuntu-xboxdrv
Rael Gugelmin Cunha
1
Das expect forkist nicht erforderlich (und sollte, falls erforderlich, zuerst platziert werden, dann der Befehl).
Rael Gugelmin Cunha
Damit xboxdrv im Daemon-Modus gestartet werden kann, müssen Sie möglicherweise eine Regel zu dbus hinzufügen (siehe hier: github.com/Grumbel/xboxdrv/issues/42 )
TimothyP
xboxdrv findet mein kabelgebundenes Joypad nicht :(
Salvatore Di Fazio
21

Ubuntu 14.04, 15.10, 16.04 :

Ich habe einen PPA erstellt, um einen richtigen Daemon für xboxdrv14.04 und höher zu installieren und zu erstellen .

Zusätzlich bereinigt diese PPA die defekte Konfiguration, markiert xpad als Konflikt (stoppt es falls nötig), startet den xboxdrv-Daemon und erstellt einen "Joysticks" -Eintrag in den Systemeinstellungen.

Um es zu installieren, starte es in einem Terminal:

sudo apt-add-repository -y ppa:rael-gc/ubuntu-xboxdrv
sudo apt-get update
sudo apt-get install ubuntu-xboxdrv

PS: Ich habe das Paket auf andere Releases geklont und es sogar so geändert, dass es funktioniert systemd.

Rael Gugelmin Cunha
quelle
3
Nichts, was ich gefunden habe, konnte meinen XBox 360 Wireless Receiver unter Linux Mint 17.1 zum Laufen bringen, bis ich dies tat. Dann sah ich plötzlich, wie sich mein Controller unter Linux zum ersten Mal synchronisierte. Vielen Dank dafür !!!
Acejavelin
3
+1, weil dies das Leben so viel einfacher macht
16

Endlich gelöst. Geben Sie dies einfach im Terminal ein

sudo apt-get update
sudo apt-get install xboxdrv
xboxdrv --silent &

und drücken Sie dann Strg + c

und fertig, du hast gerade den Xbox-Treiber installiert und bist bereit, deinen Xbox 360-Controller zu verwenden: D. Ich schätze, wenn alle sagen, der Controller ist ein Plug & Play-System, und Sie müssen nicht die erforderlichen Treiber installieren, um ihn zu verwenden.

Mohd Arafat Hossain
quelle
Und dann installiere jstest-gtk entweder über "sudo apt-get install jstest-gtk" oder es kann auch über das Ubuntu Software Center gefunden werden. Leider wurde das gesamte XBOX-Paket und eine Art GUI / Testprogramm nicht an das Software-Center gesendet.
Tony Wall
12

UPDATE: Dies ist für Kernel 4.2 (möglicherweise 15.10 oder 16.04) und höher nicht erforderlich. Dieser Bug wurde endlich behoben: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1272765 .

Wenn Sie Probleme mit blinkenden LEDs haben, fügen Sie einfach diesen ppa hinzu und installieren Sie das feste xpad-Kernelmodul von SteamOS. Vielen Dank, Valve!

sudo add-apt-repository ppa:mdeslaur/steamos
sudo apt-get update
sudo apt-get install steamos-xpad-dkms

Dadurch wird das xpad-Modul in Ubuntu aktualisiert, sodass Sie xboxdrv nicht benötigen.

jochenh
quelle
Oh mein Gott, es hat aufgehört zu blinken Ich liebe dich
Pitto
1
veraltet. nicht länger verfügbar. Bitte entfernen Sie answer
tatsu
9

Dies ist eine Aktualisierung bestehender Antworten, um einen XBox360-Controller in Wine> = 1.7 zum Laufen zu bringen, einschließlich Steam-Spielen in Wine unter Ubuntu> = 13.10. Für die Installation und den Betrieb sind keine Root-Berechtigungen erforderlich.

Bei der folgenden Methode wird x360ce.exe verwendet , das Dinput-Codes für die Kommunikation von Wine mit einem Spiel bereitstellt. (Beachten Sie, dass Ihr XBox-Controller weiterhin Xinput-Steuerelemente sendet.)

  1. Schließen Sie Ihren XBox360 (oder kompatiblen) Controller an, damit er automatisch vom xpad-Kernelmodul erkannt wird.

    Es muss nicht installiert und ausgeführt werden, xboxdrvda der Controller derzeit anscheinend erkannt wird. Setzen Sie das Xpad-Kernelmodul nicht auf eine Blacklist, wie in älteren Tutorials empfohlen.

  2. Laden Sie die ZIP-Archive für die Windows (Wine) -Anwendung x360ce und die zugehörigen DLL-Binärdateien für Xinput und Dinput herunter.
  3. Extrahieren Sie die ZIP-Archive, um deren Inhalt mit mindestens den folgenden Dateien in das ausführbare Verzeichnis des Spiels zu kopieren (z. B. ~/.wine/drive_c/Programs/Games/game.exeoder ~/.wine/drive_c/Programs/Steam/SteamApps/common/Name_Of_Game/game.exe):

    • x360ce.exe
    • dinput8.dll
    • xinput1_3.dll

    Einige Spiele benötigen möglicherweise auch:

    • xinput1_9.dll
  4. Führen Sie x360ce.exemit Wine aus, um eine Beispieldatei x360ce.iniim Verzeichnis des Spiels zu erstellen, falls diese noch nicht vorhanden ist.

  5. Beenden x360ce.exeSie (möglicherweise müssen Sie Wine töten, damit die Anwendung nicht mehr reagiert)
  6. Öffnen Sie die x360ce.iniDatei mit einem Editor und fügen Sie die folgende Zeile hinzu, um zukünftige Abstürze oder Abstürze zu vermeiden:

    Version=1
    
  7. Starten Sie x360ce.exeerneut, um Ihre XBox-Controller zu erkennen.

  8. Wir können optional aus einer vorgefertigten Setup-Datei auswählen, sobald der Controller erkannt wurde.
  9. Stellen Sie die Tasten und Joystick-Achsen Ihres Controllers auf die entsprechenden Werte ein.

    > * <sup> Screenshot folgt </ sup> *

  10. Save speichert diese Einstellungen in der Datei xbox360ce.ini

  11. Dann beenden (oder töten) x360ce.exe
  12. Öffnen Sie die x360ce.iniDatei bei Bedarf erneut in einem Editor, um einige Einstellungen zu optimieren.
  13. Ihr Windows-Spiel sollte jetzt den Controller erkennen, wenn es von Wine aus gestartet wird.
  • Trennen Sie den Controller nicht vom Computer, da er erst nach einem Neustart des Spiels erkannt wird.
  • Sichern Sie die INI-Datei für eine spätere Verwendung, um eine erneute Kalibrierung zu vermeiden.
Takkat
quelle
4

Ich bin mir nicht sicher, was Sie versucht haben, also lassen Sie uns zuerst die offiziellen Anweisungen versuchen. Bitte öffnen Sie ein Terminal (suchen Sie es im Bindestrich) und geben Sie nacheinander die folgenden Befehle ein (Sie müssen die Ausgabe nicht kopieren):

sudo add-apt-repository ppa:grumbel/ppa
sudo apt-get update
sudo apt-get install xboxdrv
sudo apt-get install xboxdrv-stable 

Starten Sie neu und Ihr drahtloser Empfänger sollte erkannt werden.

Beachten Sie, dass es für leider kein 12.04-Paket gibt xboxdrv-stable. Sie können sich an den Paketbetreuer wenden , vorausgesetzt, Sie haben ein Launchpad.net-Konto. Versuchen Sie dennoch, die Software zu verwenden, die den Treiber benötigt.

ζ--
quelle
2

Der Fehler, den Sie bei Ihrem Makefile sahen, beruhte darauf, dass Makefiles Tabulatoren zum Einrücken verwendeten, und wahrscheinlich wurden diese Tabulatoren beim Kopieren der Datei in Leerzeichen geändert.

David Rohr
quelle
1

Sie müssen nichts installieren, der Kernel hat einen eingebauten Treiber. Stecken Sie einfach den WLAN-Adapter in USB und synchronisieren Sie den Controller. xboxdrvwird nur benötigt, wenn Sie zusätzliche Konfigurationsoptionen, Tastenzuordnung, Mausemulation usw. wünschen.

Grumbel
quelle
Dies ist einfach nicht wahr, funktioniert nicht am 12.04 oder 13.10
Calin
Nicht arbeiten, wo? In 99% der Fälle ist dies ein Problem mit dem Spiel, nicht mit dem Controller oder dem Treiber. Der xpadKerneltreiber ist seit einigen Jahren ein Standardbestandteil von Ubuntu.
Grumbel
xpad ist wirklich schlecht mit der drahtlosen Version des Xbox360-Gamepads. Der WLAN-Adapter wird als erstes und das Joypad als zweites Joypad erkannt. Und viele Spiele haben keine Konfiguration, um den zu verwendenden Joystick zu ändern. Und in einigen Ubuntu-Versionen (wie 12.04) hört die LED im Gamepad nicht auf zu blinken.
Rael Gugelmin Cunha
0

Das ist altes Zeug. Es sollte funktionieren, sobald Sie es einstecken, wenn das Spiel kompatibel ist. Ich denke, wenn das Spiel einen Xbox-Controller (dh keinen generischen) in Wine erwartet, wird es wahrscheinlich nicht funktionieren. Einheimische Spiele sollten funktionieren. Es ist als Projekt für Google Summer of Code aufgeführt und steht daher auf der Tagesordnung.

daithib8
quelle
Verdammt, die Spiele sind nicht kompatibel -.-. Ich habe es gerade auf einem Emulator getestet und es hat funktioniert ... aber nicht auf Wein :(
Mohd Arafat Hossain
Warten Sie, es funktioniert !!!. Ich habe Underground 2 unter Windows ausprobiert und der Xbox-Controller funktioniert. Dann habe ich den Controller in Ubuntu U2 ausprobiert und es funktioniert nicht :( Was ist falsch?
Mohd Arafat Hossain
Ich denke, wenn das Spiel Xinput verwendet, wird es nicht funktionieren. Was ist U2?
daithib8
Eine Abkürzung für Underground 2;)
Mohd Arafat Hossain
OK, das ist ein Weinspiel.
Daithib8
0

Ich habe einen Linux-Kernel der Version 4.0.0 und brauche nichts zu installieren und absolut nichts zu konfigurieren, um Spiele mit meinen XBOX 360-Controllern zu spielen. Sogar Linux-native Couch-Coop-Spiele, die mehr als einen Controller erfordern, wie "Liebhaber in einer gefährlichen Raumzeit" oder "Trine", waren sofort einsatzbereit. Einfach die beiden Controller einstecken und fertig.

josch
quelle
0

Der Yank-Decoupler-Teil meines Controllers war nicht ganz eingesteckt. Das war mein Problem.

ThorSummoner
quelle