HowTo für die ATI-CS-Graphikkartentreiber
Hier nun eine detaillierte Installationsanleitung, wie man aus dem ATI-Installer ein SuSE-Spezifisches Paket baut und dieses installiert und konfiguriert.
WICHTIG. Es müssen folgende Pakete installiert sein
1. gcc
2. kernel-source (passend zur laufenden Kernel-Version)
http://www.pc-forum24.de/showthread.php?p=1144#post1144
Bevor wir allerdings beginnen, sichern wir uns als ROOT (!!) die Datei /etc/X11/xorg.conf:
Code:
su
cp /etc/X11/xorg.conf /etc/X11/xorg.conf_Backup
Frei nach:
http://www.suse.de/~sndirsch/ati-installer-HOWTO.html
1. Installer bei ATI runterladen und irgendwo im Home-Verzeichnis speichern. Es muss nicht unbedingt das Home-Verzeichnis sein, aber beim Home-Verzeichnis weiß ich zumindest, daß man dort Schreibrechte besitzt und es überhaupt dort abspeichern DARF
.
2. Installer ausführbar machen. Linux setzt die Rechte an einer Datei nicht automatisch anhand der Dateiendung wie es (zumeist) Windows tut. Schaut z.B. mal in das Verzeichnis /usr/bin. Dort sind mehrere Tausend kleine ausführbare Programme und fast keines hat überhaupt eine Dateiendung.
Code:
chmod +x ati-driver-installer-8.23.7-i386.run
zu Root werden
Passwort eingeben und mit Return bestätigen.
Den Installer starten mit der Option ein Paket für SuSE 10 zu bauen
Code:
./ati-driver-installer-8.23.7-i386.run --buildpkg SuSE/SUSE100-IA32
für ein 32-Bit System
und:
Code:
./ati-driver-installer-8.23.7-x86_64.run --buildpkg SuSE/SUSE100-AMD64
für ein AMD64-Bit System.
Nach einer Weile Geratter
Code:
Creating directory fglrx-install
Verifying archive integrity... All good.
Uncompressing ATI Proprietary Linux Driver-8.23.7.
...usw...
Package /daten/ATI/fglrx_6_8_0_SUSE100-8.23.7-1.i386.rpm has been successfully generated
Removing temporary directory: fglrx-install
sollte folgendes Paket im selben Verzeichnis erscheinen.
fglrx_6_8_0_SUSE100-8.23.7-1.i386.rpm
Wie man sieht, ist das Paket für xorg "6.8.0" und für 32-Bit Architektur (i386).
Dieses Paket am besten in der Kommandozeile als root (!) installieren. (Als User gibts eh ne Fehlermeldung).
Code:
rpm -Uvh fglrx_6_8_0_SUSE100-8.23.7-1.i386.rpm
Preparing... ########################################### [100%]
1:fglrx_6_8_0_SUSE100 ########################################### [100%]
/usr/src/kernel-modules/fglrx /
make: Entering directory `/usr/src/linux-2.6.13-15.8-obj/i386/default'
..
... Zeilenweise Code ..
Gegen Ende sollte das hier stehen:
Code:
make -C ../../../linux-2.6.13-15.8 O=../linux-2.6.13-15.8-obj/i386/default modules_install
[B]INSTALL /usr/src/kernel-modules/fglrx/fglrx.ko[/B]
make: Leaving directory `/usr/src/linux-2.6.13-15.8-obj/i386/default'
Ich habe die Zeile extra
FETT markiert, denn diese sagt aus, daß er das zugehörige Kernel-Modul gebaut und installiert hat. Dieses sollte sich unter
/lib/modules/aktuelleKernelversion/extra
finden und den Namen
fglrx.ko
tragen.
Checken wir das mal:
Die aktuelle Kernelversion ist 2.6.13-15.8-default
Code:
cd /lib/modules/2.6.13-15.8-default/extra/
:/lib/modules/2.6.13-15.8-default/extra> ls fglrx*
fglrx.ko
OK, alles da.
Sollte beim Versuch das Paket zu installieren bei rpm -Uvh usw. der Fehler kommen "is already installed", weil von einem vorigen Versuch noch der Treiber in der selben Version (U steht für "UPDATE" und eine ältere Version wird damit ohne Rückmeldung überschrieben, eine gleiche Version jedoch nicht) auf der Platte ist, dann gehen wir auf Nummer Sicher und erzwingen das Update:
Code:
rpm -Uvh --force fglrx_6_8_0_SUSE100-8.23.7-1.i386.rpm
(Ratet mal, wofür der Parameter "--force" wohl steht? )
Änderung:
Die neuen Versionen des Treibers erfordern hier nun einen
NEUSTART des System. Die von mir vorgestellte Lösung mit Wechsel in Runlevel 1 und zurück funktioniert bei einer
ERSTinstallation NICHT mehr.
Nach dem Neustart des Systems sollte auch der ATI-Treiber gestartet werden. Sollte irgendwas schief gehen, dann kann man sich die Fehlermeldungen auf der Konsole Nr. 10 mit STRG-ALT-F10 mal ansehen. Mit STRG-ALT-F7 kommt man wieder zurück.
Folgende Meldung sollte auftauchen und ist normal:
Code:
kernel: fglrx: module not supported by Novell, setting U taint flag.
Da es sich um keinen offiziellen Open-Source Kerneltreiber handelt wird das "angemeckert" mehr nicht, sonst sollten allerdings keine weiteren Meldungen zum Modul "fglrx" auftauchen.
Der Treiber sollte nun laufen mit den Einstellungen, die man in seiner xorg.conf hatte, will man weitere Konfigurationen vornehmen, so kann man dies auf verschiedene Weise tun.
Wie man den Treiber mit sax2 konfiguriert, kann man hier nachlesen.
/usr/share/doc/packages/fglrx/README.SuSE
Die Konfiguration mit dem Tool "aticonfig" kann man sich mit dem Befehl
erklären lassen. Dieser Befehl kann als User aufgerufen werden
Das Tool muss zur Konfiguration selbst natürlich als ROOT (!) ausgeführt werden.
Ich würde folgendermaßen vorgehen:
1. Aus der Konfiguration der alten xorg.conf eine "ATI-kompatible" für 1 Bildschirm erzeugen:
Code:
aticonfig --initial --input=/etc/X11/xorg.conf
2. (optional) Hat man einen zweiten Grafikkarten-Anschluß, wie z.B. bei Laptops für das Anschliessen an einen weiteren Monitor oder einen Beamer, dann:
Code:
aticonfig --desktop-setup=clone
Dieser Befehl erzeugt einen 2. Desktop der den identischen Inhalt hat wie der 1. jedoch kann man verschiedene Auflösungen und refresh-Rates einstellen. Für mich ist das interessant, da mein Laptop einen Breitbild-1280x800-Screen hat, mein Monitor am Desktop-Rechner aber einen "normalen" Screen mit 1280x1024.
3. Auflösung für den jeweiligen Screen angeben.
a) das primäre Display
Code:
aticonfig --resolution=W1xH1,W2xH2,W3xH3,...
W1xH1 ist klar, oder ? (Kleiner Tipp, ich habe einen Widescreen mit 1280x800 Pixeln
)
Will man mehrere Auflösungen angeben, dann kann man diese durch Komma getrennt
nacheinander angeben, die erste angegebene Auflösung ist der Standard; logisch, oder?
b) das sekundäre Display bei Dual-Head (siehe 2.)
Code:
aticonfig --mode2=W1xH1,W2xH2,W3xH3,...
Sollte sich selbst erklären, oder?
So, das waren zumindest die Basics, mehr habe auch ich bisher nicht gebraucht. Wer hier noch etwas beizutragen hat, nur zu.
Hat man sich da einmal "durchgekämpft" und eine gut laufende Konfiguration, dann sollte man sich die vielleicht sichern, oder?
Code:
cp /etc/X11/xorg.conf /etc/X11/xorg.conf_ATI
Der Name ist nur ein Vorschlag, wenn man will kann man die Datei auch "Horst" oder "Fritz" nennen, Hauptsache man weiß später noch, welche man im Falle einer versaubeutelten Konfiguration wieder zurück kopieren muss.
Dann kann man ab sofort seine Konfigurationsversuche mit gutem Gewissen unternehmen ohne Angst haben zu müssen. Wenn hinterher der X-Server nicht läuft, dann nimmt man halt wieder die alte Sicherungskopie und kopiert sie über die xorg.conf, ganz einfach.
Frei nach der Unix/Linux-Philosophie:
"Alles ist eine Datei"
(Und wenn man eine Datei versaubeutelt hat, dann spielt man halt das Backup drüber.....)
(Kleiner allgemeiner Tipp: die Datei kann man sich auch mal mit einem Texteditor ansehen, und gegebenenfalls Einträge ändern, wenn man weiß, was man tut
).
4. Kernel-Update
Ein ganz wichtiger Punkt ist noch folgender, nach einem Kernel-Update muss wieder das Kernelmodul des Treibers neu kompiliert und installiert werden.
"Windows-Style" wäre, den Treiber einfach neu zu installieren, aber es geht auch VIEL einfacher, wir sind ja auf einem Unix-artigen System .
Um das Modul neu zu Kompilieren und zu Installieren geht man so vor:
OK, noch ein letztes Mal: Konsole öffnen und zu root werden:
Nun rufen wir ein kleines Shell-Skript auf, welches den Kompilier/Installationsvorgang auslöst
Und das passiert dann:
Code:
....
make -C ../../../linux-2.6.13-15.8 O=../linux-2.6.13-15.8-obj/i386/default modules_install
INSTALL /usr/src/kernel-modules/fglrx/fglrx.ko
make: Leaving directory `/usr/src/linux-2.6.13-15.8-obj/i386/default'
Kommt Euch das bekannt vor?
Des Rätsels Lösung:
In dem rpm steckt der Befehl drin, der genau dieses Skript am Ende jeder Installation ausführt.
Dieses Neukompilieren muss man nach JEDEM Kernel-Update machen.
Mein Tipp:
Sollte nach einem Kernel-Update irgendwas nicht stimmen, dann kann man dieses Skript zu jeder Zeit und auch OHNE graphischen Modus ausführen
.
(Nur falls mal der X-Server nicht mehr starten will, und Fehlermeldungen wegen "module fglrx not found" auftauchen. Das ist der erste Versuch, das ganze wieder hinzubiegen.)
5. Zu guter letzt, ein kleiner Test, ob der Treiber auch läuft:
Code:
fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: MOBILITY RADEON 9700 Generic
OpenGL version string: 2.0.5695 (8.23.7)
Ausserdem kann man mit dem Tool
einen kleinen "Benchmark"-Test für Arme durchführen.
Ich erhalte mit den oben gemachten Einstellungen in der automatisch von fgl_glxgears geöffneten Fenstergröße um die 460 Frames/Sekunde.
6. Treiberupdate
Hat man eine neue Version des Treibers installiert, so muß nur das graphische System neu gestartet werden:
Abmelden --> mit STRG-ALT-F2 auf die Konsole wechseln --> su + Rootpasswort --> init 1 --> Rootpasswort ---> Init 5 --> wieder anmelden.
Greetz,
RM
P.S. Bei einer anderen Kernelversion bzw. nach einem Kernelupdate gelten natürlich die entsprechenden Versionsnummern, logisch, oder?