Archiv/Hybrid-Grafikkarten/switcheroo

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Starten von Programmen

  2. Ein Terminal öffnen

  3. Root-Rechte

Inhaltsverzeichnis
  1. vga_switcheroo
    1. Vorbereitungen
    2. Anwenden von vga_swicheroo
      1. Aktuell aktive GPU anzeigen
      2. GPU anschalten
      3. GPU ausschalten
      4. Grafikkarte wechseln
      5. Root-Shell verlassen
  2. Links

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Achtung!

Unter bestimmten Umständen kann es sein, dass eine NVIDIA GPU nicht abgeschaltet sein darf, wenn das System heruntergefahren wird, da sonst beim nächsten Start das Panel nicht mehr angeschaltet wird. (z.B.Dell Latitude E6530). Abhilfe schafft ein BIOS Reset auf Werkseinstellungen; um dies blind ausführen zu können, ist es vorteilhaft, die nötigen Tastenkombinationen zu kennen.

Achtung!

Unter bestimmten Umständen kann dies zur Überhitzung führen. Jeder Nutzer sollte die Temperatur seiner Hardware nach Anwendung dieses Programm im Auge behalten!

Immer mehr Notebooks besitzen Dual- oder Hybrid-GPUs. Damit der Stromverbrauch dieser auch unter Linux geringer ausfällt, kann man die AMD/NVIDIA Grafikkarte mit dem Tool vga_switcheroo deaktivieren. Bei Laptops, die einen Hardware Multiplexer haben, lässt sich auch die iGPU abschalten.

vga_switcheroo

Vorbereitungen

Als erstes wird getestet, ob der Kernel bereits das switcheroo Plugin enthält. Dazu gibt man folgendes als Root in ein Terminal ein.

sudo grep -i switcheroo /boot/config-3.* 

Hierbei muss man beachten, dass 3.0 für die aktuell installierte Kernelversion steht. Man sollte hier ein Ausgabe ähnlich (je nach installierten Kerneln) erhalten:

/boot/config-3.0.0-12-generic:CONFIG_VGA_SWITCHEROO=y
/boot/config-3.0.0-16-generic:CONFIG_VGA_SWITCHEROO=y
/boot/config-3.0.0-17-generic:CONFIG_VGA_SWITCHEROO=y

Anschließend wird geschaut, ob das switch-File vorhanden ist, was bei installierten proprietären Treibern nicht der Fall ist.

sudo ls -l /sys/kernel/debug/vgaswitcheroo/switch 

Es sollte eine Ausgabe ähnliche dieser folgen:

-rw-r--r-- 1 root root 0 2012-04-26 16:48 /sys/kernel/debug/vgaswitcheroo/switch 

Anwenden von vga_swicheroo

Zuerst muss man root werden.

sudo -i 

Aktuell aktive GPU anzeigen

Nun kann man sich anzeigen lassen, welche GPU zur Zeit aktiv ist.

cat /sys/kernel/debug/vgaswitcheroo/switch 
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Pwr:0000:01:00.0

Hierbei steht DIS für die dedizierte GPU und IGD für die Integrierte GPU, welche z.B. im Prozessor eingebaut ist. Pwr steht für Power, d.h. die GPU ist an, das Plus-Zeichen (+) zeigt an, welche GPU den Bildschirm ansteuert.

GPU anschalten

echo ON > /sys/kernel/debug/vgaswitcheroo/switch 

GPU ausschalten

Folgender Befehl schaltet, die gerade nicht aktive GPU aus. Aktiv heißt hier, dass die GPU die Ausgabe ausführt.

echo OFF > /sys/kernel/debug/vgaswitcheroo/switch 

Hinweis:

Nach der Bearbeitung sollte jeweils kontrolliert werden, ob die vorgenommene Änderung auch durchgeführt wurden!

Z.B. zeigt Off, dass die GPU abgeschaltet ist:

0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Off:0000:01:00.0

Grafikkarte wechseln

Funktioniert nicht auf muxless Laptops. Mit diesem Befehl wechselt man zur integrierten GPU:

echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch 

Mit diesem Befehl wechselt man zur dedizierten GPU:

echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch 

Man muss sich einmal ein- und ausloggen, um den Xserver neu zu starten.

Root-Shell verlassen

Hat man alles um- und eingestellt, so sollte nicht vergessen werden, die Root-Shell wieder zu verlassen:

exit