FGLRX Treiberupdate automatisieren

Aus Linupedia
Wechseln zu: Navigation, Suche

openSuSE 10.3 32-Bit

Achtung:

Diese Anleitung, ebenso das Skript ist rein experimentell. Der Autor/die Autoren können nicht garantieren, dass sie tadellos funktionieren. Setzen Sie diese Anleitung NIE auf ihrem Produktivsystem ein! Ansonsten machen Sie eine Sicherungskopie ihrer Daten! Es wird keinerlei Verantwortung für nachfolgene Schäden übernommen. Alles erfolgt auf eigene Gefahr!


Diese Anleitung setzt die Kenntnis folgender Artikel vorraus:
  • Eine funktionierende XORG.CONF
  • Diese Anleitung ist notwendig:

FGLRX-Installationsvorraussetzungen

  • POSIX Shared Memory muss aktiviert sein:

POSIX Shared-Memory

  • Vor dem Ausführen muss der ATI Installer von der Internetseite von ATI/AMD heruntergeladen werden und zusammen mit dem Script im Wurzelverzeichnis abgelegt werden.
  • Eine 32-Bit Version von openSUSE 10.3


Vorraussetzungen zum Ausführen des Skriptes

Dieser Script geht davon aus, dass es bereits eine funktionierende Installation des FGLRX auf einer SuSE 10.3 Plattform gegeben hat, gibt oder geben wird und das alle Abhängigkeiten erfüllt sind um funktionieren zu können.

Funktionen des Skriptes

  • 1. Es erstellt ein Verzeichnis "ATI"; (Dieses wird permanent vorhanden bleiben.)
  • 2. Es erstellt ein temporäres Verzeichnis; (dieses wird wieder gelöscht!)
  • 3. Es kopiert den Installer in das temporäre Verzeichnis (es wird nur mit der Installerkopie gearbeitet.)
  • 4. Es erstellt ein Backup der funktionierenden "/etc/X11/xorg.conf" unter /ATI/xorg.confTEMP
  • 5. Es deinstalliert mittels "rpm-utility" das ggf. installierte rpm;
  • 6. Es deinstalliert analog dazu zusätzlich eine ggf. installierte Version die mit dem Assistenten aufgespielt wurde.
  • 7. Es erstellt eine neues FGLRX-rpm mithilfe der Kopie des zuvor heruntergeladenen Installers.
  • 8. Es installiert dieses RPM mit dem Schalter "--force" (keine Gnade!).
  • 9. Es bügelt die ASSISTENTEN-Installation über das RPM nochmals drüber!
  • 10. Es kopiert die Sicherung der vorhandene xorg.conf; also die /ATI/xorg.confTEMP wieder nach /etc/X11/xorg.conf;
  • 11. Es verschiebt das neu erstellte RPM sowie die Kopie des Installers nach /ATI.
  • 12. Es löscht das Verzeichnis "instscripttemp".
  • 13. Es versucht abschließend testweise FGLRX zu laden.
  • 14. Es bittet darum, den Rechner abschließend neuzustarten.

Anwendung des Skriptes

Achtung:

Dieses Skript ist rein experimentell! Setzen Sie es NIE auf einem Produktiv-System ein! Der/Die Autor/Autoren übernehmen keine Verantwortung für nachfolgende Schäden! Alles erfolgt auf eigene Gefahr!


1. Das Skript in eine Textdatei mit dem Namen fglrx-updater.sh kopieren und und im Wurzelverzeichnis zusammen mit dem frisch heruntergeladenen Installer ablegen;

Anschließend mit dem Befehl:

 chmod +x fglrx-updater.sh

ausführbar machen.

  • 2. Das Skript muss mit Superuserberechtigung ausgeführt werden.
  • 3. Der Inhalt der fglrx-updater.sh:
