ATI-Grafikkarten:3D-Beschleunigung mit dem freien Treiber "radeon" (OS10.2/xorg7.2)

Status
Für weitere Antworten geschlossen.

Rain_Maker

Administrator
Teammitglied
ATI-Grafikkarten:3D-Beschleunigung mit dem freien Treiber "radeon" (OS10.2/xorg7.2)

In diesem kleinen Tutorial möchte ich die Einrichtung und etwas "Feintuning" unter openSUSE 10.2 für ATI Grafikkarten, welche vom freien Treiber "radeon" auch mit 3D-Beschleunigung unterstützt werden, beschreiben.

Dieses Tutorial wurde mit einer RV350 Karte auf einem ACER Extensa 3002WLMI unter openSUSE 10.2 mit xorg-7.2 erfolgreich getestet, der Treiber läuft ausreichend schnell und stabil um z.B. die ganzen 3D-Effekte mittels AIGLX (compiz-fusion/beryl) nutzen zu können.

Die von mir getesteten 3D-Spiele (xmoto, gl-117 und einige andere) laufen ebenfalls flüssig.

Der Hersteller schreibt übrigens, es handle sich um eine Radeon 9700 Mobility, die weiteren Ausgaben sprechen auch von einer Radeon 9600 Mobility.

Dies soll nur zeigen, daß die hardwarespezifischen Ausgaben (Chipsatz) wie so oft entscheidender sind als die Bezeichnung, die auf die Schachtel oder die Kiste geschrieben wird.

Eine Liste der in Frage kommenden Karten befindet sich hier:

DRI Wiki - ATIRadeon

Sollte die Karte einen Chipsatz < r500 (in Worten: "KLEINER als r500!") haben, so kann man sich an diesem Tutorial versuchen, ansonsten wird 3D-Beschleunigung nur durch den fglrx-Treiber von ATI möglich sein.

Warnung:

Die 3D-Beschleunigung mancher neuerer Karten ist noch experimentell, aber wenn man sich ein passendes Backup der xorg.conf anlegt, dann kann man auf einfache Art und Weise "zurückbauen", falls denn etwas schiefgehen sollte.

0. Backup der xorg.conf anlegen (wie immer: Erst sichern, dann frickeln!)

Code:
cd /etc/X11/

su

Passwort von root

cp xorg.conf backup.xorg.conf
Wenn etwas schiefgehen sollte und man alle Warnungen und Hinweise, die einem z.B. sax2 und der weitere Verlauf dieses Tutorials geben, ignoriert, dann ist das ein weiterer Rettungsanker!

Ein Backup nach jedem Schritt, der diese Datei verändert, ist auch keine schlechte Idee, natürlich sollte man passende Namen wählen, die einem das Wiedererkennen und Unterscheiden erleichtern.

1. Chipsatz herausfinden

Code:
/sbin/lspci |grep VGA
01:00.0 VGA compatible controller: ATI Technologies Inc[B] [COLOR='Red']RV350[/COLOR] [Mobility Radeon 9600 M10][/B]

/usr/sbin/hwinfo --gfxcard
22: PCI 100.0: 0300 VGA compatible controller (VGA)
  [Created at pci.286]
  UDI: /org/freedesktop/Hal/devices/pci_1002_4e50
  Unique ID: VCu0.031r+Npkzr8
  Parent ID: vSkL.oF7y00qHwA3
  SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0
  SysFS BusID: 0000:01:00.0
  Hardware Class: graphics card
  [B]Model: "Acer Incorporated [ALI] [COLOR='#ff0000']RV350 NP[/COLOR]"
  Vendor: pci 0x1002 "ATI Technologies Inc"
  Device: pci 0x4e50 "[COLOR='Red']RV350 NP[/COLOR]"
  SubVendor: pci 0x1025 "Acer Incorporated [ALI]"
  SubDevice: pci 0x0064[/B]
  Memory Range: 0xd8000000-0xdfffffff (rw,prefetchable)
  I/O Ports: 0x3000-0x3fff (rw)
  Memory Range: 0xd0100000-0xd010ffff (rw,non-prefetchable)
  Memory Range: 0xd0120000-0xd013ffff (ro,prefetchable,disabled)
  IRQ: 6 (7926900 events)
  I/O Ports: 0x3c0-0x3df (rw)
  Module Alias: "pci:v00001002d00004E50sv00001025sd00000064bc03sc00i00"
  Driver Info #0:
    XFree86 v4 Server Module: radeon
  Driver Info #1:
    XFree86 v4 Server Module: fglrx
    3D Support: yes
    Extensions: dri
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #11 (PCI bridge)

Primary display adapter: #22
Es handelt sich also um eine Karte mit RV 350-Chipsatz.

2. Treiber "radeon" über sax2 aktivieren

Eine eventuell laufende, grafische Sitzung beenden (aka "Abmelden"), in eine Konsole wechseln => STRG-ALT+F1 (Es muss nicht F1 sein, prinzipiell kann jede andere F-Taste bis F6 verwendet werden.) und als root einloggen.

