Linux Gaming mit Lutris
Linux Gaming wird wir die guten alten Spiele in Zukunft eine immer größere Rolle spielen, da sie in zukünftigen Windows Versionen womöglich schlecht bis gar nicht laufen werden.
Lutris ist ein Spielemanager für Linux der für viele Spiele lauffähige Konfigurationen mitbringt.

Welche Distribution
Prinzipiell ist es natürlich Geschmackssache welche Linux Distribution man sich aussucht. Ich persönlich bin mit Debian Derivaten wie Ubuntu groß geworden und fühle mich dabei einigermaßen zurecht. Aber auch dort muss ich immer wieder feststellen, dass selbst die aktuelle stabile Version (aktuell 24.04) an vielen Stellen nicht ganz rund läuft. Daher meine Empfehlung: Lieber ein bis zwei Snapshots abwarten (aktuell wären wir erst bei bei 24.04.1) und zur Not lieber die vorherige Version verwenden. So habe ich aktuell Ubuntu 22.04.5 installiert, da ich persönlich keine Lust habe an lauter Stellen das System anzupassen und es stattdessen lieber nutzen möchte.
Tinc bauen
Die Anweisungen beziehen sich aktuell auf Ubuntu 22.04.
zuerst nötige Pakete installieren:
sudo apt install git build-essential autoconf texinfo \
zlib1g-dev liblzo2-dev libssl-dev libncurses-dev \
libreadline-dev libminiupnpc-dev libsystemd-dev \
meson pkg-config
Ich baue immer in ~/src/:
Und dann übersetzen und nach /usr/local/ installieren:
meson setup build -Dprefix=/usr/local -Dbuildtype=release -Dlzo=disabled \
-Dlz4=enabled -Dzlib=disabled -Dcrypto=nolegacy -Dsystemd=enabled \
-Dsysconfdir=/etc -Dlocalstatedir=/var -Dminiupnpc=enabled
ninja -C build
sudo ninja -C build install
Da der Standard Tinc Port ist 655 und weil das kleiner als 1024 ist benötigt der Daemon besondere Rechte um als normaler Benutzer ausgeführt werden zu können. Außerdem wird so ermöglicht, dass der Prozess echtzeitfähiger, also mit höherer Prioritöt ausgeführt wird.
Tinc starten
Die Linux Konfiguration hier herunterladen und erstmal entschlüsseln und entpacken:
Man kann danach ein beliebiges Skript ausführen.
Dabei ist bei starten und beenden mit "Strg+C" u.U. das Benutzerpasswort nötig,
da über sudo ein neues Netzwerkinterface angelegt und Konfiguriert werden muss.
Der eigentliche Tinc Prozess läuft mit normalen Nutzerrechten.
Lutris installieren
Das Paket für Debian Distributionen kann man direkt von Github herunterladen.
Das Paket wird dann einfach mit sudo dpkg -i lutris_0.5.17_all.deb installiert.

Angepasste Wine Version
Ich habe als erstes die angepasste "lutris-7.2-2" Wine Version über die Oberfläche installiert.
Das Wine welches bei Ubuntu dabei ist funktioniert ohne nachträgliche Konfiguration
und Installation zusätzlicher Programme leider nicht richtig mit Spielen.

Spiel einrichten
Zuerst sollte man das Spiel bei Lutris suchen.
Über das "+" links oben kann man das Spiel dann hinzufügen.
Dabei muss es genauso beannt werden wie auf der gefundenen Seite,
damit Icon und Bild automatisch geladen werden, sowie mögliche Konfigurationen.

Man kann für jedes Spiel ein eigenes Wine Prefix anlegen.
Das wäre so als ob man für jedes Spiel eine eigene Windows Installation hätte.
Ist aber eigentlich unnötig, daher habe ich ein Prefix für alle Spiele unter ~/Games/wine angelegt.
Die Präfix Architektur wird bei den Spielen die wir spielen meist "32-Bit" sein.

Hier wählen wir die Wine Version die wir vorher herunter geladen haben.

hier keine Anpassung nötig.

Am Ende schlägt Lutris manchmal noch zusätzliche Konfiguration vor.
Firewall
Viele Spiele müssen z.B. UDP Pakete empfangen können um Spiele im LAN (oder CVPN) zu finden. Dazu öffnen sie einen entsprechenden Port. Glücklicherweise ist dieser Port normalerweise nicht im Root Bereich (1-2024). Trotzdem muss der Port u.U. in der Firewall freigeschaltet werden, es gibt ja nicht wie in Windows einen Dialog der Abfragt ob das Spiel einen Port öffnen darf.
Hier ein paar wichtige Firewallfreigaben für die UFW:
sudo ufw allow to 0.0.0.0/0 proto udp port 27000:27050 comment 'valve'
sudo ufw allow to 0.0.0.0/0 port 47584 comment 'goldberg'
sudo ufw allow to 0.0.0.0/0 proto udp port 23756:23757 comment 'flatout2'
sudo ufw allow to 0.0.0.0/0 port 6112 comment 'wc3'
sudo ufw allow to 0.0.0.0/0 proto udp port 17010:17012 comment 'wormsarmageddon'
sudo ufw allow to 0.0.0.0/0 proto tcp port 17011 comment 'wormsarmageddon'
sudo ufw status verbose numbered