openSUSE 11.2 – XOrg 7.5 (X-Server 1.8.0) + ATI Catalyst 10.6 (fglrx 8.741) laufen einwandfrei

Hinweis: Dieser Artikel ist veraltet. Ein neuer Artikel befindet sich hier: openSUSE 11.3 – proprietären Grafik-Treiber ATI Catalyst 10.7 als RPM installieren

Ein paar gute Nachrichten für Besitzer einer ATI Grafikkarte vorne weg. AMD hat still und heimlich einige Bugs behoben, die nicht mal in den Release Notes erwähnt wurden. ;-)

Zudem darf ich verkünden, dass endlich ATI Catalyst 10.6 mit XOrg 7.5 (X-Server 1.8.0) läuft. Das Patchen der X-Server-Version (von 1.8.0 auf 1.7.5.0) gehört nun der Vergangenheit an. (AMD war da doch schneller ;-) ) Leider bietet AMD noch nicht offiziell die Paketierung unter openSUSE 11.2 bzw. openSUSE 11.3 (RC1, RC2) für XOrg 7.5 an. Daher werde ich diesen Umstand mit einem Patch nachhelfen, um doch das Package zu erstellen. Neu ist, dass ich das Patch auch für openSUSE 11.3 (RC1, RC2) angepasst habe und man kann jetzt unter openSUSE 11.3 ebenfalls fglrx-Package erstellen.

Unter KDE 4.4.x funktioniert die Funktionsprüfung des openGL-Interface über den fglrx-Treiber wieder. Die Option findet man unter Systemeinstellungen -> Arbeitsfläche -> Arbeitsflächen-Effekte -> Erweitert -> Funktionsprüfung deaktivieren (den Haken wieder herausnehmen).

Jetzt kommen wir zu den schlechten Nachrichten, was sich leider nicht vermeiden lässt. Beim X-Server hat sich unter der Haube einiges geändert, so dass die automatische Konfiguration teilweise nicht mehr funktioniert und mit einer Konfigurationsdatei mittels

aticonfig --initial

nachgeholfen werden muss. Danach kann man wie gewohnt über die GUI amdcccle die Konfiguration der Grafikkarte bzw. Monitors einstellen. Zudem muss ich mit Bedauern feststellen, dass die Erstellung einer Konfigurationsdatei mittels

X -configure

auch nicht funktioniert.

Der Vollbildmodus mit einer anderen Auflösung (z.B. 1024×786) gegenüber der Desktopauflösung (z.B. 1680×1050) bei aktiviertem Compositing funktioniert immer noch nicht richtig. Hier muss man nach wie vor das Compositing mittels ALT+SHIFT+F12 vorübergehend deaktivieren, bevor man z.B. ein openGL-Spiel im Vollbildmodus laufen lassen möchte.

Bitte beachtet folgendes: Diese Installation ist nur für Fortgeschrittene, Entwickler oder zu Testzwecken gedacht. In der Regel wird XOrg 7.5 für openSUSE 11.2 noch nicht unterstützt, sondern erst mit openSUSE 11.3.

Hinweis zum SaX (SuSE advanced X Window System): In openSUSE 11.3 wird SaX nicht mehr geben. Der Grund ist, dass XOrg und weitere Komponente eine statische Konfiguration in /etc/X11/xorg.conf zum Teil unmöglich macht bzw. der Aufwand für die Implementierung zu groß ist. Mittlerweile kann XOrg 7.5 vollautomatisch die Eingabe- und Ausgabe-Geräte erkennen und im laufendem Betrieb einbinden. Moderne X-Window-Systeme wie Gnome oder KDE liefern bereits ein Bildschirmkonfigurationstool und weitere relevante Konfigurationstools aus. Novell hat sich daher entschieden SaX sterben zu lassen. Siehe auch http://lists.opensuse.org/opensuse-factory/2009-12/msg00017.html

[UPDATE 19.06.2010]
Dank eines aufmerksamen Leser (Johnny) hat er mich auf ein Fehler beim Bau eines fglrx-Treiber in openSUSE 11.3 (RC1, RC2) aufmerksam gemacht. Ich installierte openSUSE 11.3 (RC1, RC2) auf meinem Computer. Der Bau einer RPM verlief ohne Probleme. Jedoch der Bau eines fglrx-Kernelmodul schlug fehl. Das Problem lag darin, dass openSUSE 11.3 RC1 bzw. RC2 eine neue Kernel-Version 2.6.34 mitbringt, der von AMD/ATI noch nicht angepasst wurde. Ich habe dieses Problem mit einem kleinen Patch behoben, da offensichtlich ein

