Freie Grafiktreiber für ATI
Getestet: Dieser Hinweis soll dir dabei helfen, zu entscheiden, ob dieser Artikel auf deinem System funktionieren wird oder nicht. Solltest du feststellen, dass dieser Artikel bei einer ungetestet Version funktioniert, kannst du das gerne hier korrigieren oder im Forum anmerken.
|
Der freie Grafiktreiber für ATI Grafikkarten besteht aus dem Treiber ati und den 3D-Treibern mach64, r128 und radeon. Der Treiber ati dient dazu den passenden der drei anderen Treiber zu laden. Für aktuelle ATI Grafikkarten ist dies der radeon-Treiber. Aus historischen Gründen gibt es ebenfalls den radeonHD-Treiber. Anfangs war er der einzige Treiber für die r5xx bis r7xx Chips, allerdings wurden das Meiste wieder in den radeon-Treiber eingepflegt. Man kann ab Squeeze also getrost den radeon-Treiber nutzen.Welche Funktionen der freie radeon-Treiber bei verschiedenen ATI Grafikkarten unterstützt kann auf der folgenden Seite nachgelesen werden: http://www.x.org/wiki/RadeonFeature
Installation
Der freie Grafiktreiber für ATI ist auf die Pakete xserver-xorg-video-ati, xserver-xorg-video-radeon, xserver-xorg-video-mach64 und xserver-xorg-video-r128 aufgeteilt. Durch die Installation von xserver-xorg-video-ati werden die anderen drei Pakete mitinstalliert. Für aktuelle Grafikkarten reicht es jedoch aus das Paket mit dem radeon-Treiber zu installieren.
root@debian:~# apt-get install xserver-xorg-video-ati
Um die 3D-Beschleunigung für Radeon- und Rage-Karten nutzen zu können, ist es ggf. notwendig das Paket firmware-linux-nonfree zu installieren. Hierfür müssen jedoch die unfreien Quellen in die sources.list eingetragen sein.
root@debian:~# apt-get install firmware-linux-nonfree
Stromsparfunktionen
Für den freien Treiber gibt es 3 verschiedene Stromsparfunktionen:
- dynpm
- profile
- dpm
Wenn man sich für eine Funktion entschieden hat muss die Option mit Root-Rechten in folgende Gerätedatei geschrieben werden.
/sys/class/drm/card0/device/power_method
Möchte man beispielsweise profile verwenden, sieht der Befehl folgendermassen aus:
root@debian:~# echo profile | tee /sys/class/drm/card0/device/power_method
Um den Takt anzeigen zu lassen muss man vorher ein Debuggingfeature ins System mounten mit:
root@debian:~# mount -t debugfs debugfs /sys/kernel/debug
und kann dann kann sich dann mit diesem Code den Takt anzeigen lassen:
root@debian:~# cat /sys/kernel/debug/dri/64/radeon_pm_info
Hier ein Beispiel mit einer Radeon HD5165:
default engine clock: 600000 kHz current engine clock: 219370 kHz default memory clock: 800000 kHz current memory clock: 249750 kHz voltage: 900 mV PCIE lanes: 16
dynpm
Der Grafikprozessor wird abhängig von der aktuellen Belastung dynamisch getaktet, dabei kann der Taktwechsel zu kurzem Flimmern des Bildschirms führen. Funktioniert nur wenn einzelner Bildschirm angeschlossen ist. (Kein Dualmonitoring) Manuelle Optionen zum Eingreifen gibt es bei dieser Funktion nicht.
profile
Das Taktverhalten wird mit dieser Funktion statisch über ein Profil festgelegt. Hier gibt es folgende Profile:
Profil | Beschreibung |
---|---|
default | Der Standardtakt wird beibehalten und es wird nichts verändert, dies ist die Standardeinstellung. |
high | Der Grafikprozessor wird mit hoher Taktstufe betrieben (dies ist in der Regel der Standardtakt). |
mid | Der Grafikprozessor wird mit mittlerer Taktstufe betrieben. |
low | Der Grafikprozessor wird mit geringer Taktstufe betrieben, dies kann bei einigen Laptops zu Problemen mit dem Bildschirm führen. Nicht jeder Grafikchip hat mehr als zwei festgelegte Taktstufen, in dem Fall sind low und mid identisch. |
auto | Es wird zwischen mittlerer und hoher Taktstufe gewechselt, abhängig davon ob der Rechner an einer Stromversorgung hängt oder nur über einen Akku versorgt wird. |
Mit Ausnahme des default Profils wird bei allen Profilen auf niedrige Taktstufe gewechselt, wenn der Bildschirm angewiesen wird in den Standby-Modus zu wechseln. Das Profil muss mit Root-Rechten in folgende Gerätedatei geschrieben:
/sys/class/drm/card0/device/power_profile
Möchte man nun das Profil auto verwenden setzt man folgenden Befehl ab:
root@debian:~# echo auto > /sys/class/drm/card0/device/power_profile
Wie bei jeder Einstellung, die über eine Gerätedatei vorgenommen wird, ist sie nach einem Neustart verloren. Wenn die Änderung dauerhaft übernommen werden soll, muss sie bei jedem Startvorgang angewendet werden. Eine Möglichkeit ist, die Änderungen als einfache echo Befehle in die Datei /etc/rc.local einzufügen. Wenn etwa dauerhaft das Profil auto aktiv sein soll, könnte die rc.local so aussehen:
echo profile > /sys/class/drm/card0/device/power_method echo auto > /sys/class/drm/card0/device/power_profile exit 0
dpm
Diese Funktion kann erst mit einem Kernel höher 3.11 verwendet werden. Sie verfügt über erweiterte Stromsparfunktionen, womit noch effizienter Energie gespart werden kann. Wheezybenutzer bekommen per default den Kernel 3.2. Wer diese Funktion dennoch nutzen möchte kann sich den neueren Kernel (3.13) über die Backports installieren. Der neue Kernel lässt sich dann einfach mit dem Befehl
root@debian:~# apt-get -t wheezy-backports install linux-image-3.13-0.bpo.1-amd64
installieren. Danach sollte das System neu gestartet werden, damit der neue Kernel aktiv werden kann. Da man nun den neuen Kernel installiert hat und die Backport Quellen in die sources.list eingetragen hat sollte man sich auch die neuere Firmware aus den Backports installieren. Dies geschieht mit diesem Befehl:
root@debian:~# apt-get -t wheezy-backports install firmware-linux-nonfree
Diese Prozedur ist, wie bereits erwähnt, nur für die Nutzer von Wheezy von Nöten, da Jessie schon den neuen Kernel und die neue Firmware besitzt und verwendet.
Jetzt muss man noch über die Bootoption
radeon.dpm=1
dem Kernel mitteilen, dass er diese Funktion benutzen/laden soll. Man erreicht dies testweise, wenn man in Grub-Menü den zu verwendenen Eintrag auswählt und die Taste "e" drückt und nun hinter die Zeile, in der ein "quiet" zu lesen ist, oben genannte Option einträgt und dann mit F10 bzw. Strg+X bootet. Möchte man die Stromsparoption dauerhaft nutzen, so kann man im laufendem System die /etc/default/grub bearbeiten und ändert die Zeile
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
so hingehend
GRUB_CMDLINE_LINUX_DEFAULT="quiet radeon.dpm=1"
Danach natürlich abspeichern und aufjedenfall ein
root@debian:~# update-grub
ausführen, damit die Grub-Einstellung auch aktualisiert wird.
Sollte das Standardverhalten von dpm nicht den eigenen Vorstellungen entsprechen, lässt sich selbst eine der folgenden Verhaltensweisen festlegen:
Option | Beschreibung |
---|---|
balanced | Ein ausgewogener Kompromiss aus Sparsamkeit und Leistung, dies ist die Standardeinstellung. |
battery | Es wird aggressiver gespart, um die Akkulaufzeit von Mobilgeräten zu maximieren. |
performance | Es wird versucht auf Kosten der Sparsamkeit möglichst viel Leistung zur Verfügung zu stellen, wenn diese benötigt wird. |
Bei diesen Verhaltensweisen wählt der Treiber ein passendes von der Hardware angebotenes Profil mit mehreren Taktstufen, zwischen denen die Grafikkarte eigenständig Last-abhängig wechselt. Nicht jede Grafikkarte bietet für jede der drei Kategorien ein Profil an, so kann der Treiber sich etwa bei einem fehlenden balanced Profil stattdessen auch für ein battery Profil entscheiden. Diese Optionen müssen ebenfalls mit Root-Rechte in folgende Gerätedatei geschrieben werden:
/sys/class/drm/card0/device/power_dpm_state
Entscheidet man sich hier beispielsweise für die Option battery sieht der Befehl so aus:
root@debian:~# echo battery | tee /sys/class/drm/card0/device/power_dpm_state
Alternativ kann die Karte auch in einem konstanten Zustand gehalten werden, dazu stehen folgende Optionen zur Verfügung:
Option | Beschreibung |
---|---|
auto | Erzwinge keinen Zustand, damit nach dem aktuellen Verhaltensmuster dynamisch gewechselt werden kann. Dies ist die Standardeinstellung. |
low | Erzwinge den niedrigsten Zustand, um z.B. bei fehlendem Bedarf an Grafikleistung durch den Benutzer den Verbrauch zu minimieren. |
high | Erzwinge den höchsten Zustand, um ohne Rücksicht auf den Verbrauch immer die größte Leistung zur Verfügung zu haben. Dies kann bei schlechter Kühlung allerdings zur Drosselung durch Überhitzen bis hin zu einem Absturz führen. |
Diese Einstellungen können über das Schreiben der jeweiligen Schlüsselwörter in folgende Gerätedateien verändern werden:
/sys/class/drm/card0/device/power_dpm_force_performance_level
Möchte man die Einstellung low verwenden, setzt man folgenden Befehl ab:
root@debian:~# echo low | tee /sys/class/drm/card0/device/power_dpm_force_performance_level
Für eine permanente Änderung der Einstellungen kann auch hier auf entsprechende echo Befehle in der /etc/rc.local Datei zurückgegriffen werden.
Warnung: Bitte schreibt die gewählte Funktion erst in die /etc/rc.local, nachdem Ihr die Funktion erst über einen längeren Zeitraum getestet habt! |
Probleme
ATI Rage unter Squeeze
Momentan (Stand 19.08.2010) kann der X-Server nicht mit einer ATI Rage Grafikkarte starten, wenn die Firmware für Rage Grafikkarten nicht installiert ist. Die Firmware befindet sich im Paket firmware-linux-nonfree.
TV-Ausgang nur mit NTSC unter Squeeze
Falls man am TV-Ausgang nur ein NTSC-Signal bekommt, man aber ein PAL-Signal haben möchte, so kann es helfen das Kernelbased Mode Setting zu deaktivieren.
Dann sollte das Umschalten auf PAL funktionieren.
Hinweis: Statt PAL kann man auch SECAM auswählen, allerdings wird dann trotzdem ein PAL-Signal erzeugt, da der ATI-Treiber keine Unterstützung für SECAM besitzt. |