#! /bin/sh
### FGLRX Updatescript --wild-thing
# ins Wurzelverzeichnis wechseln
## Vorbereitung
echo "ERSTELLE Verzeichnis /ATI..."
mkdir /ATI
echo "ERSTELLE TEMPORÄRES VERZEICHNIS INSTSCRIPTTEMP..."
mkdir /instscripttemp
echo "Kopiere Installer nach INSTSCRIPTTEMP..."
cp /ati-driver-installer-* /instscripttemp/atiinstaller.run
## Backup der vorhandenen xorg.conf
echo "ERSTELLE BACKUP DER VORHANDENEN XORG.CONF..."
cp /etc/X11/xorg.conf /ATI/xorg.confTEMP
## deinstallieren des alten Paketes
echo "DEINSTALLIERE ALTES FGLRX RPM..."
rpm -e $(rpm -qa | grep fglrx)
## deinstallieren des alten Installers
echo "DEINSTALLIERE nicht-rpm-installation VON FGLRX"
/bin/sh /usr/share/ati/fglrx-uninstall.sh
### INSTALLATION
# Generieren des Paketes für SUSE 10.3 32 Bit
echo "ERSTELLE neues FGLRX RPM!"
/usr/bin/sh /instscripttemp/atiinstaller.run --buildpkg SuSE/SUSE103-IA32
# Installieren des erstellten Paketes
echo "INSTALLIERE neues FGLRX RPM!"
# Ausführbar machen:
chmod +x *fglrx*
# Gnadenlose RPM Installation erzwingen:
rpm -Uhv --force fglrx*.rpm
# Installieren via installer
echo "INSTALLIERE INSTALLER VERSION!"
# Ausführbarmachen:
chmod +x /instscripttemp/atiinstaller.run
# Ausführen des Assistenten (idee war eigentlich silent zu installieren?):
/bin/sh /instscripttemp/atiinstaller.run  --install
# Backup der xorg.conf an ihren alten Platz verschieben:
echo "KOPIERE SICHERUNGSKOPIE DER XORG.CONF WIEDER NACH /etc/X11"
cp /ATI/xorg.confTEMP /etc/X11/xorg.conf
# neue Packages in den ordner ATI verschieben:
echo "Verschiebe neu Erstellte Pakete und Installer nach /ATI"
mv /instscripttemp/atiinstaller.run /ATI/ati-driverinstaller-frisch.run
mv /fglrx*.rpm /ATI/fglrx-frisch.rpm
## Löschen des alten Backups des Installers sowie des vorher erstellten RPM
echo "LÖSCHE DAS VERZEICHNIS INSTSCRIPTTEMP!"
# In das Verzeichnis wechseln:
rmdir /instscripttemp --verbose
echo lade FGLRX Modul
modprobe fglrx
lsmod |grep fglrx
echo Temporäres Zeug entfernt und neues installiert! -- FERTIG! -- BITTE NEUSTARTEN!
# /EOF


Die Ausgabe sollte in etwa so ähnlich aussehen (besser mit weniger Warnungen! -- liegt aber am Treiber; Bzw am Zusammenspiel der Pakete; ):

sh fglrx-updater.sh
ERSTELLE Verzeichnis /ATI...
mkdir: kann Verzeichnis „/ATI“ nicht anlegen: Die Datei existiert bereits
ERSTELLE TEMPORÄRES VERZEICHNIS INSTSCRIPTTEMP...
Kopiere Installer nach INSTSCRIPTTEMP...
ERSTELLE BACKUP DER VORHANDENEN XORG.CONF...
DEINSTALLIERE ALTES FGLRX RPM...
DEINSTALLIERE nicht-rpm-installation VON FGLRX
restore of system environment completed
Uninstall fglrx driver complete...
ERSTELLE neues FGLRX RPM!
Created directory fglrx-install.B20870
Verifying archive integrity... All good.
Uncompressing ATI Proprietary Linux Driver-8.471.....................................................................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
....................................................................................................
==================================================
ATI Technologies Linux Driver Installer/Packager
==================================================
Generating package: SuSE/SUSE103-IA32
/tmp/ati.T20981
Package //fglrx_7_1_0_SUSE103-8.471-1.i386.rpm has been successfully generated
Removing temporary directory: fglrx-install.B20870
INSTALLIERE neues FGLRX RPM!
Preparing... ########################################### [100%]
1:fglrx_7_1_0_SUSE103 ########################################### [100%]
/usr/src/kernel-modules/fglrx /
make: Entering directory `/usr/src/linux-2.6.22.17-0.1-obj/i386/default'
make -C ../../../linux-2.6.22.17-0.1 O=../linux-2.6.22.17-0.1-obj/i386/default
LD /usr/src/kernel-modules/fglrx/built-in.o
CC [M] /usr/src/kernel-modules/fglrx/firegl_public.o
/usr/src/kernel-modules/fglrx/firegl_public.c: In Funktion »__ke_request_irq«:
/usr/src/kernel-modules/fglrx/firegl_public.c:2945: Warnung: »deprecated_irq_flag« ist veraltet (deklariert bei /usr/src/linux-2.6.22.17-0.1/include/linux/interrupt.h:66)
LD [M] /usr/src/kernel-modules/fglrx/fglrx.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: could not find /usr/src/kernel-modules/fglrx/.libfglrx_ip.a.GCC4.cmd for /usr/src/kernel-modules/fglrx/libfglrx_ip.a.GCC4
CC /usr/src/kernel-modules/fglrx/fglrx.mod.o
LD [M] /usr/src/kernel-modules/fglrx/fglrx.ko
make: Leaving directory `/usr/src/linux-2.6.22.17-0.1-obj/i386/default'
make: Entering directory `/usr/src/linux-2.6.22.17-0.1-obj/i386/default'
make -C ../../../linux-2.6.22.17-0.1 O=../linux-2.6.22.17-0.1-obj/i386/default modules_install
INSTALL /usr/src/kernel-modules/fglrx/fglrx.ko
DEPMOD 2.6.22.17-0.1-default
make: Leaving directory `/usr/src/linux-2.6.22.17-0.1-obj/i386/default'
/