#include <linux/slab.h>

in kcl_wait.c fehlte. Nachdem ich den Patch nochmal getestet hatte und einwandfrei funktioniert, gebe ich ihn nun hiermit frei. Have a lot of fun. ;-)
[/UPDATE 19.06.2010]

[UPDATE 05.07.2010]
Soeben habe ich das Skript makerpm-ati-10.6-beta.sh für openSUSE 11.3 hochgeladen.

Downloads:

  • Skript: makerpm-ati-10.6-beta.sh
  • SHA1: makerpm-ati-10.6-beta.sh.sha1

Eine Anleitung zur Bedienung des Skriptes befindet sich hier:
http://www.sebastian-siebert.de/2010/06/17/opensuse-11-2-proprietaeren-grafik-treiber-ati-catalyst-10-6-als-rpm-installieren/
[/UPDATE 05.07.2010]

[UPDATE 18.07.2010]
Aufgrund zahlreicher Hinweise habe ich das Skript angepasst, um mögliche Probleme zu beheben.

Manche User haben Probleme mit dem Kernel-Mode-Setting (KMS). Man kann den Modus wie folgt abschalten:

./makerpm-ati-10.6-beta2.sh -kms no

Es wird eine neue Initial Ramdisk (initrd) ohne KMS erstellt.
Alternativ kann man auch einen Bootparameter setzen: nomodeset

Falls unter Firefox oder Thunderbird schwarze Flächen erscheinen, dann liegt es in erster Linie an den neuen 2D-Treiber. Um den alten 2D-Treiber zu verwenden, führt man folgende Kommando aus:

./makerpm-ati-10.6-beta2.sh -old2ddriver yes

Downloads:

[/UPDATE 18.07.2010]

Installationsanleitung

1. ATI-Installer 10.6 herunterladen:
http://support.amd.com/us/gpudownload/Pages/index.aspx

2. Patch für den ATI-Installer 10.6 herunterladen:
http://www.sebastian-siebert.de/downloads/ati-10.6-xorg-7.5.patch

3. Nur openSUSE 11.3: Patch für den fglrx 8.741 herunterladen:
http://www.sebastian-siebert.de/downloads/ati-10.6-fixed-missing-include.patch

4. ATI-Installer entpacken:

./ati-driver-installer-10-6-x86.x86_64.run --extract ati-10.6

5. In den ATI-Verzeichnis wechseln:

cd ati-10.6

6. Patch einspielen (Der Patch muss im ATI-Verzeichnis vorhanden sein):

patch -p1 <ati-10.6-xorg-7.5.patch

7. Nur openSUSE 11.3: Patch für den fglrx einspielen (Der Patch muss im ATI-Verzeichnis vorhanden sein):

patch -p1 <ati-10.6-fixed-missing-include.patch

8a. RPM bauen (32bit) unter openSUSE 11.2

./ati-installer.sh 8.741 --buildpkg SuSE/SUSE112-IA32-unofficial-Xorg75

8b. RPM bauen (64bit) unter openSUSE 11.2

./ati-installer.sh 8.741 --buildpkg SuSE/SUSE112-AMD64-unofficial-Xorg75

8c. RPM bauen (32bit) unter openSUSE 11.3

./ati-installer.sh 8.741 --buildpkg SuSE/SUSE113-IA32-unofficial-Xorg75

8d. RPM bauen (64bit) unter openSUSE 11.3

./ati-installer.sh 8.741 --buildpkg SuSE/SUSE113-AMD64-unofficial-Xorg75

9a. RPM installieren:

rpm -ihv fglrx*7_5_0*8.741*.rpm

9b. RPM updaten:

rpm -Uhv fglrx*7_5_0*8.741*.rpm

10. Nur openSUSE 11.2: Das Repository mit dem XOrg 7.5 in YaST hinzufügen:
http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_11.2/

11. Nur openSUSE 11.2: In YaST alle XOrg-Pakete einschließlich Mesa, MesaGLw, libXi6, libdrm, libpciaccess0, libpixman und ggfs. sax2-tools vom o.g. Repo aktualisieren

12. Computer neustarten und freuen. ;-)

Kommentare und Erfahrungsberichte sind immer willkommen. ;-)

openSUSE 11.2 – XOrg 7.5 (X-Server 1.8.0) + ATI Catalyst 10.5 (fglrx 8.732) zum Laufen bringen

Hinweis: Dieser Artikel ist veraltet. Ein neuer Artikel befindet sich hier: openSUSE 11.2 – XOrg 7.5 (X-Server 1.8.0) + ATI Catalyst 10.6 (fglrx 8.741) laufen einwandfrei

