Firefox 4.0 und Chrome 10: WebGL auch unter Linux nutzen

WebGL läuft prima unter Windows ab Vista und Mac OS. Doch mit allen ATI/AMD-Grafikkarten und Intel-GPUs versagt das 3D-Browser-API unter Ubuntu seinen Dienst. ZDNet zeigt, wie man es mit ein paar Tricks trotzdem für ATI-GPUs zum Laufen bekommt.

Unter Windows ab Vista und Mac OS X ist es normalerweise kein Problem, den 3D-Browserstandard WebGL zu nutzen. Mit Linux stehen die Chancen nur dann gut, wenn man eine Grafikkarte von Nvidia besitzt. Wer allerdings eine GPU von ATI/AMD nutzt, muss erst etwas tricksen.

Die aktuellen Versionen von Chrome und Firefox unterstützen WebGL genauso wie Betas von Safari und Opera. Lediglich Microsoft hat angekündigt, für Internet Explorer kein WebGL zu implementieren. Es sei kein offizieller W3C-Standard. Unter Linux erhält man auch mit Chrome und Firefox 4 meist nur einen Fehler, wenn man eine WebGL-Seite wie den Google Body Browser aufruft.

Auch mit aktuellen Builds von Firefox und Chrome erhält man unter Ubuntu die Nachricht, man solle Firefox oder Chrome benutzen.
Auch mit aktuellen Builds von Firefox und Chrome erhält man unter Ubuntu die Nachricht, man solle Firefox oder Chrome benutzen.

Firefox und Chrome verwenden eine Blacklist mit Kombinationen von Grafikkarten, Treibern, und Betriebssystemen, die zwar OpenGL unterstützen, aber nach Ansicht von Mozilla und Google noch nicht ausreichend stabil sind. In dieser Blacklist befinden sich alle ATI/AMD-Karten und Intel-GPUs mit Linux-Treibern. Aber auch einige Nvidia-Karten sind darunter. Die gesamte Liste von Chrome lässt sich im Source-Tree einsehen.


Ausschnitt aus der Blacklist von Chrome: Unter Linux werden alle GPU-Hardwarefeatures von ATI-Karten deaktiviert.

Ob, und unter welchen Bedingungen es sinnvoll ist, WebGL-Inhalte darzustellen, probiert man jedoch am besten selbst aus. Im ZDNet-Test verrichten alle getesteten ATI/AMD-Karten auch unter Linux ihren Dienst ohne Probleme. Ein Versuch, die Blacklist auszutricksen, ist es daher wert.

Ein wichtige Voraussetzung bei ATI/AMD- und Nvidia-Karten ist, dass der jeweilige proprietäre Treiber des Herstellers installiert ist. Unter Ubuntu lässt das beispielsweise mit System – Administration – Additional Drivers erreichen.

Ohne einen proprietären Treiber des Grafikkartenhersteller ist unter Linux keine 3D-Beschleunigung zu erreichen.
Ohne einen proprietären Treiber des Grafikkartenhersteller ist unter Linux keine 3D-Beschleunigung zu erreichen.

Wenn ein funktionsfähiger 3D-Treiber installiert ist, lassen sich die Browser dazu überreden, ihre eingebauten Blacklists nicht zu benutzen. Bei Chrome lässt sich das erreichen, indem man den Browser mit dem Kommandozeilenparameter –ignore-gpu-blacklist aufruft. Wer Chrome per .deb-Datei in Debian oder Ubuntu installiert hat, kann es mit dem Terminal-Befehl /opt/google/chrome/google-chrome –ignore-gpu-blacklist & starten, um auch mit ATI-Karten 3D-Beschleunigung zu erhalten.

Zweckmäßigerweise trägt man den Kommandozeilenparameter in das Launcher-Icon für Google Chrome ein. Wie das geht, zeigt die folgende Grafik.

Den Parameter --ignore-gpu-blacklist fügt man am besten in die Properties des Launchers für Google Chrome ein.
Den Parameter –ignore-gpu-blacklist fügt man am besten in die Properties des Launchers für Google Chrome ein.

Für Firefox 4.0 ist das Verfahren etwas komplizierter: Um die Blacklist zu ignorieren, muss die Umgebungsvariable MOZ_GLX_IGNORE_BLACKLIST auf 1 gesetzt werden. Wer Firefox 4 beispielsweise im Verzeichnis ~/Downloads/firefox installiert hat, kann es aus dem Terminal mit dem Kommando MOZ_GLX_IGNORE_BLACKLIST=1 ~/Downloads/firefox/firefox & ausführen, um in den Genuss der 3D-Beschleunigung zu kommen.

Dieses Kommando versteht zwar die bash-Shell, nicht jedoch der Launcher von Gnome. Daher ist es zweckmäßig, ein kurzes Script zum Starten von Firefox 4 zu verwenden. Dazu legt man mit sudo vi /usr/local/bin/firefox-gl folgende Textdatei an.

#!/bin/bash

# In der nächsten Zeile das Verzeichnis anpassen
firefox_dir=/home/christoh/Downloads/firefox

export MOZ_GLX_IGNORE_BLACKLIST=1
exec $firefox_dir/firefox

Statt vi lässt sich natürlich auch einen anderer Editor wie gedit, nano oder joe verwenden. Die Zeile, die mit firefox_dir= beginnt, muss individuell angepasst werden. Anschließend markiert man die Datei mit sudo chmod 755 /usr/local/bin/firefox-gl als ausführbar. Sie kann wie im folgenden Bild gezeigt als Startscript für Firefox in einen Launcher im Panel eingetragen werden.

Wer Firefox mit einem kleinen Startscript in einen Launcher einträgt, kommt in den Genuss der 3D-Beschleunigung.
Wer Firefox mit einem kleinen Startscript in einen Launcher einträgt, kommt in den Genuss der 3D-Beschleunigung.

Um zu sehen, ob alles geklappt hat, kann man mit Chrome 10 oder Firefox 4.0 den Google Body Browser oder den Mozilla Flight of the Navigator aufrufen.

Themenseiten: Analysen & Kommentare, Betriebssystem, Browser, Canonical, Chrome, Firefox, GPU, Geforce, Google, Grafikchips, Linux, Mozilla, Open Source, Radeon

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

1 Kommentar zu Firefox 4.0 und Chrome 10: WebGL auch unter Linux nutzen

Kommentar hinzufügen
  • Am 18. Januar 2017 um 14:11 von Angela Henseleit

    Eigentlich leicht verständlich, aber leider fehlt etwas, nämlich die Grafik wie man gpu-ignore-blacklist in den Launcher einträgt. :-) So habe ich ein kleines Problem, weil ich nicht weiß wo???

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *