Lenkrad: Unterschied zwischen den Versionen

Aus lugvswiki
Zur Navigation springenZur Suche springen
Zeile 106: Zeile 106:
 
# Um zum Administrator (unter Linux gewöhnlich als ''Root'' bezeichnet) zu werden, muss der Befehl ''sudo'' dem eigentlichen Befehl vorangestellt werden. Es folgt eine Passwortabfrage, die man ''blind'' tippend beantwortet und nun ist man für ca. 15 Minuten Super-User. Nach Ablauf dieser Zeit muss der Befehl ''sudo'' erneut angegeben werden, falls erneut Root-Rechte erforderlich sein sollten.
 
# Um zum Administrator (unter Linux gewöhnlich als ''Root'' bezeichnet) zu werden, muss der Befehl ''sudo'' dem eigentlichen Befehl vorangestellt werden. Es folgt eine Passwortabfrage, die man ''blind'' tippend beantwortet und nun ist man für ca. 15 Minuten Super-User. Nach Ablauf dieser Zeit muss der Befehl ''sudo'' erneut angegeben werden, falls erneut Root-Rechte erforderlich sein sollten.
 
# Die nachfolgenden Befehle, die Du in Deine Konsole einzugeben hast sind in dieser Anleitung immer '''fett''' wiedergegeben und werden rechts des vom System vorgegebenen Prompts eingetippt. Besser noch; Du kopierst die Befehle aus dieser Anleitung und fügst sie in die Konsole ein, denn unter Linux wird Gross- und Kleinschreibung unterschieden und sogar ein Leerzeichen zu viel oder zu wenig verändert einen Befehl. Wie das aussieht, wird weiter unten dargestellt.
 
# Die nachfolgenden Befehle, die Du in Deine Konsole einzugeben hast sind in dieser Anleitung immer '''fett''' wiedergegeben und werden rechts des vom System vorgegebenen Prompts eingetippt. Besser noch; Du kopierst die Befehle aus dieser Anleitung und fügst sie in die Konsole ein, denn unter Linux wird Gross- und Kleinschreibung unterschieden und sogar ein Leerzeichen zu viel oder zu wenig verändert einen Befehl. Wie das aussieht, wird weiter unten dargestellt.
# Markiere die Befehle aus der Anleitung mit der Maus (indem Du mit links gedrückter Maustaste über den Befehl fährst. Und schon ist (unter Linux!) der Text in der Zwischenablage gespeichert. Das vorangestellten Zeichen [$] aus unserer Anleitung kopierst Du natürlich nicht, denn es soll nur veranschaulichen, dass Du auf der Konsole als einfacher Benutzer [$] arbeitest. Dann füge den jeweiligen Befehl in die Konsole ein, indem Du dazu einfach Deine mittlere Maustaste (das Scrollrad) drückst; auch das funktioniert unter jeder Linux-Distribution.
+
# Markiere die Befehle aus der Anleitung mit der Maus, indem Du mit links gedrückt gehaltener Maustaste über den Befehl fährst. Und schon ist (unter Linux!) der Text in der Zwischenablage gespeichert. Das vorangestellten Zeichen [$] aus unserer Anleitung kopierst Du natürlich nicht, denn es soll nur veranschaulichen, dass Du auf der Konsole als einfacher Benutzer [$] arbeitest. Dann füge den jeweiligen Befehl in die Konsole ein, indem Du dazu einfach Deine mittlere Maustaste (das Scrollrad) drückst; auch das funktioniert unter jeder Linux-Distribution.
 
# Alternativ zum Kopieren des Befehlstextes kannst Du nach dem Markieren mit der Maus auch die Tastaturkombination 'Strg+C' nutzen. '''Beachte aber, dass das Einfügen in die Konsole mit 'Strg+V', beziehungsweise das Kopieren aus der Konsole mittels 'Strg+C' nicht funktioniert'''; wohl aber, wenn Du zusätzlich noch die ''Umschalttaste'' gedrückt hältst (also: 'Strg'''+Umschalttaste'''+V' (in die Konsole einfügen) und 'Strg'''+Umschalttaste'''+C' (aus der Konsole kopieren).
 
# Alternativ zum Kopieren des Befehlstextes kannst Du nach dem Markieren mit der Maus auch die Tastaturkombination 'Strg+C' nutzen. '''Beachte aber, dass das Einfügen in die Konsole mit 'Strg+V', beziehungsweise das Kopieren aus der Konsole mittels 'Strg+C' nicht funktioniert'''; wohl aber, wenn Du zusätzlich noch die ''Umschalttaste'' gedrückt hältst (also: 'Strg'''+Umschalttaste'''+V' (in die Konsole einfügen) und 'Strg'''+Umschalttaste'''+C' (aus der Konsole kopieren).
  

Version vom 10. April 2021, 20:09 Uhr

Nutzung des Lenkrads THRUSTMASTER T150 unter Linux (openSUSE Tumbleweed bzw. Leap) aber auch anderen Distros


Danksagung

Vielen Dank an Ulf und Uwe von der Linux User Group Villingen-Schwenningen (LUG-VS)[1] und vor allem an die großartigen Code-Schreiber[2], die ihren Code auf GitHub[3] hinterlegt haben. Ohne deren Hilfe wäre ich nicht weitergekommen; ich bin nur Linux-User, kein Programmierer.
Ebenso vielen Dank an Wolfgang, der mir beim Überarbeiten dieser Anleitung geholfen hat; nach einem grösseren Update meines Tumbleweed musste diese Anleitung grundlegend nachgebessert werden.

Problem

Die Rennsimulation Live for Speed (LFS)[4] soll unter Linux mit dem Lenkrad Thrustmaster T150[5] anhand der zu Windows kompatiblen Laufzeitumgebung Wine[6] genutzt werden. Der Gamepad-, Joystick- und Lenkrad-Hersteller Thrustmaster stellt für seine Produkte aktuell keine Linux-Unterstützung bereit, was zur Folge hat, dass Gas- und Bremspedal (zumindest der Modelle T150 und T150pro) unter Linux nicht korrekt angesprochen werden.

Gegebenheiten und Hintergrund

Konsolenbefehl zur Abfrage der Soft- und Hardwarekomponenten:

[$] holger@holger-MS-7758:~> inxi -Fz

