ATI: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(Benutzung und Informationen über xrandr im Beitrag über "RandR")
Keine Bearbeitungszusammenfassung
Zeile 15: Zeile 15:


====Frühes Aktivieren von KMS====
====Frühes Aktivieren von KMS====
Damit die Bildschirmauflösung möglichst früh gesetzt werden kann, müssen die dazu nötigen Module und Dateien dem initramfs-Image hinzugefügt werden. Dazu muss in der Datei ''/etc/mkinitcpio.conf'' die Zeile ''MODULES'' geändert werden:
Damit die Bildschirmauflösung möglichst früh gesetzt werden kann, müssen die dazu nötigen Module und Dateien dem initramfs-Image hinzugefügt werden. Dazu muss in der Datei ''/etc/mkinitcpio.conf'' die Zeile ''MODULES'' geändert werden:
  MODULES="radeon"
  MODULES="radeon"
Zeile 25: Zeile 24:


==== Energiespar-Modi ====
==== Energiespar-Modi ====
Die Einstellungen die für Energiespar-optionen gemacht werden müssen unterscheiden sich, je nachdem ob KMS de- oder aktiviert ist.
{{Hinweis|Da sich Energiesparen mittels KMS immernoch in der Entwicklung befindet, gibt es bei einigen Karten noch Fehler. In den meisten Fällen flackert der Bildschirm, in einigen Fällen kann es sogar zum Einfrieren des System kommen.}}


'''KMS Aktiviert'''
'''Dynamischen Anpassen der Frequenz anhand GPU-Last'''


Da sich Energiesparen mittels KMS immernoch in der Entwicklung befindet, gibt es bei einigen Karten noch Fehler. In den meisten Fällen flackert der Bildschirm bei der Umstellung von verschiedenen Modi - in eingen Fällen kann es sogar zum Einfrieren des System kommen (diese Fehler sind besonders bei ''dynpm'' zu beobachten).
Die Methode mit ''dynpm'' verändert die Taktfrequenz je nach Last der GPU. Bei dem Umschalten der Frequenz zwischen verschiedenen Taktraten kann es zu Bildschirmflackern kommen. Aktiviert wird sie mittels
  echo dynpm > /sys/class/drm/card0/device/power_method


'''Dynamischen Anpassen der Frequenz (je nach GPU-Last)'''
'''Profil-basierter Frequenzwechsel'''
echo dynpm > /sys/class/drm/card0/device/power_method


Die Methode mit ''dynpm'' verändert die Taktfrequenz je nach Last der GPU. Bei dem Umschalten der Frequenz zwischen verschiedenen Modi bzw. Taktraten kann es zu Bildschirmflackern kommen.
Bei dieser Methode gibt es verschiedene Profile um zwischen den Energiesparmodi zu wechseln. Aktiviert wird sie mittels
{{Hinweis| Die Methode ''Profil'' im nächsten Abschnitt ist nicht ganz so effektiv hinsichtlich der Einsparungen, jedoch stabiler und ohne Bildschirmflackern}}
echo profile > /sys/class/drm/card0/device/power_method


'''Profil-basierter Frequenzwechsel'''
Die möglichen Profile sind:
Ähnlich dem ''governor'' von [[cpufrequtils]] gibt es bei dieser Methode verschiedene ''Profile'' um zwischen den Energiesparmodi zu wechseln. Die möglichen Profile sind:
* ''default'' nutzt die standard-Taktraten und veränder den Energiesparmodus nicht. Die ist die Voreinstellung.
* ''default'' nutzt die standard-Taktraten und veränder den Energiesparmodus ''NICHT''. Die ist die Voreinstellung.
* ''auto'' wechselt zwischen ''low'' und ''high'' Modus, je nachdem ob das Gerät im Batteriebetrieb oder im Netzbetrieb läuft. ''low'' wird jedoch nur dem Abgeschalteten Bildschirm benutzt.
* ''auto'' wechselt zwischen ''low'' und ''high'' Modus, je nachdem ob das Gerät (Notebook/Netbook) auf Batteriebetrieb oder auf Steckdosenbetrieb läuft. ''low'' wird jedoch nur dem Abgeschalteten Bildschirm benutzt.
* ''low'' bringt die GPU permanent in den Energiemodus ''low''.  
* ''low'' bringt die GPU permanent in den Energiemodus ''low''.  
{{Hinweis| ''low'' kann manchmal auf einigen Notebooks zu Problemen führen, weswegen ''auto'' low nur verwendet wenn der Bildschirm abgeschaltet wird.}}
* ''mid'' setzt den Energiemodus permanent auf ''mid''. low wird wie bei ''auto'' auch nur bei ausgeschaltetem Bildschirm genutzt.
* ''mid'' setzt den Energiemodus permanent auf ''mid''. low wird wie bei ''auto'' auch nur bei ausgeschaltetem Bildschirm genutzt.
* ''high'' setzt den Energiemodus auf ''high''. Low wird nur bei ausgeschaltetem Bildschirm genutzt.
* ''high'' setzt den Energiemodus auf ''high''. Low wird nur bei ausgeschaltetem Bildschirm genutzt.