*************************************************************
Please read "/usr/share/doc/packages/fglrx/README.SuSE" for
configuration details when using SaX2.
*************************************************************

INSTALLIERE INSTALLER VERSION!
Created directory fglrx-install.i21948
Verifying archive integrity... All good.
Uncompressing ATI Proprietary Linux Driver-8.471..................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
...............
==================================================
ATI Technologies Linux Driver Installer/Packager
==================================================
Detected configuration:
Architecture: i686 (32-bit)
X Server: X.Org 7.1 and later releases
loki_setup: Can't create //usr/X11R6/lib/modules/dri/fglrx_dri.so: Die Datei existiert bereits
Removing temporary directory: fglrx-install.i21948
KOPIERE SICHERUNGSKOPIE DER XORG.CONF WIEDER NACH /etc/X11
Verschiebe neu Erstellte Pakete und Installer nach /ATI
LÖSCHE DAS VERZEICHNIS INSTSCRIPTTEMP!
rmdir: Verzeichnis wird entfernt, /instscripttemp
lade FGLRX Modul
fglrx 1553100 28
agpgart 35764 2 intel_agp,fglrx
Temporäres Zeug entfernt und neues installiert! -- FERTIG! -- BITTE NEUSTARTEN!
  • 4. Zuallerletzt bitte einen Neustart durchführen und die Installationprüfung durchführen.

5. Wer eine 64 Bit SuSE verwendet; Der kann diesen Abschnitt des Script mit dem darunter vergleichen und erkennt den Unterschied:

### INSTALLATION
# Generieren des Paketes für SUSE 10.3 32 Bit
echo "ERSTELLE neues FGLRX RPM!"
/usr/bin/sh /instscripttemp/atiinstaller.run --buildpkg SuSE/SUSE103-IA32

Abschnitt für ein 64 Bit system; ::

### INSTALLATION
# Generieren des Paketes für SUSE 10.3 64 Bit
echo "ERSTELLE neues FGLRX RPM!"
/usr/bin/sh /instscripttemp/atiinstaller.run --buildpkg SuSE/SUSE103-AMD64

Nochmal: "Der Entsprechende Abschnitt ist im eigentlichen Script ggf. anzupassen." Bitte beachten, dass die Installationsvorraussetzungen für die 64 Bit Version genauso erfüllt sein müssen, wie die der 64 Bit Variante des ATI Treibers für die etwäige Architektur des Betriebssystemes;

Installationsprüfung

Anschließend ist es empfehlenswert eine Überprüfung der Treiberinstallation durchzuführen, ob der Treiber auch richtig funktioniert. Folgendes ist durchzuführen:

  • Man öffnet eine Konsole und gibt folgenden Befehl ein:
fglrxinfo
  • Wenn nun dies
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: Radeon X1900 Series
OpenGL version string: 2.0.6334 (8.34.8)

angezeigt wird war die Installation des Treibers erfolgreich

Weitere Tests

Durch Eingabe des Befehls

glxgears

in einer Konsole sollten sich in einem Fenster drei Zahnräder flüssig drehen.

Als weiteren Test kann man auch noch

fgl_glxgears

in die Konsole eingeben. Der Würfel sollte sich ebenfalls flüssig drehen.

Nun sollte der Treiber, als auch die 3D-Unterstützung funktionieren.

Weitere Links



Zurück zu Grafikkarten und Monitore