[7]: i3-3220-Dual-Core-Prozessor mit vier Threads, Grafikkarte AMD Radeon HD 7770/8760 und zwei 8 GB-RAM-Speicherriegel (also 16 GB RAM).

Mein bevorzugtes Linux-Betriebssystem: openSUSE Tumbleweed[8], 64bit, KDE-Desktop. Vermutlich nutzt Du ein anderes Linux; bis auf kleine Unterschiede im Aufbau der Konsolenbefehle ist diese Anleitung auch für Dich die richtige. Für andere Linux-Distributionen[9] bitte in einschlägigen Internetseiten, beispielsweise im Wiki von Ubuntuusers.de[10], die aktuellen Befehle zur Installation selbst recherchieren.
Windows nutze ich nur sehr ungern und arbeite, bzw. spiele fast ausschließlich unter Linux. Die Rennsimulation LFS ist eigentlich nur zur Nutzung unter dem Microsoft Windows-Betriebssystem gedacht. Aber trotz meiner recht alten Hardware (knapp sieben Jahre) läuft Live for Speed über Wine mit den höchst möglichen Performance-Einstellungen absolut flüssig! Auch auf noch schlechter ausgestatteter Hardware kann es noch ganz passabel genutzt werden. Das habe ich auf mehreren wirklich alten Notebooks und PCs ausprobiert.
So, genug der Einleitung! Um das Lenkrad Thrustmaster T150 unter Linux zum Laufen zu kriegen, ist noch etwas Aufwand notwendig, danach läuft es aber super und zuverlässig!

Einrichten des Lenkrads

Anmerkung bezüglich der Konsolenbefehle
  1. Warum wird in Linux-Ratgebern so häufig Hilfe per Konsole geleistet? Das rührt daher, dass Konsolenbefehle und -ausgaben unabhängig von Deiner Desktopoberfläche das Gleiche machen und (meistens) auch überall das Gleiche bedeuten. Außerdem kann der Helfende so mit kurzen Befehlen Informationen erfragen, die helfen, das Problem einzugrenzen und (hoffentlich) zu lösen.
  2. Für Linux-Neulinge (wie ich es bezüglich dem Arbeiten mit der Konsole auch selbst noch bin) noch ein weiterer Hinweis: der sogenannte Prompt - auf meinem Rechner lautet er holger@holger-MS-7758:~> - ist mit dem Prompt Deines Rechners natürlich nicht identisch. Der Prompt steht immer vor dem einzugebenden Befehl, bzw. der zu stellenden Abfrage und wird vom System selbst erzeugt.
  3. Generell solltest Du an der Konsole als normaler Benutzer (ohne Root-Rechte) arbeiten und nur, wo unbedingt notwendig, Dir vorübergehend Root-Rechte geben. Dieses Arbeiten als 'User' (ohne Root-Rechte) wird hier in unserer Anleitung mit dem Zeichen [$] vor dem eigentlichen Konsolenbefehl dargestellt.
  4. Um zum Administrator (unter Linux gewöhnlich als Root bezeichnet) zu werden, muss der Befehl sudo dem eigentlichen Befehl vorangestellt werden. Es folgt eine Passwortabfrage, die man blind tippend beantwortet und nun ist man für ca. 15 Minuten Super-User. Nach Ablauf dieser Zeit muss der Befehl sudo erneut angegeben werden, falls erneut Root-Rechte erforderlich sein sollten.
  5. Die nachfolgenden Befehle, die Du in Deine Konsole einzugeben hast sind in dieser Anleitung immer fett wiedergegeben und werden rechts des vom System vorgegebenen Prompts eingetippt. Besser noch; Du kopierst die Befehle aus dieser Anleitung und fügst sie in die Konsole ein, denn unter Linux wird Gross- und Kleinschreibung unterschieden und sogar ein Leerzeichen zu viel oder zu wenig verändert einen Befehl. Wie das aussieht, wird weiter unten dargestellt.
  6. Markiere die Befehle aus der Anleitung mit der Maus, indem Du mit links gedrückt gehaltener Maustaste über den Befehl fährst. Und schon ist (unter Linux!) der Text in der Zwischenablage gespeichert. Das vorangestellten Zeichen [$] aus unserer Anleitung kopierst Du natürlich nicht, denn es soll nur veranschaulichen, dass Du auf der Konsole als einfacher Benutzer [$] arbeitest. Dann füge den jeweiligen Befehl in die Konsole ein, indem Du dazu einfach Deine mittlere Maustaste (das Scrollrad) drückst; auch das funktioniert unter jeder Linux-Distribution.
  7. Alternativ zum Kopieren des Befehlstextes kannst Du nach dem Markieren mit der Maus auch die Tastaturkombination 'Strg+C' nutzen. Beachte aber, dass das Einfügen in die Konsole mit 'Strg+V', beziehungsweise das Kopieren aus der Konsole mittels 'Strg+C' nicht funktioniert; wohl aber, wenn Du zusätzlich noch die Umschalttaste gedrückt hältst (also: 'Strg+Umschalttaste+V' (in die Konsole einfügen) und 'Strg+Umschalttaste+C' (aus der Konsole kopieren).

Vorbereitende Arbeiten

Installation der Anwendung DKMS
Vor Installation des Codes, der das Thrustmaster T150 inklusive der Pedalen zum Funktionieren bringt, musst Du die Anwendung 'dkms'[11] (Dynamic Kernel Module Support) installieren:
[$] holger@holger-MS-7758:~> sudo zypper in dkms
[sudo] Passwort für root: [hier gibst Du Dein Passwort ein - es wird dabei nichts angezeigt]
Metadaten von Repository 'devel:languages:ruby' abrufen ...............   [fertig]
Cache für Repository 'devel:languages:ruby' erzeugen ..................   [fertig]
Metadaten von Repository 'devel:languages:perl:CPAN-T' abrufen ........   [fertig]
Cache für Repository 'devel:languages:perl:CPAN-T' erzeugen ...........   [fertig]
Metadaten von Repository 'network:im:signal' abrufen ..................   [fertig]
Cache für Repository 'network:im:signal' erzeugen .....................   [fertig]
Metadaten von Repository 'games' abrufen ..............................   [fertig]
Cache für Repository 'games' erzeugen .................................   [fertig]
Metadaten von Repository 'devel:languages:ruby:extensions' abrufen ....   [fertig]
Cache für Repository 'devel:languages:ruby:extensions' erzeugen .......   [fertig]
Metadaten von Repository 'home:StefanBruens:branches:games' abrufen ...   [fertig]
Cache für Repository 'home:StefanBruens:branches:games' erzeugen ......   [fertig]
Metadaten von Repository 'packman' abrufen ............................   [fertig]
Cache für Repository 'packman' erzeugen ...............................   [fertig]
Metadaten von Repository 'skype (stable)' abrufen .....................   [fertig]
Cache für Repository 'skype (stable)' erzeugen ........................   [fertig]
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...
Paketabhängigkeiten werden aufgelöst...
Das folgende NEUE Paket wird installiert:
  dkms
1 neues Paket zu installieren.
Gesamtgröße des Downloads: 73,5 KiB. Bereits im Cache gespeichert: 0 B. Nach der Operation werden zusätzlich 200,1 KiB belegt.
Fortfahren? [j/n/v/...? zeigt alle Optionen] (j):

Du bestätigst obige Vorgaben mit 'j' für 'Ja' (bzw., falls die Ausgabe Deiner Konsole in Englisch ist, mit 'y' für 'Yes' und dann wird die Installation von DKMS abgeschlossen, wie Du unten siehst ...

Fortfahren? [j/n/v/...? zeigt alle Optionen] (j): j
Paket dkms-2.6.1-2.6.noarch abrufen                                       (1/1),  73,5 KiB (200,1 KiB  entpackt)  
Abrufen: dkms-2.6.1-2.6.noarch.rpm ....................................   [fertig]
Überprüfung auf Dateikonflikte läuft: .................................   [fertig]
(1/1) Installieren: dkms-2.6.1-2.6.noarch .............................   [fertig]
holger@holger-MS-7758:~>

Nach Beendigung der Installation siehst Du (immer) als letzte Zeile den Prompt holger@holger-MS-7758:~>; die Installation ist nun abgeschlossen.

Arbeitsverzeichnis anlegen
dann wechsle in Dein Home-Verzeichnis mit dem Konsolenbefehl
[$] cd ~
Du könntest es natürlich auch (etwas umständlicher) auf diese Weise tun:
[$] cd home/holger
das Ergebnis wäre das Gleiche; Du kommst in Dein Home-Verzeichnis; wie Du oben siehst, steht die Tilde (~) als Platzhalter für Dein Home-Verzeichnis ...
in Deinem Home-Verzeichnis erstellst Du nun den Ordner 'CodeT150'.
[$] mkdir ~/CodeT150
Du kannst den Ordner natürlich auch woanders speichern oder anders benennen (zum Beispiel in Deinem Download-Ordner); wir arbeiten in der Anleitung mit diesem Beispiel; nur installiere den Code nicht in das Root-Verzeichnis [/]!

Code für das Thrustmaster T150 herunterladen und entpacken

Wechsle mittels der Konsole (auch 'Terminal' genannt) in das von Dir erstellte Verzeichnis

[$] cd ~/CodeT150

und lade die ZIP-Datei mit dem Installationsskript herunter.

[$] wget -c https://github.com/scarburato/t150_driver/archive/master.zip

lass Dir über die Konsole mit dem Befehl 'ls -l' (oder alternativ mit dem Alias 'll') anzeigen, wo im aktuellen Verzeichnis die 'master.zip' liegt

[$] holger@holger-MS-7758:~/CodeT150> ls -l
insgesamt 260
-rw-r--r-- 1 holger users 265275 31. Mär 20:32 master.zip
holger@holger-MS-7758:~/CodeT150>

Entpacken des heruntergeladenen Pakets 'master.zip'

[$] holger@holger-MS-7758:~/CodeT150> unzip master.zip
Archive:  master.zip
c167dd2d740be89182d1c19f9f7597585b0d952a
  creating: t150_driver-master/
 inflating: t150_driver-master/.editorconfig  
 inflating: t150_driver-master/.gitignore  
 inflating: t150_driver-master/LICENSE  
 inflating: t150_driver-master/README.md  
 inflating: t150_driver-master/dkms.conf  
 inflating: t150_driver-master/dkms_make.mak  
  creating: t150_driver-master/files/
  creating: t150_driver-master/files/etc/
  creating: t150_driver-master/files/etc/udev/
  creating: t150_driver-master/files/etc/udev/rules.d/
 inflating: t150_driver-master/files/etc/udev/rules.d/10-t150.rules  
  creating: t150_driver-master/hid-t150/
 inflating: t150_driver-master/hid-t150/Makefile  
 inflating: t150_driver-master/hid-t150/attributes.c  
 inflating: t150_driver-master/hid-t150/attributes.h  
 inflating: t150_driver-master/hid-t150/forcefeedback.c  
 inflating: t150_driver-master/hid-t150/forcefeedback.h  
 inflating: t150_driver-master/hid-t150/hid-t150.c  
 inflating: t150_driver-master/hid-t150/hid-t150.h  
 inflating: t150_driver-master/hid-t150/input.c  
 inflating: t150_driver-master/hid-t150/input.h  
 inflating: t150_driver-master/hid-t150/packet.h  
 inflating: t150_driver-master/hid-t150/settings.c  
 inflating: t150_driver-master/hid-t150/settings.h  
 inflating: t150_driver-master/install.sh
  creating: t150_driver-master/traffic/
  creating: t150_driver-master/traffic/old_caps/
 inflating: t150_driver-master/traffic/old_caps/force_feedback.pcapng  
 inflating: t150_driver-master/traffic/old_caps/fromFFBtoT150.pcapng  
 inflating: t150_driver-master/traffic/old_caps/fromFFBtoT150_2.pcapng  
 inflating: t150_driver-master/traffic/old_caps/fromFFBtoT150_filtered.pcapng  
 inflating: t150_driver-master/traffic/old_caps/fromFFBtoT150_with_FIRMWARE21.pcapng  
  creating: t150_driver-master/traffic/old_caps/info/
 inflating: t150_driver-master/traffic/old_caps/info/info  
 inflating: t150_driver-master/traffic/old_caps/info/ubuntu  
 inflating: t150_driver-master/traffic/old_caps/info/windows7  
 inflating: t150_driver-master/traffic/old_caps/me_driver.pcapng  
 inflating: t150_driver-master/traffic/old_caps/plug_volante.pcapng  
 inflating: t150_driver-master/traffic/old_caps/plug_volante2.pcapng  
 inflating: t150_driver-master/traffic/old_caps/plug_volante_linux_usbhid.pcapng  
 inflating: t150_driver-master/traffic/old_caps/t150_test.py  
 inflating: t150_driver-master/traffic/old_caps/test.csv  
 inflating: t150_driver-master/traffic/old_caps/test.ods  
 inflating: t150_driver-master/traffic/old_caps/test5.pcapng  
 inflating: t150_driver-master/traffic/old_caps/win_driver.pcapng  
 inflating: t150_driver-master/traffic/old_caps/win_driver1.pcapng  
 inflating: t150_driver-master/traffic/old_caps/win_driver2.pcapng  
 inflating: t150_driver-master/traffic/sine0_linux.json  
holger@holger-MS-7758:~/CodeT150>

Du findest das aktuelle Installationsskript nun im Verzeichnis ~/CodeT150/t150_driver-master/

Wechsele nun ins Verzeichnis der entpackten Dateien:

[$] holger@holger-MS-7758:~/CodeT150> cd ~/CodeT150/t150_driver-master/
holger@holger-MS-7758:~/CodeT150/t150_driver-master>

So zeigst Du die entpacken Dateien an (wieder mittels 'ls -l', bzw. 'll'):

[$] holger@holger-MS-7758:~/CodeT150/t150_driver-master> ls -l
insgesamt 52
-rw-r--r-- 1 holger users   408 31. Mär 16:03 dkms.conf
-rw-r--r-- 1 holger users   250 31. Mär 16:03 dkms_make.mak
drwxr-xr-x 3 holger users  4096 31. Mär 16:03 files
drwxr-xr-x 2 holger users  4096 31. Mär 16:03 hid-t150
-rwxr-xr-x 1 holger users  1025 31. Mär 16:03 install.sh
-rw-r--r-- 1 holger users 18092 31. Mär 16:03 LICENSE
-rw-r--r-- 1 holger users  4762 31. Mär 16:03 README.md
drwxr-xr-x 3 holger users  4096 31. Mär 16:03 traffic
holger@holger-MS-7758:~/CodeT150/t150_driver-master>

Ausführen des Scripts 'install.sh'

Wir befinden uns immer noch im Verzeichnis /home/holger/CodeT150/t150_driver-master/ und machen uns nun mit dem vorangestellten Befehl 'sudo' kurzzeitig zum 'root':

[$] holger@holger-MS-7758:~/CodeT150/t150_driver-master> sudo ./install.sh
[sudo] Passwort für root: [Anmerkung: das Passwort wird 'blind' eingetippt]
==== REMOVING OLD VERSIONS ====
==== CONFIG DKMS ====
removing old folder structure if necessary...
creating new folder structure...
copying source files...
fetching newer source files from github (https://github.com/scarburato/hid-tminit)...
Klone nach '/usr/src/t150-0.7c/hid-tminit' ...
remote: Enumerating objects: 76, done.
remote: Counting objects: 100% (76/76), done.
remote: Compressing objects: 100% (50/50), done.
remote: Total 76 (delta 42), reused 51 (delta 25), pack-reused 0
Empfange Objekte: 100% (76/76), 24.44 KiB | 4.07 MiB/s, fertig.
Löse Unterschiede auf: 100% (42/42), fertig.
==== DKMS ====

Creating symlink /var/lib/dkms/t150/0.7c/source ->
                 /usr/src/t150-0.7c

DKMS: add completed.
Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...(bad exit status: 2)
make -j4 KERNELRELEASE=5.11.6-1-default KDIR=/lib/modules/5.11.6-1-default/build all....
cleaning build area...

DKMS: build completed.
hid-t150.ko.xz:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.11.6-1-default/kernel/drivers/input/joystick/

hid-tminit.ko.xz:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.11.6-1-default/kernel/drivers/input/joystick/

depmod.....

Backing up initrd-5.11.6-1-default to /boot/initrd-5.11.6-1-default.old-dkms
Making new initrd-5.11.6-1-default
(If next boot fails, revert to initrd-5.11.6-1-default.old-dkms image)
dracut........

DKMS: install completed.
==== INSTALLING UDEV RULES ====
'./files/etc/udev/rules.d/10-t150.rules' -> '/etc/udev/rules.d/10-t150.rules'
==== LOADING NEW MODULES ====
holger@holger-MS-7758:~/CodeT150/t150_driver-master>

Damit ist der Treiber für das Lenkrad von dkms als dynamisches Kernel-Modul installiert worden. Die Root-Rechte (durch den Befehl 'sudo' - siehe weiter oben) gehen nach ca. 15 Minuten automatisch verloren.

Neuinstallation der 'install.sh' (eventuell nach größeren Updates des Betriebssystems notwendig)

Leider habe ich nun schon mehrfach festgestellt, dass die Pedale des Lenkrads nicht mehr erkannt wurden. So, wie ich das bislang beobachtet habe, geschieht dies offenbar nur nach einem größeren Softwareupdate des Betriebssystems. Ich führe das darauf zurück, dass der Code-Schreiber ausführt, dass es ihm bislang nicht gelungen ist, eine 'Updatefunktion' einzubauen[12].

Um das Lenkrad samt Pedalen wieder nutzen zu können, ist erneut ein Installieren des Codes notwendig, jedoch müssen nicht alle Punkte, wie oben aufgeführt, erneut ausgeführt werden. Du arbeitest lediglich folgende Punkte noch einmal ab.
Das sind unterhalb von 'Einrichten des Lenkrads' diese drei Punkte:

  1. 'Ins Verzeichnis der entpackten Dateien wechseln'
  2. 'Ausführen des Scripts 'install.sh'

Dazu öffnest Du Deine Konsole und die kopierst die Befehle von weiter oben in die Konsole hinein.
So wird der Code erneut installiert; bitte erst dann das Lenkrad wieder anschließen und die Rennsimulation starten.

Einrichten von LFS

Wine, einer der Schlüssel zur Nutzung von für MS-Windows programmierten Anwendungen

Ich empfehle, egal welche Linux-Distribution Du installiert hast, die Nutzung von Live for Speed mittels 'Wine'. Unter Wine kann Windows von WinXP bis Win10 konfiguriert werden; für die Nutzung von LFS ist das egal; ich habe Win10 hinterlegt. Läuft Wine schon auf Deinem Linux, ist alles bereit. Ansonsten wird Wine unter openSUSE Tumbleweed oder Leap folgendermaßen installiert:

$ sudo zypper install wine 

oder, einfacher

$ sudo zypper in wine

Wird Wine das erste Mal gestartet, kommt eine Abfrage, ob auch das Wine-Mono-Paket installiert werden soll, was Du bestätigst.

Live for Speed kann auch mit Flatpak oder Snap[13] zum Laufen gebracht werden; damit habe ich aber schlechte Erfahrungen gemacht und rate – zum aktuellen Zeitpunkt - ausdrücklich davon ab.

Download der Rennsimulation LFS

Hier[14] gehts zur Downloadseite der Rennsimulation Live for Speed. Die Datei, sie heißt aktuell 'LFS_S3_6V_setup.exe'[15], findest Du nach dem Speichern natürlich im vom Browser voreingestellte Downloadverzeichnis; einfach auf das Ordnersymbol des Download-Buttons oben rechts im (Firefox-)Browser klicken. Da es sich bei LFS um ein für Microsoft entwickeltes Produkt handelt, wir aber auf Linux arbeiten, erfolgt die Installation mittels Wine.

Installation von LFS

Ein rechter Mausklick auf die heruntergeladene 'LFS_S3_6V_setup.exe' im Downloadverzeichnis und dann ein Enter im sich öffnenden Kontextmenü auf ‚mit Wine öffnen‘, und schon läuft der Installationsvorgang. Die EXE muß nicht ausführbar gemacht werden; unter Wine läuft das auch so! Die Installation ist schnell beendet; nun findest Du eine andere EXE, nämlich die 'LFS.exe', mit der die Rennsimulation künftig gestartet wird, in folgendem (versteckten) Verzeichnis:

$ HOME/.wine/drive_c/LFS 

Anmerkung:

"$HOME" ist ein eine Umgebungvariable für das Heimatverzeichnis; in meinem Fall also: '/home/holger'

Um dorthin zu gelangen, gibst Du ein ein

$ cd ~

oder aber

$ cd home/holger
Du befindest Dich jetzt in Deinem Home-Verzeichnis

Nun wechselst Du in das versteckte Verzeichnis der LFS.exe

$ cd .wine/drive_c/LFS

So kontrollierst Du, ob sich die LFS.exe in diesem Verzeichnis befindet:

$ ls -l
holger@holger-MS-7758:~/.wine/drive_c/LFS> ls -l
insgesamt 5156
...
drwxr-xr-x 35 holger users    4096  6. Apr 22:44 data
...
-rwxr-xr-x  1 holger users 2056192 28. Feb 12:26 LFS.exe
-rw-r--r--  1 holger users   15094 19. Mai 2020  LFS.ico
-rw-r--r--  1 holger users  560128 24. Sep 2014  LFSORDLL.dll
-rwxr-xr-x  1 holger users   77824 19. Dez 2007  LFS_restart.exe
drwxr-xr-x  4 holger users    4096  1. Jun 2020  LFS_S3_DCON_6U
-rw-r--r--  1 holger users 1909423  1. Jun 2020  LFS_S3_DCON_6U.zip
-rw-r--r--  1 holger users    4356  2. Apr 2015  README_5Z_TO_6H.txt
-rw-r--r--  1 holger users   10095 13. Feb 2016  README_6H_TO_6M.txt
-rw-r--r--  1 holger users   16517 13. Mär 2019  README_6M_TO_6U.txt
-rw-r--r--  1 holger users   16150 28. Feb 16:50 README_6R_TO_6V.txt
-rw-r--r--  1 holger users    5434 24. Nov 2009  README.txt
-rwxr-xr-x  1 holger users  207953 28. Feb 22:05 UninstallLFS.exe
holger@holger-MS-7758:~/.wine/drive_c/LFS>

Übrigens: versteckte Verzeichnisse (.verzeichnisname) werden im Dateimanager je nach Distro mit dem Shortcut 'Strg+H' bzw. 'Alt+.' sichtbar / unsichtbar gemacht und sind durch einen Punkt (.) vor dem Namen erkennbar (z. B. .wine).
Wenn Du mit Shortcuts (Tastaturkombinationen, Hotkeys) nicht so gerne arbeitest, wäre das ja die Gelegenheit, Dir ein paar anzueignen; natürlich kannst Du Dich im Dateimanager Dolphin (KDE-Desktop) auch über den Reiter 'Ansicht' und dessen Kontextmenü zu 'Versteckte Dateien anzeigen' durchklicken. Wenn Du keinen KDE-, sondern einen Gnome- oder sonst einen Linux-Desktop nutzt (und damit vermutlich auch einen anderen Dateimanager), ist der Weg dahin sicher ein ähnlicher mit vielleicht abweichenden Bezeichnungen. Also: nutze Shortcuts!

Um zum Spielstart nicht jedes Mal in obiges Verzeichnis wechseln zu müssen, lässt sich natürlich auch ein Starter (auf Wunsch auch mit LFS-Icon) auf den Desktop bzw. die Taskleiste Deiner Wahl legen. Arbeitest Du mit einem KDE-Desktop und hast die 'Ordner-' und nicht die 'Arbeitsfläche-Ansicht' eingeschaltet, legt das Wine bei der Installation automatisch eine Desktopverknüpfung an (wie das unter Windows auch geschehen würde).

Schiebeschalter am Lenkradkorpus auf 'PS3'

Wichtig!
Das Lenkrad muss laut Hersteller Thrustmaster im 'PS3-Mode' (Play-Station-3-Mode) betrieben werden. Also den Schiebeschalter an der rechten Front des Lenkradkorpus, rechts der Lenkachse, auf 'PS3' stellen.

Automatische Kalibrierung des Lenkrads T150

Es empfiehlt sich, erst den Netzstecker des Lenkrads anzuschließen, dann den Rechner hochzufahren und erst danach das Lenkrad mittels USB zu verbinden.

Achtung
Achte darauf, dass keine Kabel am Lenkrad anliegen, sonst könnten sie sich um die Lenkachse und / oder die Schaltwippen wickeln und beschädigt werden. Denn nun kalibriert sich das T150 selbstständig; das heißt, es dreht bis zum Anschlag voll nach links, zurück in die Nullstellung, dann voll nach rechts und wieder zurück in die Nullstellung. Da ist ordentlich Kraft dahinter; also während der Kalibrierung Finger weg vom Lenkrad und ebenso alle daneben befindlichen Kabel weg vom Lenkrad!

Erkennen des Lenkrads Thrustmaster T150 durch die Rennsimulation LFS

Achte darauf, dass Du das Lenkrad unter der Rennsimulation LFS immer in dieser Reihenfolge nutzt:

  1. PC / Laptop starten
  2. USB-Kabel des Lenkrads mit PC verbinden und die Kalibrierung des Lenkrads - erkennbar am selbsttätigen Drehen des Lenkrads - abwarten. Ist das USB-Kabel schon vor dem PC-Start verbunden, kann es sein, dass es sich mehrfach kalibriert!
  3. Starte erst jetzt die Rennsimulation; LFS erkennt ansonsten das Lenkrad nicht

Überprüfung der Zuweisung des Lenkrads als Gamecontroller in der Rennsimulation LFS

Das geschieht eigentlich automatisch, wenn Du obige Reihenfolge (PC-Start, USB-Anschluß des Lenkrads an PC und erst dann Start der Simulation LFS) befolgst.

Kontrollieren kannst Du es folgendermaßen
  1. Gehe im Auswahlfenster der Rennsimulation LFS auf 'Optionen', dann auf 'Steuerung'
  2. Wähle oben (unterhalb von 'Maus/Tastatur') den Reiter 'Lenkrad/Joystick' aus
    Hinweis: Wurde das Lenkrad vor dem Start der Rennsimulation LFS per USB-Kabel am PC / Laptop angeschlossen, wird es in LFS unter 'Optionen', dann auf 'Steuerung' als Gamecontroller 'Thrustmaster T150 steering wheel (event) Joystick' erkannt; ist das Lenkrad nicht hinterlegt, hilft auch kein Klick auf den 'Aktualisieren'-Button, - Du hast zuvor vergessen, das USB-Kabel des Lenkrads an den PC anzuschließen. Tue das nun und starte die Rennsimulation neu.
  3. Klicke auf 'Achsen/FF' (Mitte unten im Bildschirm); die verfügbaren Achsen und deren Funktion ist schon automatisch konfiguriert, wenn 'Automatische Kalibrierung des Lenkrads' - siehe oben - befolgt wurde

Lenkung, Gas- und Bremspedal werden durch drei Achsen in den Steuerungsoptionen von LFS angezeigt

Diese drei Achsen sind:

Lenkung = Achse 1 (X-Achse)
Gaspedal = Achse 2 (Y-Achse)
Bremspedal = Achse 3 (Z-Achse)

Sie sind durch blau eingefärbte Balken (die sich bei Betätigung gelb verfärben) hinterlegt. Lenkst Du, so ändert sich der Wert der Achse 1 vom Mittelwert 0 auf bis zu -956 bzw. +956. Außerdem siehst Du ganz unten eine rote Markierung nach links oder rechts von der Mittelposition abweichen.
Presst Du das Gaspedal, reagiert Achse 2 und ändert den Wert von 0 auf -999 bis zu 1.000; das gleiche geschieht beim Bremsen mit Achse 3.

Funktionstasten des Lenkrads belegen

  1. Gehe im Auswahlfenster der Rennsimulation LFS auf 'Optionen', dann auf 'Steuerung'
  2. Wähle oben (unterhalb von 'Maus/Tastatur') den Reiter 'Lenkrad/Joystick' aus
    Wurde das Lenkrad (USB-Kabel) vor dem Start der Rennsimulation LFS angeschlossen, wird es als Gamecontroller 'Thrustmaster T150 steering wheel (event) Joystick' erkannt
  3. Als 'Maximaler Lenkradeinschlag' empfehle ich für den Anfang '900°'; Einsitzerfahrzeuge (BMW Sauber, Formel 1, etc.) sollten eventuell mit '1.080°' gefahren werden. Selbst ausprobieren ...
  4. Für den 'Lenkungsausgleich' empfehle ich '1.00'; das 'Force Feedback' würde ich auf '100' setzen
  5. Wichtig! Unter dem Untermenü 'Achsen Gas/Bremse' unbedingt 'Separat' einstellen; ansonsten werden Gas- und Bremspedal nicht erkannt
  6. Unter 'Tasten1' braucht man eigentlich nichts einzustellen (ist für Keyboard- oder Mausfahrer und größtenteils schon vorkonfiguriert); 'Tasten2' dagegen schon. Hier einfach die Optionen (wie Seitenblick, Hupe, Hoch- oder Runterschalten, Rein- oder Rauszoomen, etc.) nach Wunsch belegen

Weitere Links, Tips und Infos zu LFS

Live for Speed (in meinen Augen ein 'Geheimtip') gibt es als vollwertige Demoversion zum kostenlosen Download. In der Demo ist allerdings 'nur' eine Strecke[16] mit immerhin drei (von insgesamt neun möglichen) Konfigurationen freigeschaltet. Es stehen in der Demoversion drei Fahrzeuge zur Verfügung: ein Fronttriebler[17], ähnlich einem Golf II; ein ähnlich motorisierter Hecktriebler[18] und ein Nachbau des BMW FB02[19]; das ist ein Einsitzer-Heckantrieb mit einem 1.2-Liter-Vierzylinder.

Rennen fahren kannst Du offline entweder gegen die Zeit und / oder einen lokal zugeschalteten Gegner (also über das Heimnetzwerk) oder gegen die integrierte KI / AI[20]. Die KI / AI ist anfangs ganz gut zum Üben und Probieren und immerhin in fünf Schwierigkeitsstufen einstellbar. Auch ist eine offline zu absolvierende 'Fahrschule' enthalten. Aufgrund der Fahrschulergebnisse lernt die KI / AI und passt sich gewissermaßen Deiner Fahrstärke an.
Bevor Du online gehst, solltest Du die KI /AI im 'As-Modus' (der höchste Schwierigkeitsgrad, den die KI / AI zu erreichen kann) regelmäßig besiegen und um einige Sekunden je Runde schneller fahren. Ansonsten wirst Du auf einem von guten Fahrern besuchten Server störend auffallen und keinen guten Eindruck hinterlassen.
Informiere Dich vorab online über die jeweiligen Serverregeln oder lese sie beim Betreten des Servers vor Deiner Teilnahme am Rennen. Das tust Du (funktioniert nur auf LFS-Servern, die den Airio-Tracker installiert haben) indem Du erst ein ‚t' (für Tastatur) tippst und dann in das sich öffnende Textfeld ein '!rules' (für rules = Regeln) schreibst. Und halte Dich an die Regeln!
Bevor Du online gehen kannst (egal, ob mit Demo oder einer der drei Kaufversionen), musst Du Dich auf der LFS-Website registrieren.
Zum einen wird so sichergestellt, dass niemand mit einer Raubkopie fährt (was online noch niemandem gelungen ist), zum anderen dient es der Netiquette[21] auf der Strecke, damit keine 'Kids' einen während des Rennens mutwillig anrempeln oder von der Strecke schieben. So ist gewährleistet, dass sich jeder um seinen 'guten Ruf' sorgt. Gute Server laufen mit der (zusätzlichen, für den Serverbetreiber je nach Ausführung auch kostenpflichtigen) Airio-Software[22], welche das in LFS integrierte Punkte- und Rankingsystem nutzt und weitere ausgefeilte Einstellungen eingebaut hat. 'Böse Jungs' (es gibt auch Mädchen) werden nach Belehrung / Abmahnung entweder 'gekickt' oder in schweren Fällen sogar für längere Zeit 'gebannt'.

Es gibt teils sehr gut besuchte und verwaltete Server[23]; einer der besten für Fahrer mit einer Demo-Lizenz ist der [AA]Demo Racing Server. In aller Regel haben diese guten Server auch den Airio-Tracker installiert, der extrem viele hilfreiche und nützliche Features aus der LFS-Software zugänglich macht. Wenn S1, S2 oder gar die S3 freigeschaltet ist, sind [AA]Blackwood FBM, [AA]Blackwood GTI, [AA]Multiclass Racing, [AA]Rallycross GTI und der [AA]TBO Racing gute Anlaufstellen; es gibt aber auch noch andere gute Server …

Alle Funktionen, auch Online-Rennen, sind schon in der Demo voll möglich.
Um weitere Fahrzeuge / Strecken nutzen zu können, muss das Spiel (nur online möglich) gekauft[24] werden; da gibt es zusätzlich zur kostenlosen Demo drei weitere Versionen; die S1, S2 (die empfehle ich) und die S3, in der aber keine weiteren Fahrzeuge und nur eine weitere Strecke enthalten ist.

Die Fahrzeuge können nur mit der Tastatur, besser in Kombination mit Maus (Lenkung und Gangschaltung) und Keyboard (Gas, Bremse und Seitenblicke mit anderen Funktionen), noch besser mit Maus (Lenkung, Gangwechsel, sowie Hupe) und Joystick (nur Gas und Bremsen), am feinfühligsten aber mit einem Force-Feedback-Lenkrad gesteuert werden. Viele Spitzenzeiten werden aber tatsächlich schon von Fahrern mit Keyboard / Maus, bzw. Maus / Joystick erreicht.

Wer mag, kann sich nicht nur über den in LFS eingebauten Chat, sondern auch über externe Programme wie Discord (OpenSource) oder TeamSpeak während oder nach eines Rennens austauschen. Wie die unter Linux installiert werden, ist ein anderes Thema ...

Fazit

Die Simulation Live for Speed ist wirklich (trotz des hohen Alters von bald 20 Jahren[25]) sehr realistisch in der Physik und dem Fahrverhalten und darin bis heute eigentlich unerreicht.

Da wären zum Beispiel
  1. realistischer Benzinverbrauch und Auswahl der Befüllung vor einem Rennen oder vor einem anstehenden Boxenstop (während des Rennens konfigurierbar)
  2. Reifenabnutzung und Verformung (bis hin zur Vulkanisierung oder Platten)
  3. Einstellen des Setups in allen nur denkbaren Feinheiten, wie Getriebe, Stoßdämpfung, Reifendruck und -sturz; Spur und Lenkungseinschlag mit paralleler Steuerung; Anzahl der Beifahrer (je Fahrzeug bis zu vier Insassen - incl. Fahrer - möglich); Zusatzgewichte und /oder Verlagerung des Fahrzeugschwerpunkts; Änderungen des Anstellwinkels von Front- und Heckflügel; Getriebeuntersetzung und -justierung; Änderung an den Kräfteverhältnissen der Kupplung, Benzinmenge und noch so einiges mehr
  4. Boxenstopoptionen (auch während des Rennens, vor dem Boxenstop noch konfigurierbar!)
  5. Fahrerwechsel (vor dem Einfahren in die Boxengasse meldet sich ein zweiter Fahrer an und übernimmt nach dem Boxenstop das Fahrzeug und fährt das Rennen weiter)
  6. realistisches Schadensmodel (incl. Schadensanzeige) und dessen Umsetzung in der Fahrphysik (hast Du einen Platten, merkst Du das; ist der Sturz verstellt, oder eine Deiner Aufhängungen demoliert, merkst Du das!)

Auch das Preis- Leistungsverhältnis ist meiner Meinung nach ausgezeichnet. Die Software wird nun seit ca. 18 Jahren entwickelt und ausgebaut und ist ohne bemerkbare Bugs. Einmal gekauft und funktioniert immer noch; gibt es ein Update, so bleibt die gekaufte Lizenz erhalten. Auch die Setups, der Lerngrad der KI / AI und andere Spieldaten bleiben stets erhalten. Das ist nicht das, was man von anderen Anwendungen unter Windows gewohnt ist …

Interessant sein können auch die vielen ausgereiften und realistisch zu fahrenden Fahrzeuge, die wirklich abwechslungsreichen Strecken aller Schwierigkeitsgrade; dabei auch Rally-Cross-Strecken und Car-Parks, für die es interessante Layouts / Parcours gibt (Rennen über Rampen und hinterhältige Schikanen). Es ist auch möglich Strecken / Parcours selbst zu editieren und online zu stellen; diese können natürlich auch heruntergeladen werden.

Ach ja; da gibt es auch noch Nerds, die Fahrzeug-Skins selbst erstellen und zum Download auf der LFS-Webseite anbieten; die sind im Rennen natürlich auch sichtbar. Wer’s mag ...

Auch gibt es auf der LFS-Webseite (und anderswo) kostenlose Fahrzeug-Setups, um gute Zeiten zu erzielen; die in der Simulation hinterlegten Standardsetups sind rudimentär und kaum zu gebrauchen. Setups kann man – Sachverstand und Übung vorausgesetzt – natürlich auch selbst basteln und diese im Rennen gegen andere dann erproben. In der Praxis werden viele Setups nach den Rennen (Chat oder Voicechat) mittels einer ins Spiel eingebauten Funktion untereinander ausgetauscht und verfeinert. Aber auch ein gutes Setup setzt natürlich Übung und Fahrpraxis voraus. Die Grafik (besonders Cockpitinnenansicht!) hält nicht mit aktuellen Spielen, wie Need for Speed, Project Cars 2, etc. mit, aber das vergisst man beim Fahren schnell. Es ist für mich sogar so, dass ich LFS wegen Realitätsnähe in Physik und auch der Vielseitigkeit der Fahrzeuge absolut bevorzuge!

Viel Spass! :-)

Endnoten

  1. Linux-Probleme oder Fragen? Hier wird kompetent und freundlich geholfen: Verein LinuxUserGroup Villingen-Schwenningen e.V.
  2. Von hier stammt der Code, der die Pedale des T150 erkennt und das Lenkrad zum Laufen bringt: Code für das T150 von GitHub
  3. Was ist GitHub? /Wikipedia Deutschland zu GitHub
  4. Rennsimulation Live for Speed (Download und mehr): LFS.net
  5. Lenkrad Thrustmaster T150: Thrustmaster Deuschland
  6. Windowskompatible Laufzeitumgebung Wine
  7. Meine Hardware ;System: holger@holger-MS-7758:~> inxi -Fz
    Kernel: 5.10.16-1-default x86_64
    bits: 64
    Desktop: KDE Plasma 5.21.1
    Distro: openSUSE Tumbleweed 20210302
    Machine
    Type: Desktop
    Mobo: MSI
    model: Z77A-G41 (MS-7758)
    v: 3.0
    serial: <filter>
    UEFI: American Megatrends
    v: 2.13
    date: 03/07/2014
    CPU
    Topology: Dual Core
    model: Intel Core i3-3220
    bits: 64
    type: MT MCP
    L2 cache: 3072 KiB
    Speed: 1600 MHz
    min/max: 1600/3300 MHz
    Core speeds (MHz):
    1: 1600
    2: 1600
    3: 1600
    4: 1600
    Graphics
    Device-1: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics
    driver: i915
    v: kernel
    Device-2: Advanced Micro Devices [AMD/ATI] Cape Verde XT [Radeon HD 7770/8760 / R7 250X]
    driver: radeon
    v: kernel
    Device-3: Cubeternet GL-UPC822 UVC WebCam
    type: USB
    driver: uvcvideo
    Display:
    x11
    server: X.org 1.20.10
    driver: ati,modesetting,radeon
    unloaded: fbdev,vesa
    resolution: <xdpyinfo missing>
    OpenGL:
    renderer: AMD VERDE (DRM 2.50.0 5.10.16-1-default LLVM 11.0.1)
    v: 4.5 Mesa 20.3.4
    Audio
    Device-1: Intel 7 Series/C216 Family High Definition Audio
    driver: snd_hda_intel
    Device-2: AMD Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series]
    driver: snd_hda_intel
    Device-3: Focusrite-Novation Scarlett 2i2 Camera
    type: USB
    driver: snd-usb-audio nach
    Sound Server: ALSA
    v: k5.10.16-1-default
    Network
    Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    driver: r8169
    IF: enp3s0
    state: up
    speed: 1000 Mbps
    duplex: full
    mac: <filter>
    Drivers
    ...
    Swap
    Alert: No Swap data was found.
    Sensors
    System Temperatures:
    cpu: 41.0 C
    mobo: N/A
    gpu: radeon temp: 38 C
    Fan Speeds (RPM): N/A
    Info
    ...
    Memory: 15.50 GiB
    used: 6.27 GiB (40.4%)
    Shell: bash
    inxi: 3.1.00
  8. openSUSE Tumbleweed bzw. Leap: openSUSE.org
  9. Weitere Linux-Distributionen: Wikipedia-Liste von Linux-Distributionen
  10. Unter Ubuntu Anwendungen per Konsole installieren: / Wiki von Ubuntuusers.de
  11. Was ist DKMS? Wiki Ubuntuusers zu DKMS
  12. Was funktioniert und was nicht: [1]
  13. Infos zu Flatpak bzw. Snap: wiki.ubuntuusers.de/Flatpak
  14. Download der Demoversion LFS (kostenlos): lfs.net/downloads
  15. Was bedeutet die Dateinamenerweiterung EXE? Wikipedia.org/wiki/EXE
  16. Verfügbare Strecke in der Live-for-Speed-Demo: LFS Streckeninfo
  17. Fronttriebler XFG: LFS Fahrzeuginfo XFG
  18. Hecktriebler XRG: LFS Fahrzeuginfo XRG
  19. Hecktriebler FBM: LFS Fahrzeuginfo FBM
  20. Künstliche Intelligenz (KI / AI): deutscher Wikipedia-Eintrag
  21. Netiquette? deutscher Wikieintrag Netiquette
  22. Airio-LFS-Tracker: Homepage der Airio-Software
  23. Online Server LFS: Onlineaktivität der LFS-Server
  24. Kaufpreis LFS für S1, S2 oder S3-Version in Britischen Pfund / Euro (Stand 25.02.2021):
    Demo (Empfehlung): 3 Fahrzeuge und 1 Track (Rennstrecke) kostenlos!
    S1: Demo-Version zzgl. 6 weitere Fahrzeuge und 3 weitere Tracks ₤ 12 = ~ € 14
    S2 (Empfehlung): S1-Version zzgl. 11 weitere Fahrzeuge und 3 weitere Tracks ₤ 24 = ~ € 36
    S3: S2-Version zzgl. 1 weiterer Track (Rennstrecke) ₤ 36 = ~ € 42
  25. Wissenswertes zu Live for Speed: deutscher Wikipediaeintrag zu LFS

Zurück zur Hauptseite