fglrx 8.42.3 vs. kernel 2.6.23

Damn it!
Nach heutigem Einschalten meines Rechners hatte ich Probleme mit meiner Monitorkonfiguration. Meine beiden Monitore (native Auflösung jeweils 1600×1200 & 1024×768) liefen wie aus heiterem Himmel plötzlich beide auf 1024×768 und zwar mit dem selben Bildschirminhalt, von Xinerama keine Spur. Bisher klappte das allerdings hervorragend. Ich nehme an, ein Update ist Schuld, welches ich mir im Laufe dieser Woche installierte.

Nachdem ich nun die Monitorkonfiguration wieder herzustellen versuchte und beinahe verzweifelte, weil es nicht hinhaute, stieß ich vorhin im Fedoraguide auf die Information, dass kmod-fglrx-8.42.3 und der 2.6.23 Kernel nicht in vollem Maße kompatibel sind. Ferner wurde dort zu einem Patch des Kernels verlinkt, welcher den Fehler beheben soll.

Nach Herunterladen des entsprechenden .tar.bz2-Archivs mit dem Patch und Entpacken auf dem Desktop meines root-Accounts wollte ich den Patch nun installieren. Einer Anleitung zum Patchen des Kernels entnahm ich dann folgenden Befehl zum Installieren von Patches:
patch -p0 2>&1
Als Input erhält der Befehl patch den Sourcecode des Patches. In der genannten Anleitung wird dafür eine Pipe (“|”) mit vorangestelltem Befehl zum Entpacken das Patch-Archivs verwendet. Da ich das Archiv bereits selbst entpackte, passte ich den Befehl wie folgt an und gab ihn (als root angemeldet) in der Konsole ein (wie gesagt, die Sourcen des Patches habe ich auf dem Desktop gespeichert):
patch --input=/root/Desktop/fglrx-842-2623.patch -p0 2>&1

Still damn it!
In der folgend erschienenen Eingabeaufforderung File to patch: gab ich die Kerneldatei /boot/vmlinuz-2.6.23.1-10.fc7 an. Die daraufhin ausgegebenen Zeilen waren folgende:
patching file /boot/vmlinuz-2.6.23.1-10.fc7
Hunk #1 FAILED at 217.
Hunk #2 FAILED at 2539.
Hunk #3 FAILED at 2986.
Hunk #4 FAILED at 3009.
Hunk #5 FAILED at 5486.
Hunk #6 FAILED at 5532.
6 out of 6 hunks FAILED -- saving rejects to file /boot/vmlinuz-2.6.23.1-10.fc7.rej

