Das Rootserver-Experiment

Erlebnisse eines Rootserver (Beinahe-) Neulings

Verantwortlich für den Inhalt dieser Seite ist Mattias Schlenker, Inhaber Mattias Schlenker IT-Consulting Mattias Schlenker work Dietrich-Bonhoeffer-Str. 3, 40667 Meerbusch. Germany work Fon +49 341 39290767. Meine USt-ID (VATIN) lautet: DE240998538. http://www.mattiasschlenker.de

Diese Seite läuft unter Wordpress 2.x.x. News und Kommentare können als RSS-2.0-Feed abonniert werden.

Linux auf dem Asus A52JR — Teilerfolg mit Mobility Radeon 5470

Nachdem gestern der Ati Catalyst Treiber 10.3 erschienen ist (und seit heute auch downloadbar ist), dachte ich mir, ich könnte die Treiberinstallation auf dem A52JR noch einmal probieren. Nach der Installation des Treibers mit

./ati-driver-installer-10-3-x86.x86_64.run

probierte ich erneut

aticonfig --initial

Das Ergebnis war ernüchternd: Wieder wurde mir gesagt, dass keine unterstützten Karten im Rechner vorhanden waren, eine Konfiguration daher nicht möglich sei. Zur Erinnerung: lspci erkennt die Karte wie folgt:

01:00.0 VGA compatible controller [0300]: ATI Technologies Inc Device [1002:68e0]

Doch heute packte mich ein wenig der Spieltrieb und ich probierte zunächst anhand einer minimalen xorg.conf, ob denn die Karte erkannt wird, wenn ich dem Treiber explizit mitteile, dass er für sie zuständig ist — das besorgt die Zeile ChipID. Über SSH loggte ich mich also am Notebook ein und baute die Konfigurationsdatei auf. Bereits mit einer Section “Screen” und einer Section “Device” erhielt ich ein Bild in der nativen Auflösung des Widescreen-Displays. Die minimale xorg.conf:

Section "Screen"
        Identifier      "Screen_AUTO_1366x768"
        Defaultdepth    24
        SubSection "Display"
             Modes "1366x768" "1024x768" "1024x600" "800x600"
        EndSubSection
EndSection

Section "Device"
        Identifier  "Card0"
        Driver      "fglrx"
        ChipId      0x68e0
        VendorName "ATI"
        BusId      "PCI:1:0:0"
EndSection

Die vollständige xorg.conf kann hier heruntergeladen werden. Die größte Änderung dürfte sein, dass ich Option "SWCursor" "true" aktiert habe, um nach einem Logout das Fehlen des Zeigers zu vermeiden. Wer diese xorg.conf als Basis für eigene Experimente verwendet, sollte wie ich sich per SSH einloggen, den gdm stoppen und dann remote versuchen, ob sich der Xserver starten lässt: Logdatei und Meldungen in der Konsole, in dem der Start durchgeführt werden, sind aussagekräftig – Oft muss ChipId oder BusId angepasst werden.

Fehlendes Kernelmodul

Leider lässt sich auf meinem 2.6.33.1 das fglrx-Kernelmodul nicht kompilieren. Nach dem Wechsel nach /lib/modules/fglrx/build_mod und Aufruf von ./make.sh mäkelt das Script zunächst über zwei fehlender Header. Nach dem softlinken dieser Header geht es aufgrund geänderter Funktionen auch nicht weiter. Ich werde dieses Problem irgendwann angehen, gebe mich zunächst mit weniger (gar keiner?) Beschleunigung zufrieden.

Nerviges Overlay “Unsupported Hardware”

Im rechten unteren Eck befindet sich ein Overlay “Unsupported Hardware”. Dieses lässt sich nur abschalten, indem man mit dem Hex-Editor an das Treiber-Binary herangeht. Der User “Crypto2600″ aus den Ubuntu-Foren hat hierfür ein kleines Script geschrieben, das den Vorgang automatisiert:

#!/bin/sh
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6
}'); do
echo found $x
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER
done 

Das Ende vom Lied?

Fürs erste läuft die Grafik zufriedenstellend. Das fehlende Kernelmodul rüste ich bei Gelegenheit nach — ich mutmaße einmal, dass die Buildscripte für Lucid bald gepatcht sind, so dass diese Änderung nicht mehr viel Arbeit bedarf. Und vielleicht supported Ati die 5470 ja irgendwann einmall ganz offiziell…

Nachtrag, 6. April 2010: “fglrx” hatte die Lösung. Umgesetzt habe ich sie, indem ich nach dem Download des Patches von http://aur.archlinux.org/packages/catalyst/catalyst/fglrx-2.6.33.patch und Anwenden desselben die Module unterhalb von /lib/modules gebaut habe. Quick and dirty gelang diese mit:

cd /lib/modules/fglrx
patch -p5 < /tmp/fglrx-2.6.33.patch
cd build_mod
./make.sh
cd ..
./make_install.sh

Anschließend lies sich das Modul wie erwartet laden und Hardwarebeschleunigung ist nun aktiv aktiv.

10 Antworten auf “Linux auf dem Asus A52JR — Teilerfolg mit Mobility Radeon 5470”

  1. sgo (March 26th, 2010 um 12:09 am)

    Hm, du nutzt Lucid? Der fglrx sollte aber Xorg 7.5 noch nicht unterstützen. Davon abgesehen scheinst du einen Mainline-Kernel installiert zu haben, also werden deine Probleme mit den fehlenden Kernelmodulen wohl daher kommen. Im übrigen wird laut releasenotes deine Grafikkarte vom 10.3er fglrx unterstützt. Eventuell liegt es an o.g. Gründen, dass du die Fehlermeldungen/Overlays bekommst.

  2. Mattias (March 26th, 2010 um 12:34 am)

    Ich benutze Karmic und einen selbst gebauten Vanilla-Kernel. Dass die Graka offiziell unterstützt wird, aber eben nicht als solche erkannt wird, kann daran liegen, dass diese Chipsatzrevision nur bei OEMs verbaut ist. Die PDF-Datei catalyst_103_linux.doc erwähnt die Radeon Mobility HD 5470 noch nicht als unterstützt (nur 4xxx werden dort erwähnt). Durchaus möglich, dass andere READMEs auf die bereits im Treiber enthaltene, aber noch nicht für die breite Masse freigeschaltete Unterstützung für diesen Chipsatz verweisen.

  3. fglrx (March 28th, 2010 um 2:33 am)

    Die ATI Treiber laufen nicht mit 2.6.33. Dazu ist ein manuelles patchen des Treibers notwendig.

    ./ati-driver-installer-10-3-x86.x86_64.run –extract 10.3

    Anschließend in das Verzeichnis 10.3 wechseln und diesen patch ausführen

    http://aur.archlinux.org/packages/catalyst/catalyst/fglrx-2.6.33.patch

    Klappt bei mir unter Debian squeeze mit 2.6.33.1.

    Viel Erfolg!

  4. sgo (March 29th, 2010 um 6:07 pm)

    @Mattias: Sorry, du hast natürlich Recht! Habe das “Mobility” irgendwie überlesen… ;) Und deine Bemerkung für die Buildscripte für Lucid hat mich vermuten lassen, dass du eben dieses nutzt.
    lG