Möchte man nun also den Energiemodus wechseln (im diesem Beispiel auf ''low''), ist folgende Einstellung notwendig:
{{Hinweis| ''low'' kann manchmal auf einigen Notebooks zu Problemen führen, weswegen ''auto'' low nur verwendet wenn der Bildschirm abgeschaltet wird.}}
  echo low > /sys/class/drm/card0/device/power_profile
 
Je nach gewünschten Modus muss ''low'' in diesem Beispiel durch ein anderes Profil gesetzt werden.
Das jeweilige Profil wird mittels
{{Hinweis| ''echo'' für den wechsel zu benutzen macht die Einstellung ''nicht'' permanent! Wenn man ein Profil permanent wählen möchte muss dies in die ''rc.local'' eingetragen werden.}}
  echo <profil> > /sys/class/drm/card0/device/power_profile


'''Profil permanent setzen'''
{{Hinweis| Um die Einstellungen bei jedem Systemstart zu setzen, sollten sie in die Datei ''\etc\rc.local'' geschrieben werden.}}
Um das Profil permanent zu setzen reicht eine neue Zeile in der ''/etc/rc.local''.
echo auto > /sys/class/drm/card0/device/power_profile


====TV-Out====
====TV-Out====

Version vom 25. November 2010, 12:49 Uhr

Für den Betrieb von ATI-Grafikkarten unter Linux gibt es die Möglichkeit der Benutzung zweier freier Treiber (ati, radeonhd). Allerdings wird der Treiber radeonhd seit einiger Zeit nicht mehr weiterentwickelt. Auch existiert ein propritärer Treiber, der zwar volle 3D Unterstützung bietet, aber häufig das aktuellste X.org nicht unterstützt. Die Treiber unterscheiden sich in ihrem Funktionsumfang, wobei die freien Treiber in den meisten Fällen ausreichen sollten.

Open Source Treiber

Installation

Das Treiberpaket xf86-video-ati wird mittels

pacman -S xf86-video-ati

installiert und stellt den Treiber radeon bereit, der Grafikkarten von der Radeon 7000 Serie bis zur Radeon HD 5xxx Serie unterstützt (r100 - r800).

Mehr Informationen finden sich dazu auf der offizielle Seite von radeon.

Konfiguration

Eine Konfiguration mittels der Datei xorg.conf ist nicht mehr notwendig. Das für Kernel Mode Setting (KMS) nötige drm-Modul (radeon) wird automatisch von udev geladen und es bedarf im Regelfall ebenfalls kein Eingreifen des Benutzers.

Hinweis: Der Benutzer muss in der Gruppe video sein, um die 3D-Unterstützung, zu verwenden.

Frühes Aktivieren von KMS

Damit die Bildschirmauflösung möglichst früh gesetzt werden kann, müssen die dazu nötigen Module und Dateien dem initramfs-Image hinzugefügt werden. Dazu muss in der Datei /etc/mkinitcpio.conf die Zeile MODULES geändert werden:

MODULES="radeon"

Anschließend muss noch das Image neu erstellt werden.

mkinitcpio -p kernel26

Der vga Parameter des Kernel sollte ebenfalls entfernt werden.

Energiespar-Modi

Hinweis: Da sich Energiesparen mittels KMS immernoch in der Entwicklung befindet, gibt es bei einigen Karten noch Fehler. In den meisten Fällen flackert der Bildschirm, in einigen Fällen kann es sogar zum Einfrieren des System kommen.

Dynamischen Anpassen der Frequenz anhand GPU-Last

Die Methode mit dynpm verändert die Taktfrequenz je nach Last der GPU. Bei dem Umschalten der Frequenz zwischen verschiedenen Taktraten kann es zu Bildschirmflackern kommen. Aktiviert wird sie mittels

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

Profil-basierter Frequenzwechsel

Bei dieser Methode gibt es verschiedene Profile um zwischen den Energiesparmodi zu wechseln. Aktiviert wird sie mittels

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