Diese Anleitung wurde geschrieben, um den XOrg 7.5 (X-Server 1.8.0) und den Grafiktreiber ATI Catalyst 10.5 (fglrx 8.732) zum Laufen zu bringen.

Bitte beachtet folgendes: Diese Installation ist nur für Fortgeschrittene, Entwickler oder zu Testzwecken gedacht. In der Regel wird XOrg 7.5 für openSUSE 11.2 noch nicht unterstützt, sondern erst mit openSUSE 11.3. Sobald openSUSE 11.3 veröffentlicht wurde, werde ich ggfs. einen gepatchten X-Server (nur die interne Versionsnummer von 1.8.0 auf 1.7.5.0 wurde herunter gepatcht) zur Verfügung stellen (Falls AMD da nicht schneller ist als ich).

Hinweis zum SaX (SuSE advanced X Window System): In openSUSE 11.3 wird SaX nicht mehr geben. Der Grund ist, dass XOrg und weitere Komponente eine statische Konfiguration in /etc/X11/xorg.conf zum Teil unmöglich macht bzw. der Aufwand für die Implementierung zu groß ist. Mittlerweile kann XOrg 7.5 vollautomatisch die Eingabe- und Ausgabe-Geräte erkennen und im laufendem Betrieb einbinden. Moderne X-Window-Systeme wie Gnome oder KDE liefern bereits ein Bildschirmkonfigurationstool und weitere relevante Konfigurationstools aus. Novell hat sich daher entschieden SaX sterben zu lassen. Siehe auch http://lists.opensuse.org/opensuse-factory/2009-12/msg00017.html

Die neue XOrg 7.5 (X-Server 1.8.0) wurde wie auch schon in XOrg 7.4 (X-Server 1.6.5) mit einem Patch für die interne Minimalkonfiguration der fglrx-Section bestückt. Jedoch war der Patch wirkungslos, weil der fglrx-Treiber leider immer noch einen Bug hat und nicht im laufendem Betrieb von 8bit/16bit auf 24bit aufschalten kann. Somit kehrte man unweigerlich wieder in die Konsole zurück. Erst mit einem zusätzlichen Patch, den ich entwickelt und eingeliefert habe, wird eine weitere Option zur Minimalkonfiguration die Farbtiefe direkt festgelegt. Somit wird eine automatische Konfiguration möglich und man kann mit dem grafischen Tool „ATI Catalyst Control Center“ amdcccle weitere Einstellungen für die Grafikkarte vornehmen.

Es ist nach wie vor möglich eine Konfigurationsdatei ala /etc/X11/xorg.conf mittels

X -configure

zu erzeugen. Alternativ kann man auch mit

aticonfig --initial

eine o.g. Konfigurationsdatei für den fglrx-Treiber erzeugen.

Installationsanleitung

1. ATI-Installer 10.5 herunterladen:
http://support.amd.com/us/gpudownload/Pages/index.aspx

2. Patch für den ATI-Installer 10.5 herunterladen:
http://www.sebastian-siebert.de/downloads/ati-10.5-xorg-7.5.patch

3. ATI-Installer entpacken:

./ati-driver-installer-10-5-x86.x86_64.run --extract ati-10.5

4. In den ATI-Verzeichnis wechseln:

cd ati-10.5

5. Patch einspielen (Der Patch muss im ATI-Verzeichnis vorhanden sein):

patch -p1 <ati-10.5-xorg-7.5.patch

6a. RPM bauen (32bit)

./ati-installer.sh 8.732 --buildpkg SuSE/SUSE112-IA32-unofficial-XOrg75

6b. RPM bauen (64bit)

./ati-installer.sh 8.732 --buildpkg SuSE/SUSE112-AMD64-unofficial-XOrg75

7a. RPM installieren:

rpm -ihv fglrx*7_5_0*8.732*.rpm

7b. RPM updaten:

rpm -Uhv fglrx*7_5_0*8.732*.rpm

8. Das Repository (mit der gepatchten X-Server-Version) in YaST hinzufügen:
http://download.opensuse.org/repositories/home:/Freespacer:/X11:/XOrg75/openSUSE_11.2/

9. In YaST alle XOrg-Pakete einschließlich Mesa, MesaGLw, libXi6, libdrm, libpciaccess0, libpixman und ggfs. sax2-tools vom o.g. Repo aktualisieren

10. Computer neustarten und freuen. ;-)

Kommentare und Erfahrungsberichte sind immer willkommen. ;-)

