In meinem Laptop ist (leider) eine ATI Mobility Radeon HD 3470 verbaut. In den letzten Monaten habe ich immer den proprietären FGLRX Treiber verwendet, da dieser die PowerSaving Features der Grafikkarte unterstützt, und so der Laptop deutlich leiser und kühler war. Zusätzlich war die Akkulaufzeit besser.

Die Entwicklung des freien Radeon Treibers bleibt aber nicht stehen, und mit der Einführungs von KMS (ab Kernel 2.6.35), hatte ich mit dem freien Treiber deutlich bessere Performance als mit FGLRX, besonders beim Einsatz von Compiz. Außerdem hat man keine Probleme mehr bei einem Update von Xorg und ähnlichem.

Klar die 3D Performance vom FGLRX Treiber ist immer noch etwas besser, aber das ist für mich nicht ausschlaggebend.

Hier nun der Guide, wie man die Energiesparfunktion der Radeon auch mit dem freien Treiber aktivieren kann.
Ich hab das bei mir mit der aktuelle Alpha 3 von Ubuntu 11.04 ausprobiert, und es funktionierte perfekt !

GUI Methode:

Wer es ganz einfach will, lädt dieses Script herunter, wo man komfortabel über eine GUI die Einstellung erledigen kann:
DOWNLOAD PowerPlaySwitchGUI                   MIRRORS                   QUELLE

Voraussetzung ist ein Kernel >= 2.6.35 und natürlich die Benutzung des freien "Radeon" Treibers.

Das runtergeladen Skript, müsst ihr entpacken und als Root starten. Nun solltet ihr folgendes sehen:

Standardmässig ist  es auf "Profile Method" und "Default" gestellt. Damit läuft die Karte immer auf voller Leistung. Das macht natürlich wenig Sinn.

Wer nicht spielt, kann die Einstellung auf Low festsetzen und damit Strom sparen. Die Funktion "Auto" funktioniert auch super. Dabei wird im Akkumodus auf Mid geschaltet, während im Netzmodus auf High geschaltet wird.

Die "Dynamic Power Managment Method", versucht die Karte je nach Auslastung zu takten.

Konsolen Methode:
Erstmal solltet ihr euch im Terminal als Root anmelden.

sudo su

Nun euer Passwort eingeben.
Wählt nun eine der beiden Methoden, die euch am meisten zuspricht:

1.
Das "Dynamic Frequency Switching", stellt die Taktrate der Karte je nach Belastung, unabhängig von der Stromquelle ein. Wenn ihr das wollt, gebt in das Terminal ein:

echo dynpm > /sys/class/drm/card0/device/power_method

2.
Das "Profile Based Frequeny Switching", stellt die Taktrate je nach Profil ein. Es gibt ingesamt fünf Profile:

  • default: nutzt keinerlei Energiesparmodi, die GPU läuft immer auf maximaler Leistung
  • auto: Im Akkumodus läuft die GPU auf Stromsparen und im Netzbetrieb auf voller Leistung
  • low: Immer die niedrigste Leistung und Stromsparen
  • mid: Immer eine Mischung aus Leistung und Stromsparen
  • high: Immer volle Leistung (genau wie Default

Um das gewünscht Profil einzustellen, müsst ihr folgendes machen:
echo profile > /sys/class/drm/card0/device/power_method

Anschließend, noch das gewünscht Profil einstellen. PROFIL ersetzt ihr mit einer der fünf Profile von oben:

echo PROFIL > /sys/class/drm/card0/device/power_profile


z.B. für Auto:

echo auto > /sys/class/drm/card0/device/power_profile


Meiner Meinung nach macht die 2. Methode mit dem Modus auf "Auto" am meisten Sinn.

Um nun die Taktfrequenz zu prüfen, gebt ihr folgendes ein:
cat /sys/kernel/debug/dri/0/radeon_pm_info

Ihr bekommt eine Übersicht, über die Default Clock und die Current Clock.
Wenn ihr wollt, könnt ihr hier auch die GUI von oben nutzen, die zeigt die aktuelle Taktrate oben im Fenster an.



Beide Methoden funktionieren übrigens nur so lange an, bis man sich ausloggt oder das System neu startet.
Um bereits beim Systemstart eine der Optionen zu aktivieren, muss man in die /etc/rc.local die gewünschten Befehle eintragen:

In meinem Fall ist das "Profile Based Frequeny Switching" auf auto.

Comment