Die möglichen Profile sind:

  • default nutzt die standard-Taktraten und veränder den Energiesparmodus nicht. Die ist die Voreinstellung.
  • auto wechselt zwischen low und high Modus, je nachdem ob das Gerät im Batteriebetrieb oder im Netzbetrieb läuft. low wird jedoch nur dem Abgeschalteten Bildschirm benutzt.
  • low bringt die GPU permanent in den Energiemodus low.
  • mid setzt den Energiemodus permanent auf mid. low wird wie bei auto auch nur bei ausgeschaltetem Bildschirm genutzt.
  • high setzt den Energiemodus auf high. Low wird nur bei ausgeschaltetem Bildschirm genutzt.

Hinweis: low kann manchmal auf einigen Notebooks zu Problemen führen, weswegen auto low nur verwendet wenn der Bildschirm abgeschaltet wird.

Das jeweilige Profil wird mittels

echo <profil> > /sys/class/drm/card0/device/power_profile

Hinweis: Um die Einstellungen bei jedem Systemstart zu setzen, sollten sie in die Datei \etc\rc.local geschrieben werden.

TV-Out

Hinweis: Um die TV-Out Unterstützung auf Karten der Radeon HDxxxx Reihe (r6xx-r7xx) zu aktivieren, muss Option "ATOMTvOut" "TRUE" in Section "Device" in der statischen Konfiguration von X unter /etc/X11/xorg.conf.d hinzugefügt werden.

Der Ausgang wird mittels xrandr konfiguriert und aktiviert

xrandr --output S-video --set load_detection 1
xrandr --addmode S-video 800x600
xrandr --output S-video --set tv_standard pal
xrandr --output S-video --mode 800x600

Ausgeschaltet wird der Ausgang mit:

xrandr --output S-video --off

Weitere Informationen zum Umgang mit xrandr finden sich unter RandR.

Fehlerbehebung

Fehler lassen sich in der Datei /var/log/Xorg.0.log finden.

Für die Behebung des Fehlers

(EE) Failed to load /usr/lib/xorg/modules/extensions//libdri.so
(EE) Failed to load module "dri" (loader failed, 7)
(EE) RADEONHD(0): RHDDRIVersionCheck: symbol DRIQueryVersion not available.(libdri.a is too old)
(WW) RADEONHD(0): RHDDRIPreInit: Version check failed. Disabling DRI.

muss xorg-server neu installiert werden:

pacman -S xorg-server

In Zusammenhang mit Kernelmodesetting (KMS) kann es in seltenen Fällen noch zu Problemen kommen. Um dies zu deaktivieren, muss

radeon.modeset=0

dem Kernel als Parameter übergeben werden.

Proprietärer Treiber

Zu beachten ist, dass obwohl das Treiberpaket catalyst heißt, der Treiber und das nötige Kernelmodul fglrx heißen.

Installation

Hinweis: Falls einer der freien Treiber installiert war, müssen die Pakete libgl, ati-dri und xf86-video-ati zuerst entfernt werden! Sollte dies wegen Abhängigkeitsproblemen nicht funktionieren, kann die Option 'd' verwendet werden. (pacman -Rd libgl ati-dri xf86-video-ati)

Der proprietäre Treiber ist im AUR zu finden und kann mittels ABS erstellt werden. Allerdings tritt häufig der Fall auf, das der von AMD bereitgestellte Treiber das aktuelle X.org von Archlinux noch nicht unterstützt. Aus diesem Grund sollte man immer auf die Hinweise bei den Paketen im AUR achten. Eine Aktualisierung des Kernels oder von X.org kann die Neuerstellung dieser Pakete notwendig machen.

Der aktuelle proprietäre Treiber unterstützt nur noch Karten ab der HD2xxx-Serie (r600). Für ältere Grafikkarten muss einer der freien Treiber verwendet werden.

Konfiguration

Die Datei xorg.conf muss folgendermaßen editiert werden:

Device Section

Section "Device"
 Identifier   "Device"
 Driver       "fglrx"
EndSection

Hinweis: Der Benutzer muss in der Gruppe video sein, um die 3D-Unterstützung zu verwenden.

Fehlerbehebung

Fehler lassen sich in der Datei /var/log/Xorg.0.log finden.

Wenn Xorg nicht startet und die Fehlermeldung zurückgibt, dass die eingestellte 8-Bit-Farbtiefe von fglrx nicht unterstützt werde, muss man die „Screen“-Sektion um folgenden Eintrag erweitern.

DefaultDepth 24

Siehe auch

Weblinks