Code:
init 3

sax2 -r -m 0=radeon
Hier die nötigen Einrichtungen vornehmen und falls möglich die Option "3D-Bescheunigung aktivieren" ankreuzen. Bei der oben genannten Karte funktoniert das nicht mit den Paketen von openSUSE 10.2, aber das ist nicht weiter tragisch, da wir nachher eh die Konfigurationsdatei mit einem Texteditor nachbearbeiten.

Vor dem Abspeichern der Konfiguration _unbedingt_ testen!

Sollte der Bildschirm schwarz werden, dann kann man den Test mit STRG-ALT+BACKSPACE beenden.

Das steht auch FETT in einem Popup, aber scheinbar liest das so gut wie keiner, also Augen auf!

Wenn sich keine vernünftige Konfiguration einrichten lässt, dann hat man eben Pech gehabt. Mit den oben genannten Karten sollte das aber nicht der Fall sein, also Einstellungen sorgfältig überprüfen!

3. Test der bisherigen Konfiguration (egal ob 3D schon aktiviert oder nicht!)

Code:
init 5
Wenn jetzt der X-Server startet (und wenn man vorhin keinen Mist gebaut und sich das Tutorial sowie die Meldungen von sax2 gut angesehen hat, dann gibt es auch keinen Grund dafür, warum das nicht der Fall sein sollte), dann kann man zum nächsten Schritt übergehen.

4. Editieren der xorg.conf als root mit einem Texteditor

Code:
kdesu kate /etc/X11/xorg.conf #für KDE-User

gksu gedit /etc/X11/xorg.conf #GNOME

sudo vi /etc/X11/xorg.conf # oder

sudo mcedit /etc/X11/xorg.conf #Konsole
Auch für einen ungeübten User sollte mcedit kein Problem darstellen.

Folgende Optionen (fett markiert) sollten eingetragen werden (falls sie nicht schon eingetragen sind).

Code:
Section "ServerFlags"
  Option       "AllowMouseOpenFail" "on"
[B]  Option       "RandR" "on"[/B]
EndSection

Section "Module"
  Load         "dbe"
  Load         "type1"
  Load         "freetype"
  Load         "extmod"
[B]  Load         "glx"[/B]
  Load         "v4l"
[B]  Load         "dri"[/B]
EndSection
Die letzte Option musste ich z.B. von Hand einfügen, sie ist für die 3D-Beschleunigung unbedingt erforderlich.

5. Test der 3D-Beschleunigung

- Abmelden aus der grafischen Oberfläche.

- Wechsel auf eine Konsole (siehe Schritt 2) und login als root.

Code:
rcxdm restart
- Grafisches Anmelden als User und

Code:
glxinfo|grep rendering
libGL warning: 3D driver claims to not support visual 0x4b
[B]direct rendering: Yes[/B]
=> DRI ist aktiv.

6. Feintuning

Die folgenden Parameter sind optional und hängen vom Kartentyp ab.

Wer nicht weiß, was er tun soll, der sollte die Finger davon lassen.

Dokumentation befindet sich hier:

DRI Wiki - ATIRadeon

Welche Option sinnvoll ist oder nicht, kann man nicht pauschal sagen, das muss man ausprobieren (oder eben die Finger davon lassen!), wer aber:

a) immer nur eine Option nach der anderen ausprobiert

b) sich vor jedem Schritt ein Backup anlegt (siehe oben, ich schreibs nun schon zum wievielten Mal? => spätestens jetzt sollte es JEDER gelesen haben).

c) nach jeder Änderung den X-Server neu startet (Schritt 5) und nicht alle Optionen auf einmal ohne Sinn und Verstand in die xorg.conf kloppt

der ist eigentlich auf der sicheren Seite.

Mit

Code:
glxgears
können Veränderungen nachvollzogen werden (Ja ich weiß, "Benchmark für Arme", aber besser als Nichts).

Allgemein scheint sich übrigens die Erhöhung des GARTsize auf (maximal?) 64MB immer positiv auszuwirken (ohne Gewähr).

7. Allerletzter Rettungsanker

Und wer sämtliche Hinweise auf Backups ignoriert hat und vor einem dunklen Bildschirm sitzt, der kann immer noch in Runlevel 3 booten (eine 3 am Bootscreen eintippen und <Enter> drücken), sich als root anmelden und die automatische Konfiguration von sax2 abrufen.

Code:
sax2 -a
Weitere Alternativen, falls auch das nicht funktioniert.

Code:
sax2 -r -m 0=vesa
oder

Code:
sax2 -r -m 0=fbdev
Aber da man ja vorher ein Backup angelegt hat, welches man einfach wieder zurückkopieren kann, sollte das nicht nötig sein

Wer mehr wissen will, der sollte die man-Page des radeon-Treibers lesen.

Code:
man radeon
Greetz,

RM
 
Status
Für weitere Antworten geschlossen.
Oben