openSUSE 11.2 – XOrg 7.5 (X-Server 1.8.0) + ATI Catalyst 10.4 (fglrx 8.723) = abenteuerliches Experiment

Gegen Ende April veröffentlichte AMD den neuen Grafiktreiber ATI Catalyst 10.4. AMD gab an, dass der Treiber auch mit der XOrg-Version 7.5 laufen sollte. Seit der Veröffentlichung unternahm ich den Versuch den fglrx-Treiber in der Version 8.723 unter XOrg 7.5 mit dem neuen X-Server 1.8.0 zum Laufen zu bekommen. :roll:

Zuallererst extrahierte ich den ATI-Installer 10.4 und spendierte ihm zwei weitere SPEC-Dateien (32bit und 64bit) zur Installation eines inoffiziellen XOrg-7.5-Treibers für openSUSE 11.2. Danach ließ ich vom Installer ein RPM-Paket bauen und installierte es im Anschluss. Die Installation funktionierte problemlos.

Der erste Versuch:
Ich installierte die neuen XOrg-Pakete aus dem bekannten openSUSE-Repo http://download.opensuse.org/repositories/X11:/XOrg/ und startete den Computer neu. Der X-Server quittierte seinen Dienst. In der Logdatei /var/log/Xorg.0.log fand ich folgenden Eintrag:

[atiddxSetup] X version mismatch - detected X.org 7.1.0.0, required X.org 7.5.1.0.

Öhm, detected XOrg 7.1?! 8-O Ich fing heftig an zu lachen :lol: und fand mich später auf dem Boden wieder. Nach etwa 10 Minuten konnte ich mich wieder beruhigen. ;-) Die Abfrage der Versionsnummer vom X-Server scheint bei AMD noch immer ein Problem (von vielen) zu sein. Wie dem auch sei. Ich dachte über mögliche Lösungen nach und hatte zum Schluss folgende Optionen:

  1. Den fglrx-Treiber auf binärer Ebene patchen. (Pfui!) :evil:
  2. Den X-Server selber patchen (Bäh!) :-x

Die 1. Option hatte ich ganz schnell begraben. Denn das wäre wirklich eine Sisyphusarbeit gewesen. Die 2. Option war jedenfalls machbar, aber für mich auch nicht wirklich die ideale Lösung. Es könnten auch andere Programme oder Treiber die X-Server-Version abfragen. Wohl eher eine Notlösung. :-?

Der 2. Versuch:
Um die besagte Notlösung durchzuführen, duplizierte ich das o.g. XOrg-Repo in meinem Repo und ersetzte die Versionsnummer vom X-Server von 1.8.0 auf 1.7.5.1 mit einem Patch. Da AMD anscheinend die Linux-Distribution Ubuntu 10.04 LTS zum Testen der Beta-Treiber den Vortritt gelassen hatte, schien es dort mit dem X-Server (1.7.5) zu laufen. Nachdem die Pakete in meinem Repo gebaut waren, installierte ich sie. Nach einem Neustart … (Trommelwirbel) … startete auch endlich der X-Server und KDE 4.4.2 mit dem fglrx-Treiber. :mrgreen:

Okay, dann ging ich gleich auf die Fehlersuche und wurde leider fündig. Es waren noch einige Fehler vorhanden, die auch in der letzten ATI-Version 10.3 nicht behoben waren. :-?

Hier nur einige Bugs mit dem fglrx-Treiber unter KDE 4.4.2:

  • Compositing ließ sich nicht aktivieren. Lösung: Systemeinstellungen → Arbeitsfläche → Arbeitsflächen-Effekte → Tab: Erweitert → Funktionsprüfungen deaktivieren
  • Bei aktiviertem Compositing im Zusammenspiel mit 3D-Anwendungen oder 3D-Spiele im Vollbildmodus stürzte Compositing ab (Schwarzer Bildschirm). Man konnte nur noch das Compositing per ALT+SHIFT+F12 beenden und die Sitzung neustarten. Besser ist es hier Compositing vorübergehend mit o.g. Tastenkürzel auszuschalten und dann die 3D-Anwendungen oder 3D-Spiele starten. Ausnahme: Wenn die 3D-Anwendung (bzw. 3D-Spiel) die gleiche Bildschirmauflösung wie KDE verwendet, dann scheint es zu laufen.

Allerdings wurden auch einige schwerwiegende Fehler behoben:

  • Bei aktiviertem OpenGL-Bildschirmschoner stürzte das Compositing nicht mehr ab.
  • Der X-Server hängt sich nicht mehr auf, wenn man zur TTY1-6 (STRG+ALT+F1 – F6) umgeschaltet hatte und dort in den Runlevel 3 (init 3) und später wieder zurück in den Runlevel 5 (init 5) wechselte.

Installationsanleitung

Bitte beachtet folgendes: Diese Installation ist nur für Fortgeschrittene, Entwickler oder zu Testzwecken gedacht. Ich habe mich entschlossen, dass ich das Skript makerpm-ati-10.4.sh nicht erweitere. In der Regel wird XOrg 7.5 für openSUSE 11.2 noch nicht unterstützt, sondern erst mit openSUSE 11.3. Sobald openSUSE 11.3 veröffentlicht wurde, werde ich ggfs. einen gepatchten X-Server zur Verfügung stellen (Falls AMD da nicht schneller ist als ich).

1. ATI-Installer 10.4 herunterladen:
http://support.amd.com/us/gpudownload/Pages/index.aspx

2. Patch für den ATI-Installer 10.4 herunterladen:
http://www.sebastian-siebert.de/downloads/ati-10.4-xorg-7.5.patch

3. ATI-Installer entpacken:

./ati-driver-installer-10-4-x86.x86_64.run --extract ati-10.4

4. In den ATI-Verzeichnis wechseln:

cd ati-10.4

5. Patch einspielen (Der Patch muss im ATI-Verzeichnis vorhanden sein):

patch -p1 <ati-10.4-xorg-7.5.patch

6a. RPM bauen (32bit)

./ati-installer.sh 8.723 --buildpkg SuSE/SUSE112-IA32-unofficial-Xorg75

6b. RPM bauen (64bit)

./ati-installer.sh 8.723 --buildpkg SuSE/SUSE112-AMD64-unofficial-Xorg75

7a. RPM installieren:

rpm -ihv fglrx*7_5_0*8.723*.rpm

7b. RPM updaten:

rpm -Uhv fglrx*7_5_0*8.723*.rpm

8. Das Repository (mit der gepatchten X-Server-Version) in YaST hinzufügen:
http://download.opensuse.org/repositories/home:/Freespacer:/X11:/XOrg75/openSUSE_11.2/

9. In YaST alle XOrg-Pakete einschließlich Mesa, MesaGLw, libXi6, libdrm, libpciaccess0, libpixman, sax2 vom o.g. Repo aktualisieren

10. Computer neustarten und freuen. ;-)

Kommentare und Erfahrungsberichte sind immer willkommen. ;-)

AWStats 6.95 – Externe Links (Referrer) wegen Spams im Report anonymisieren

Es ist hinlänglich bekannt, dass der Browser (in der Standardkonfiguration) Brotkrümmel in Form von Referrer im ganzen Web hinterlässt und kann für die eigene Analyse sehr nützlich sein. Nicht zuletzt greifen die Spammer genau diesen Trick auf, um ihre Webseite oder als Dienstleister anderer Webseiten in den Logdateien zu verewigen. Der User wird im Report dazu verleitet auf den externen Link zu klicken, um zu sehen wer denn da auf seine Webseite verlinkt hat. Oft ist man hinterher ziemlich verärgert, weil da überhaupt kein Gegenlink vorhanden ist und der Spammer hat in diesem Fall schon gewonnen. Ich gebe zu, dass ich ebenfalls auf den Leim gegangen bin, weil der Link einfach zu plausibel klang. :roll:

Es kommt öfter vor, dass man den Webserver mit all seinen Webstatistiken nicht alleine nutzt, somit gehen auch andere User in die Falle und verraten sich durch den Browser die Herkunft seines Besuches. Die Spammer könnten ihre eigene Logdateien analysieren, um zu sehen wer die Seite besucht hat und bombardieren dann die ertappten „Webmaster“ mit ihren Referrer-Links zu.

In diesem Fall kann es ganz nützlich sein den Referrer-Link über anonym.to zu anonymisieren, um die Herkunft über die Domain bzw. Webstatistik zu verschleiern und habe hierzu einige Ergänzungen im Skript …/cgi-bin/awstats.pl veranlasst. Hier wird zu jedem externen Link noch um den notwendigen Link erweitert: http://anonym.to/?(referrerlink)

Hierzu habe ich einen Patch vorbereitet und man kann ihn sich hier herunterladen.
Download: awstats-6.95-anonym-referer.patch
SHA1: awstats-6.95-anonym-referer.patch.sha1

Der Patch muss ins gleiche Verzeichnis kopiert werden, in der auch das Skript awstats.pl liegt und anschließend wie folgt ausführen:

patch <awstats-6.95-anonym-referer.patch

Danach ist die Welt ein bisschen besser geworden und macht sich auch in der Statistik bemerkbar. :-)