So, ich beteilige mich hier jetzt auch einmal, da ich den Absprung von Windows nun auch geschafft habe und eben die letzte Hürde überwunden habe. Und ich weiß daß es hier potentielle Kandidaten gibt, die dann vor genau der gleichen Hürde stehen werden, sollten sie auf Linux wechseln wollen.
Mein System ist:
CPU: AMD Ryzen 3900x
RAM: 32 GB
GPU: AMD Radeon 7900 XTX
Mainboard: Asus ROG Strix Gaming B550
HOTAS: Virpil Controls WarBRD-D mit Constellation Alpha Prime (R) und Thrustmaster Warthog Throttle
OS: OpenSuSE Tumbleweed mit KDE Plasma
Zum Problem:
Mein Virpil Joystick wurde von Wine/Elite sehr konsequent als xinput / Gamepad erkannt und damit war über die Hälfte der Buttons sowie mind. 1 Achse nicht nutzbar und das ist natürlich ein absolutes no-go zum fliegen. Ich habe es normal mit Wine versucht, ich habe es über Steam/Proton versucht und auch mit Lutris mit jeweils exakt dem selben Ergebnis.
Die Lösung:
Gestern bin ich zufällig auf einen Reddit-Post gestoßen, der die Lösung hatte (Quelle unten angegeben). Kleine Anmerkung an dieser Stelle: Die Lösung ist nicht explizit für Virpil, sondern funktioniert wohl genauso bei VKB und ggf. anderen Joysticks, die das gleiche Problem haben.
Also, worüber auch immer ihr spielt (Steam/Lutris...): Ihr müsst in die Registry (regedit) von der "Bottle" bzw. dem Wineprefix in dem ihr Elite Dangerous startet.
Öffnet in der Registry
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\winebus
Ihr müsst 2 DWORD erstellen, das erste muss heißen
Enable SDL und das zweite
Map Controllers und beide müssen den Wert 0 haben. Wenn sie schon existieren (wie es bei mir der Fall war), dann müsst ihr einfach nur den Wert jeweils auf 0 setzen.
Nun müssen wir zu
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\WINEXINPUT und löscht ALLES was ihr hier an Unterordnern seht.
Weiter gehts nach
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\WINEBUS der sollte genau darüber stehen.
Hier müsst ihr die VID/PID von eurem Joystick/HOTAS suchen und öffnen. Um VID/PID herauszufinden öffnet ihr ein normales Linux-Terminal und gebt
lsusb ein. Hinter "ID" sehr ihr dann 2x4 Zeichen. Bei meinem Virpil war es 3344:c3f4 - dahinter steht auch eine Beschreibung des Geräts (USB Hub, Keyboard, Mouse etc.). Merkt euch die VID/PID oder lasst das Terminal einfach offen ;-)
Zurück zur Registry: Ihr müsstet einen oder mehrere lange Unterordner sehen mit einer sehr langen Zahl und ein paar &-Zeichen. In diesen Ordnern müsst ihr folgende Änderungen vornehmen:
1.
"Service" müsst ihr von
xinput auf
winehid ändern.
2.
"DeviceDesc" ändert den Eintrag von
Wine XInput compatible device auf
Wine HID compatible device
3.
"CompatibleIds" Hier können mehrere Zeilen eingegeben werden. Löscht ALLES außer
WINEBUS\WINE_COMP_HID
Das wars, jetzt solltet ihr alle Achsen und Knöpfe von eurem Joystick/HOTAS in Elite belegen können.
Quelle dieser Lösung/Übersetzung (Englisch):
https://www.reddit.com/user/xatrekak/co ... _on_linux/