ArchLinux, NVidia und Steam

~4 min read

Dieser Artikel ist Teil 2 der Artikelserie "ArchLinux und NVidia-Treiberupdates":

  1. ArchLinux und NVidia-Treiber
  2. ArchLinux, NVidia und Steam

OK, zweiter Teil, neuer Spaß.
Aber was ist eigentlich passiert.

Linux und ältere Hardware

Eigentlich ist man ja gewohnt, dass bei Linux eher die ältere Hardware gut unterstützt wird. Doch an mancher Stelle ist dies etwas anders.

Daher noch einmal kurz zusammengefasst.
ArchLinux hat den Grafiktreiber für NVidia zum einen auf den OpenSource-Treiber umgestellt. Zum anderen wurde durch die entsprechende Version wieder mal eine Reihe von älteren Grafikkarten "vom Support abgeschnitten". Somit waren mit dem normalen Paket aus dem Repo keine Karten der Reihen GTX10xx1 mehr zu betreiben. Und die Fachpresse2 musste natürlich wieder berichten.

Doch ist das wirklich ein Problem ?
Allgemein eher nicht, denn auch bei ähnlichen Situationen konnte man früher bereits auf entsprechende Paket-Rezepte von Nutzern zurückgreifen, welche die älteren Treiber-Versionen weiterhin bereitstellen. Ja, wir reden hier vom AUR3, somit reden wir hier auch von "user-generated content", was ein pot. Unsicherheitsfaktor sein kann.

AUR und die Unsicherheit

Doch schauen wir uns das ganze einmal etwas genauer an. Welche Quellen4 nutzen wir denn hier eigentlich ?

Alle Inhalte werden von einem Nutzer namens "Ventureo" bereitgestellt. Dieser Nutzername sagt erst einmal nur wenig, mag aber durchaus bekannt sein. Und schauen wir uns einmal ein Paket5 genauer an, dann sehen wir 2 weitere Infos, voller Name, und EMail-Addresse.

Also zusammengefasst (Maintainer-Infos):

  • Name: Vasiliy Stelmachenok
  • Nickname: ventureo
  • EMail: ventureo@cachyos.org

Es handelt sich hier um einen Maintainer von CachyOS6, welcher auch dort die entsprechenden Pakete betreut. Und dieses System ist eine Abwandlung von ArchLinux, somit wird hier die gleiche Toolchain, und der gleiche Paketmanager verwendet. Ja, gewisse Optimierungen für die Architekturen werden hier getroffen, doch wenn wir einmal genauer hinschauen, dann werden sogar AUR-Pakete7 direkt für das CachyOS-Repository8 gebaut.

Der Vergleich

Wenn wir dies einmal im Detail vergleichen, dann finden wir folgendes:

  • Paket nvidia-580xx-dkms -> Bereitgestellt durch Paket-Branch nvidia-580xx-utils.git
  • Paket nvidia-580xx-dkms -> Soll seitens CachyOS aus Source-File https://aur.archlinux.org/cgit/aur.git/tree/?h=nvidia-580xx-dkms gebaut werden.

Ersteres beschreibt die Herkunft betreffend ArchLinux und AUR, letzteres kommt aus der Info-Seite von CachyOS. Wenn wir die erste Info kennen, und uns somit nicht von der Meldung abschrecken lassen, dass der Branch nicht existiert, haben wir die Quelle gefunden.

Somit ist hier einfach nachgewisen, dass die entsprechenden Inhalte nicht unsicher sind, sondern sogar in anderen Derivaten ebenfalls eingesetzt werden. Betreut auf beiden Seiten von der gleichen Person.

Und was ist nun das Problem

Doch was ist jezt das eigentliche Problem, ggf. auch in Richtung Steam9 ?

Wir reden hier davon, dass Steam nicht aus den normalen Repositories heraus installiert wird, sondern bereits ein zusätzliches Repository erfordert. Wir haben hier Multilib als zusätzliches Repository10 in Verwendung.

Somit mischen wir hier 32Bit-Pakete in ein 64Bit-System. Und auch dies ist natürlich betreffend der Grafikfunktionen zu beachten. Somit muss bei der entsprechenden Nacharbeit natürlich auch das Paket lib32-nvidia-580xx-utils mit installiert werden. Dann sollte es auch mit Steam und den Games klappen.

Und wie installiere ich aus diesem AUR ?

Es gibt in diesem Universum auch für diesen Fall ein paar Helfer11. Diese geben verschiedentliche Funktionen, mglw. auch erweiterte Funktionen zur Paketinstallation, als auch Hinweise, bspw. diese offiziellen Announcements. Somit bekommt man bei der Paketinstallation auch bereits weitere Infos mit, ohne immer wieder auf die News-Seite schauen zu müssen.

Und natürlich halten viele dieser Helfer-Tools auch etwas auf sich. So melden diese normalerweise auch, dass das Paket aus dem AUR kommt, und ermöglichen eine vorherige Betrachtung, bevor das Paket gebaut wird. Der Nutzer wird also aktiv darauf hingewiesen, dass hier ein AUR-Paket verwendet wird, und dieses nun explizit lokal erstellt wird. Ebenso werden bei Updates die Änderungen dargestellt, so dass man ggf. böswillige Veränderungen erkennen kann.

Und was haben wir am Ende ?

Wenn wir dies nun einmal abschließend betrachten, was bleibt denn nun noch zu sagen ?

  • Wir haben ein Paket, was wir lokal bauen.
  • Die Informationen werden von einer vertrauenswürdigen Person bereitgestellt.
  • Die Informationen sind in einem GIT-System abgelegt, womit Veränderungen nachvollziehbar sind.
  • Der Nutzer wird aktiv informiert, und zur Kontrolle angehalten.

Wenn man dem Grundsatz12 von ArchLinux nachgeht, und sich gewisse Diskussionen anschaut, dann versteht man gewisses Vorgehen etwas besser. Und betreffend der Treiber-Struktur betreffend NVidia war es bereits immer so. In den normalen Repos gibt es immer nur den aktuellen Treiber. Ggf. notwendige LTS-/Deprecated-Treiber werden allgemein per AUR bereitgestellt.

Nachfolgend noch eine Beispiel-Liste aus dem AUR:

  • nvidia-340xx-dkms
  • nvidia-390xx-dkms
  • nvidia-430xx-dkms
  • nvidia-470xx-dkms
  • nvidia-510xx-dkms
  • nvidia-525xx-dkms
  • nvidia-535xx-dkms
  • nvidia-550xx-dkms
  • nvidia-575xx-dkms
  • nvidia-580xx-dkms

Also wo ist hier etwas anders als zuvor ? Ich stelle durchgehendes Verhalten, und immer gleicher Umgang mit der Situation fest.

Und wenn wir die zugehörigen 32Bit-Pakete mit installiert haben, dann sollte auch Steam funktionieren.


Other articles