Switchable Graphics

Es ist ja nicht so, dass das Thema neu ist, aber die gute Switchable Graphics Lösung unter Linux funktioniert leider nicht so, wie sie soll. Die Grundidee besagt, dass man zwei Grafikkarten in der Kiste hat, von denen die Eine auf Leistung und die Andere auf die normale Arbeit ausgelegt ist, eben um Strom zu sparen. Doch wie oft im Leben sind Theorie und Praxis leider nicht immer gemeinsam anzutreffen.

In unserem Fall ist es eine ATI Karte, welche uns die entsprechende Leistung liefern sollte und eine Intel GEM. Letztere ist zum Strom sparen ausgelegt und die einzige Karte, welche derzeit vernünftig mit dem aktuellen Kernel zusammenarbeitet. Doch was ist mit der ATI Karte?

Genau hier liegt der Hund begraben: Die Radeon Karte läuft, so lange man sie nicht ordentlich initialisiert auf voller Leistung ohne dass sie etwas tut und verbraucht einiges an Energie, welche mit Sicherheit besser verwerten könnte, als nur in Wärme zu verwandeln. Als Zwischenlösung entschied ich das ati-drivers Paket zu emergen und das Kernelmodul zum Initialisieren der Karte zu verwenden.

Kurzum, das Ding lädt und man wirft die graphische Oberfläche an und hat den Salat: Direct Rendering versagt kläglich, da der Kernel anstelle der Intel-Treiber die Kommandos an den ATI Treiber sendet, was dem Ganzen nicht unbedingt förderlich ist, sondern in ziemlich unschönen Grafikfehlern ausartet und mitunter sogar Xorg abschmieren lässt.

Nach den ersten Schrecksekunden erinnere ich mich, dass das fglrx Modul noch immer geladen ist. Ich schreibe also kurz ein kleines Init-Script welches mir den ATI Treiber eben vor dem Start der graphischen Oberfläche entfernt. So habe ich eine Lösung, die mir die ATI Karte ruhig stellt und Xorg intakt lässt. Als kleiner Nebeneffekt bleibt auch die Temperatur des Systems niedriger, da die ATI Karte nun dank Initialisierung in einen Sleep-State versetzt wurde, wodurch sie weniger Energie in Hitze umsetzt.

Author:

One thought on “Switchable Graphics”

Schreibe einen Kommentar

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