Die Woche: Hardware-Datenbank für Linux überfällig

Zwar setzen Linux-Distributionen größtenteils die selben Treiber ein -- verlässliche Informationen zur Linux-Tauglichkeit von Hardware zu finden, ist dennoch schwer, da Distributionen und Betreiber von Kompatibilitätsdatenbanken es falsch anpacken und zu wenig kooperieren.

In Pocket speichern vorlesen Druckansicht 173 Kommentare lesen
Lesezeit: 5 Min.
Von
  • Thorsten Leemhuis

Mannjahre haben die Open-Source-Hacker in die Entwicklung und Pflege von Tausenden von Linux-Distributionen, Hunderten von CD-Rippern und Dutzenden von Desktop-Oberflächen investiert. Die Linux-Welt hat es aber bis heute nicht mal ansatzweise hinbekommen, ein einfach nutzbares, informatives und verlässliches Verzeichnis zu erstellen, in dem Anwender Angaben zur Linux-Kompatibilität von PCs, deren Komponenten oder Peripherie finden.

Daran wird auch die Hardware-Datenbank für Ubuntu nichts wesentlich ändern, die Canonical Mitte des Monats als Ergänzung zur Liste zertifizierter Komplettsysteme und Notebooks veröffentlicht hat. Denn in der derzeitigen Form krankt die ohnehin primär auf PC-Hersteller und -Händler ausgerichtete Datenbank an vielen Fehlern, die schon viele andere Datenbanken zeigen oder zeigten. Die waren dadurch von vornherein zum Nischendasein verdammt und gingen früher oder später häufig zugrunde.

Eines der Probleme ist etwa die bei fast allen Datenbanken starke Fokussierung auf PCI-IDs zur Identifizierung der Komponenten: Diese Angabe ist nur die halbe Miete. Eine gutes Beispiel ist Audio-Hardware, denn damit die heute verbreiteten Onboard-Audio-Lösungen funktionieren, sind nicht nur Treiber für das PCI/PCIe-Audio-Gerät nötigt, sondern auch für den dahinter hängenden Codec-Chip. Diesen Umstand unterschlagen viele Datenbanken, dabei lässt sich die Codec-ID problemlos über Dateien wie /proc/asound/card0/codec#0 auslesen.

Das Erfassen dieser Information würde das Risiko schon deutlich senken, dass ein Anwender inkompatible Hardware kauft, obwohl diese laut Hardware-Datenbank Linux-kompatibel ist. Doch auch wenn das PCI/PCIe-Audio-Device und der Codec unterstützt werden, heißt das noch lange nicht, dass die Audio-Hardware korrekt funktioniert. Nicht wenige Linux-Treiber unterstützen nämlich nur manche der von den Chips gebotenen Funktionen und können möglicherweise keine Audio per SPDIF annehmen oder ausgeben.

Viel problematischer ist im Audio-Bereich jedoch, dass manche PC- und Notebook-Hersteller den Audio-Codec auf spezielle Weise verdrahten. Dem Windows-Treiber geben sie die nötigen Ansteuerungsinformationen gleich mit. Auch die Linux-Audio-Treiber beherrschen solche "Quirks" genannten Sonderbehandlungen und wenden sie auf den im Quirk verzeichneten Boards beziehungsweise PCs oder Notebooks automatisch an. Die Informationen kommen aber nicht von ungefähr: Jemand muss das Gerät kaufen, das Problem erkennen und melden; anschließend schreiben die Entwickler den Quirk und übermitteln ihn nach Test zur Aufnahme an den Linux-Kernel, über die er den Weg in die Linux-Distributionen findet. Bis die Audio-Hardware ohne manuelles Eingreifen "einfach so" arbeitet, führt die Hardware-Datenbank den Anwender so erst einmal Wochen oder Monate in die Irre.

Ob ein PCI/PCIe-Gerät funktioniert, ist zudem auch vom Mainboard des PCs oder Notebooks abhängig. Denn wenn etwa das BIOS ACPI-Tabellen liefert, die der Kernel nicht zu interpretieren weiß, dann geht die Verteilung der Hardware-Ressourcen schief und der Kernel kann die prinzipiell unterstützen Audio-Bausteine möglicherweise gar nicht ansprechen. Das kommt gerade bei Notebooks gelegentlich vor; solche Fehler treten teilweise nur bei bestimmten Version und Konfiguration des Kernels auf. Gerade in Notebooks findet sich manchmal auch ganz unterschiedliche Bauteile, obwohl selbst die ausführliche und meist gut versteckte Modellbezeichnung die selbe ist.

Als wäre das alles noch nicht kompliziert genug, spielt auch der Treiber und dessen Version in die Hardware-Kompatibilität mit hinein – manchmal gibt es mehrere Treiber, ohne dass die Hardware-Datenbanken das deutlich machen oder die Unterschiede erläutern. Einen Open-Source-Verfechter wird es aber nicht sonderlich interessieren, dass seine Hardware vielleicht nur durch einen proprietären Treiber perfekt unterstützt wird.

All diese Aspekte in einem Verzeichnis abzudecken, wäre ein Mammut-Aufwand, selbst wenn man sich auf verbreitete Hardware beschränken würde. Ein Projekt mit einer Handvoll Leuten kann das unmöglich stemmen; selbst für eine einzelne Distribution mit vielen Mitstreitern ist die Aufgabe kaum zu schaffen, was einer der Gründe ist, warum sich bis heute keine der Hardware-Datenbanken als universelle Anlaufstelle etabliert hat, bei der auch Neulinge schnell verlässliche Informationen zur Linux-Tauglichkeit gängiger Hardware finden.

Es ist daher mehr als überfällig, dass die Distributoren und die unabhängigen Initiatoren von Web-Verzeichnissen mit Linux-kompatibler Hardware ihr Ego zurücknehmen und endlich zusammen an einer Datenbank mit Linux-kompatibler Hardware arbeiten. Denn eine nur auf einem System erfasste Information wie "Komponente xyz arbeitetet mit dem Vanilla-Kernel 2.6.35" liefert Anwendern aller auf Linux 2.6.35 und dessen Nachfolgern aufbauenden Distributionen schon einen wichtigen Hinweis zur Linux-Kompatibilität; ob es auf diesen Distributionen tatsächlich funktioniert ließe sich in einem zweiten Schritt feststellen. Dabei können Tools wie Smolt helfen, die halb- oder vollautomatisch Informationen zur Hardware-Kompatibilität sammeln.

Richtig gemacht wäre das immer noch ein gigantischer Aufwand, der mit vereinten Kräften aber durchaus zu bewältigen wäre – durch den entstünde ein riesiger Datenbestand mit distributionsübergreifenden und distributionsspezifischen Informationen, die das Risiko von inakkuraten, falschen oder fehlleitenden Informationen zur Linux-Tauglichkeit erheblich senken würde. Natürlich bliebe selbst mit einer gut gewarteten Datenbank ein Restrisiko von Inkompatibilitäten – die Situation wäre aber um Welten besser als heute, wo man nach stundenlanger Recherche und dem Sichten von sich möglicherweise widersprüchlichen Informationen oft noch verwirrter ist als zuvor. (thl) (thl)