Freie Grafiktreiber für ATI

Aus DebianforumWiki
(Weitergeleitet von Freie Grafiktreiber fuer ATI)
Zur Navigation springen Zur Suche springen
Wiki ‹ Grafische Oberflächen ‹ Freie Grafiktreiber für ATI


Getestet.png 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

AMD.

Installation

Der freie Grafiktreiber für ATI ist auf die Pakete Debianpackage.png xserver-xorg-video-ati, Debianpackage.png xserver-xorg-video-radeon, Debianpackage.png xserver-xorg-video-mach64 und Debianpackage.png xserver-xorg-video-r128 aufgeteilt. Durch die Installation von Debianpackage.png 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:

  1. dynpm
  2. profile
  3. 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.png 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 Debianpackage.png 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.png 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.