Login
Newsletter
Werbung

Di, 9. Juni 2015, 13:05

Software::Grafik

Neue Intel-Grafikprozessoren nutzen proprietäre Firmware-Dateien

Ein neulich getätigter Beitrag zum Linux-Kernel zeigt, dass einige der neueren i915-Grafikprozessoren nun erstmals auf Firmware angewiesen sind, die vom Treiber geladen wird. Das wird allerdings bereits von vielen Peripheriegeräten so gehandhabt und macht den Treiber nicht unfrei.

Bisher kam der komplett offene und freie Intel-Grafiktreiber ganz ohne zusätzliche Firmware aus, die in den Chip geladen wird. Damit war dieser Treiber aber fast schon eine Ausnahme, denn ein Blick in das Firmware-Verzeichnis im Linux-Kernel zeigt, dass eine ganze Reihe von Gerätetreibern Firmware-Dateien nutzt. Unter der betroffenen Hardware findet man WLAN- und Netzwerkchips (auch der ältere Intel e100), SCSI-Controller, Grafik- und Soundchips und andere. Zum Leidwesen vieler Anwender ist nur von wenigen dieser Firmware-Dateien der Quellcode verfügbar. Viele tragen eine Lizenz, die lediglich die Verteilung in binärer Form gestattet.

Ein Checkin in den Linux-Kernel zeigt nun, dass für die neueste Generation der i915-Grafiktreiber von Intel (Codenamen Broxton und Skylake) ebenfalls eine Firmware benötigt wird, die in diese Klasse fällt. Die begleitende Lizenz verbietet Disassemblierung und Reverse Engineering.

Die nur binär verfügbaren »Firmware-Blobs« laufen auf zwei spezialisierten Koprozessoren der Intel-GPUs. Der eine davon ist GuC, ein Prozessor zur Verteilung der Aufgaben auf die verschiedenen Grafik-Engines, von denen eine einzelne GPU hunderte besitzen kann. Genauer beschreibt Intel die Verteilung damit, dass die Host-Software, also der Grafiktreiber, Teilaufgaben an einem von 256 Eintrittspunkten ablegt. GuC entscheidet dann, welche Aufgabe als nächstes ausgeführt werden soll, reicht eine Aufgabe an einen Kommando-Streamer weiter, unterbricht eventuell laufende Aufgaben auf Grafik-Engines, überwacht den Fortschritt und benachrichtigt den Treiber, wenn die Aufgabe erledigt ist. Der zweite Koprozessor ist DMC, er stellt zusätzliche Leerlauf-Zustände bereit, in denen Strom gespart werden kann. Er kann laut Intel Display-Register unabhängig vom Betriebssystem speichern und wiederherstellen, wohl weil ihre Inhalte im Stromsparzustand verloren gehen.

Der betreffende Code läuft nur auf spezialisierten Koprozessoren und ersetzt dort, mutmaßlich aus Kostengründen, früher fest verdrahtete Funktionalität. Trotzdem sehen Organisationen wie die Free Software Foundation solche Entwicklungen mit Sorge, wenn die Firmware ohne Quellcode und ohne freie Lizenz kommt. Ungeachtet der Schwierigkeit, den Quellcode zu verstehen oder zu einer Firmware zu compilieren, sehen viele die proprietäre Firmware im Gegensatz zu den Grundsätzen der Software-Freiheit. GNU empfiehlt ausschließlich Distributionen, die keine solchen binären Firmware-Dateien enthalten. In der Praxis bedeutet das für die Benutzer, dass bestimmte Hardware nicht oder nur eingeschränkt nutzbar ist, so dass man schon beim Kauf darauf achten muss, solche Hardware möglichst zu meiden.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung