Ihr habt Linux installiert und wollt via Steam Elite Dangerous zocken? An und für sich ist das heute kein Problem mehr, da Linux von Steam unterstützt wird, und viele auf Steam erhältliche Spiele auch unter Linux lauffähig sind. Manche mit Einschränkungen, andere laufen auf einem Linux-Rechner vielleicht sogar besser als unter Windows. Aber dann kommt es doch immer mal wieder vor, dass die geliebte Hardware streikt, oder sich nicht so verhält wie sie es sollte. So auch diverse HOTAS (Schubregler und Joysticks) die von Steam (oder besser gesagt von Proton) falsch interpretiert und eingebunden werden.
Lange Rede gar kein Sinn: Hier kommt die Anleitung wie ich meine geliebten VIRPIL Schubregler und Joysticks für Elite fit gemacht habe. In der Theorie sollte das auch für alle anderen HOTAS funktionieren, kann ich aber nicht garantieren, weil ich es nicht testen kann.
Das Problem: Die Geräte werden zwar am USB-Port erkannt, aber falsch eingebunden. Proton, das ist die Software die die Kompatiblitätsschicht zu Windows zur Verfüngung stellt, bindet diese Geräte als X-Box Gamekontroller ein. Das geht natürlich gründlich in die Hose, und VIRPILs und VKBs werden somit in Elite unter Linux unbrauchbar. Das müssen wir abstellen, indem wir in der Registry, die steuert wie die Hardware eingebunden wird, einige Änderungen vornehmen.
Ich zeige euch den Weg anhand einer Linux-Mint (Version 22.1). Auf anderen Distributionen kann der Weg leicht unterschiedlich sein.
Das wine-Paket muss installiert sein, damit wir unter Linux den Registry-Editor starten können. Ist wine bei euch nicht installiert könnt ihr das normalerweise ganz einfach über die Anwendungsverwaltung (bzw. Paketmanager oder wie auch immer das bei eurer Distribution heißt) nachinstallieren.
Oder ihr macht das über die Konsole. Bei einer auf Ubuntu-Linux basieren Distribution wie Linux-Mint ware das die Befehlszeile: sudo apt-get install wine.
Ihr müsst wissen unter welcher ID am USB-Port eure Geräte angesprochen werden. Mit dem Befehl lsusb in der Konsole bekommt ihr eine Liste aller USB-Geräte angezeigt:
...
Bus 003 Device 006: ID 03eb:2045 Atmel Corp. LUFA Mass Storage Demo Application
...
Bus 005 Device 002: ID 03eb:2054 Atmel Corp. LEFT VPC Throttle MT-50 CM2
...
Meine VIRPILs haben also die IDs 03eb:2045 und 03eb:2054. Merken!
Ihr baucht die Steam Game-ID für euer Spiel. Bei Elite Dangerous sollte das 359320 sein. Die bekommt ihr heraus wenn ihr im Steam-Shop das Spiel anwählt, dann steht ganz oben Links in der Adresszeile der Link zum Spiel, und darin verbirgt sich die Game-ID.
Als nächstes braucht ihr den Ort, an dem Steam euer Elite Dangerous installiert hat. Das ist leider von Distribution zu Distribution unterschiedlich. Ich kann euch daher nur nur ein Beispiel geben, wie das bei mir aussieht.
Bei meinem Linux-Mint ist das: "/home/uwe/.steam/debian-installation/steamapps"
Unter Nobara-Linux war das bei mir: "/home/.local/share/Steam/steamapps"
In "/home/uwe/.steam/debian-installation/steamapps/compatdata/359320/pfx" befinden sich die Registry Dateien für das Spiel. Legt euch davon Sicherheitskopien an, für den Fall, dass etwas schief geht. Kopiert alle Dateien mit der Erweiterung ".reg" irgendwo hin wo ihr sie wiederfindet. Eventuell braucht ihr dazu Administrator-Rechte.
Mit folgenden zwei Zeilen in der Konsole sollte dann der Registry-Editor mit der Registry für euer Elite-Dangerous starten:
STEAM_LIBRARY="${HOME}/.steam/debian-installation/steamapps"
WINEPREFIX="${STEAM_LIBRARY}/compatdata/359320/pfx" wine regedit
Navigiert zu HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\WINEXINPUT
Löscht darunter alle Einträge die auf die ID eurer Problemgeräte hinweisen.
Navigiert zu HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\WINEBUS
Klappt alle Ordner auf die die ID eurer Problemgeräte haben.
Ihr sollet dann einige Ordner mit elend langen Namen sehen wie etwa: 273&03000000443300009043000011010000&0&0.
Ändert darin folgende Werte:
Im Schlüssel Service: ändert ihr von xinput zu winehid
Im Schlüssel DeviceDesc: ändert ihr von Wine XInput compatible device zu Wine HID compatible device
Im Schlüssel CompatiableIds: Dieses Feld ist ein mehrzeiliges Eingabefeld. Löscht darin alle Einträge außer WINEBUS\WINE_COMP_HID. Das lasst ihr bitte stehen!
Beendet den Registry-Editor mit einem Klick auf das x oben rechts.
Nun könnt ihr Elite starten. Wenn ihr alles richtig gemacht habt sollten eure HOTAS funktionieren.
Bei mir hat das sowohl mit Nobara-Linux (42) wie auch mit Linux-Mint (22.1) funktioniert.
Viel Spaß und Glück
Euer oller Pit