Mit anderen Worten: Es hat nicht geklappt. :( Leider weiß ich bislang nicht, woran das liegt. Ich hoffe, in endlicher Zeit eine Lösung finden zu können…

17 Reaktionen zu “fglrx 8.42.3 vs. kernel 2.6.23”

  1. xvlun

    du musst wohl entweder den kernel quellcode patchen (womit du auch deinen eigenen kernel bauen müsstest, d.h. kernelsource runterladen (sollte im paketmanagement zu fidnen sein, entpacken, konfigurieren, patchen, kompilieren), oder aber den quellcode des moduladapters des atitreibers.

    es würde mich wundern wenn man mit patch so einfach kernelbinaries (was vmlinuz ist) patchen könnte…

  2. xvlun

    ich habe mal kurz recherchiert, du musst dir den atitreiber bei ati runterladen, und den dann entpacken, patchen, compilieren.

    die anleitung zum patchen des kernels dürfte übrigens locker 10 jahre alt sein! also nicht zu ernst nehmen. aber wie gesagt du musst nicht den kernel patchen sondern den atitreiber.

  3. dueddel

    Das erklärt einiges… ;) Da saß also wieder das Anwendungsproblem VOR der Anwendung, nämlich ich, der Benutzer.

    Danke dir für diesen wunderbaren Tipp und die Mühen der Recherchen. Also das heißt ja, ich benötige die Sourcen des Treibers… Mhm, ich denke ich warte das nächste Fedora-Release ab, welches in wenigen Tagen erscheint. Vielleicht hab ich damit dann keine Probleme mehr. Warten wir’s ab.

  4. dueddel

    Crazy..!

    Ich habe soeben fglrx, den ATI-Treiber deinstalliert. Nachdem ich es dann mit den “Anzeige-Einstellungen” (also mit dem Programm system-config-display im Verzeichnis /usr/bin/) nicht hinbekam, meine beiden Monitore im gewünschten Xinerama-Modus mit den nativen Auflösungen 1600×1200 und 1024×768 laufen zu lassen, wollte ich zunächst einmal wenigstens den Xinerama-Modus aktivieren.

    Ich beschränkte mich also auf die Aktivierung des Zweischirmbetriebs und stellte die Auflösung für beide (!) Monitore vorerst auf 1024×768 ein. Nach einem Restart des X-Servers ([Strg]+[Alt]+[Backspace]) staunte ich wahrlich nicht schlecht.

    Mein großer Bildschirm hat unerwarteterweise die gewünschte Auflösung von 1600×1200, der kleine sowieso die 1024×768 und der Xinerama-Modus funktioniert nun einwandfrei.

    Zwar fehlt mir mit der Deinstallation des ATI-Treibers die 3D-Unterstützung, aber darauf lege ich keinen großen Wert, ich habe bisher kein Interesse daran, unter Linux zu spielen. Insofern kann ich mit der aktuellen Situation wirklich gut leben.

    Auf jeden Fall verrückt, diese Welt der Pinguine… ;)

    Danke nochmal für die Hilfe. :)

  5. Zyta2k

    Hi dueddel :-)

    Aller Anfang ist schwer. Die Lernkurve geht aber stetig nach oben… und weisst du mal wie der Pinguin rennt, willst du nie mehr was anderes.

    Wie mir scheint hat das mit dem “normalen” Treiber ja geklappt. Fein… trotzdem noch einige Anmerkungen.

    1) Der Patch ist nicht für den Kernel, sondern für den ATI Treiber :-)
    2) Der richtige Cmd zum patchen wär:
    # cd ATI_SOURCE_PFAD* && bzcat patch842.tar.bz2 | patch -p0
    3) Patches sind NIE für den Kernel /boot/vmlinuz…. sonder IMMER für den Quelcode. Einfaches Kernelpatchen gibts nicht :-) Drum nicht gleich verzweifeln, das Zeugs soll deine Distri fixen nicht du :-)

    *wo immer deine SOURCEN wären ^^

    mfg
    zyta2k

  6. dueddel

    zu 1&3) Ja, das hab ich dann auch schon mitbekommen. ;)
    zu 2) Vielen Dank, vielleicht kann ich das nochmal brauchen, denn kürzlich habe ich das neue Fedora-Release installiert. Und da klappt das mit meinen beiden Monitoren wieder nicht.

  7. sush

    ====================================
    ATI Driver 8.42.3 with kernel 2.6.23
    ====================================
    # download patch842.tar.bz2 from http://pluto.blackbone-ev.de/atipatch.php

    # first save your xorg.conf file like
    cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

    # reinstall ati driver – uninstall first
    /usr/share/ati/fglrx-uninstall.sh

    # install driver – select recommended/default settings
    sh ./ati-driver-installer-8.42.3-x86.x86_64.run

    # afterwards apply the patch as follows (64bit version)
    # if you run a 32bit system try to find file firegl_public.c and use that
    # directory instead of /lib64/modules/fglrx/build_mod
    tar xvjf patch842.tar.bz2 -C /lib64/modules/fglrx/build_mod
    cd /lib64/modules/fglrx/build_mod
    patch -p0

  8. sush

    Ooops, wie escape ich denn hier Befehle, die ‘kleiner als’ Zeichen enthalten? So etwa: patch -p0 ?

  9. sush

    ok, gebt mir mal einen Tip, dann paste ich das hier bei Euch rein rein…

  10. rtauchnitz

    Hi. Einfach > durch > ersetzen. Dann klappts auch mit dem Nachbarn ;)

  11. rtauchnitz

    Ok… das war jetzt das größer. Ansonsten halt < = &lt;

  12. sush

    Ok, danke, geht hier normales HTML? Echt?

  13. sush

    He he, na schön… Hier also die Befehlsfolgen, wie ich das bei mir zum Fliegen gebracht habe. Das System ist zwar 64bit, aber das Prinzip dürfte auf 32bit Linux ganz analog sein. Wichtig zur Anwendung des Patches ist vor allem, daß man nach Installation des ATI-Treibers die Datei firegl_public.c findet – diese ist es, die gepatcht wird. Anschließend muß man noch den make-Prozeß neu durchlaufen und das neu gebaute Modul installieren.
    Vorab nur noch dies: Ich verwende derzeit noch keine 3D Features, jemand hat irgendwo gepostet, man brauche dafür das Pakte xorg-server in einer Version < v1.4, also 1.3.x sollte demnach gehen, 1.4.x hingegen nicht. Ich hab’s noch nicht probiert…


    ====================================
    ATI Driver 8.42.3 with kernel 2.6.23
    ====================================

    # download patch842.tar.bz2 from http://pluto.blackbone-ev.de/atipatch.php

    # first save your xorg.conf file like
    cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

    # reinstall ati driver – uninstall first, if installed previously
    /usr/share/ati/fglrx-uninstall.sh

    # install driver – select recommended/default settings
    sh ./ati-driver-installer-8.42.3-x86.x86_64.run

    # afterwards apply the patch as follows (64bit version)
    # if you run a 32bit system try to find file firegl_public.c and use that
    # directory instead of /lib64/modules/fglrx/build_mod

    tar xvjf patch842.tar.bz2 -C /lib64/modules/fglrx/build_mod
    cd /lib64/modules/fglrx/build_mod
    patch -p0 < fglrx-842-2623.patch

    # now we complete the make process as follows

    cd /lib/modules/fglrx/build_mod
    ./make.sh

    # the last lines of output show the location of the driver module fglrx.ko
    # for 64bit e.g. this is /lib64/modules/fglrx/build_mod/2.6.x

    # finally install the module

    cd /lib/modules/fglrx
    ./make_install.sh

    # try to load the driver
    modprobe fglrx

    # you should see it in the list provided by
    lsmod

    # check your /etc/X11/xorg.conf and start X11 (e.g. using startx)
    # may be you have to restore your old xorg.conf for finetuning

    # Tested on gentoo, kernel 2.6.23-r1 and radeon xpress 200 (RS482)

    # To use 3D effects may be you should use xorg-server version < v1.4

  14. sush

    oops, kein Zeilenumbruch / no line break in

    tar xvjf patch842.tar.bz2 -C /lib64/modules/fglrx/build_mod

    # or whatever the directory on your system is, where firegl_public.c resides

    Hm… diese Forensoftware könnte etwas leichtgängiger sein, für deutsche Umlaute brauch ich ja auch keine HTML-Verkünstelungen, warum also für < > etc.? Den Code schon nach weniger als 80 Zeichen umzubrechen ist auch schon etwas nervig.

    Ansonsten viel Spaß, wär auch nett, wenn einer mal schreibt, ob er es auf 32bit ebenso zum Laufen gebracht hat.

  15. dueddel

    Cool, danke für die detaillierten Anweisungen. Wenn ich dazu komme, das mal auszuprobieren, werde ich über die Ergebnisse berichten.

    Stay tuned…

  16. sush

    Habe nun die gentoo packages xorg-server-1.3.0.0-r2 und xorg-server-1.4-r2 getestet. Bei beiden gibt glxinfo zumindest “direct rendering: Yes” aus, prinzipiell sollte damit auch für xorg-server v1.4 die 3D-Beschleunigung gehen.
    Bei eingeschaltetem AIGLX zeigt mir glxgears ca. 1578 FPS an (Fenster auf Default-Größe). Das sind etwa 50% mehr als mit dem ATI-Treiber der Vorversion (da hatte ich ca. 1000 FPS). Für eine Onboard-Grafik in einem Videorekorder ganz nett ;)

  17. Never touch a running system. « Der Einsteiger-Blog

    [...] Mein Fedora-System lag die letzten Wochen (Monate) etwas brach wegen eines Grafikproblems, von welchem ich bereits [...]