Weißer Schnee mit ATI Radeon Treiber mit Ubuntu

INIT

Vor ein wenig mehr als einer Woche habe ich mitbekommen das der Dritter Snapshot von Ubuntu 12.04 veröffentlicht wurde. Meine Neugier wurde geweckt. Neuer Kernel und neue Xserver aus dem Raring Release (13.04) das klang spannend.

Also schnell die Pakete installiert.

sudo apt-get install -y linux-generic-lts-raring und xserver-xorg-lts-raring

Einen LTS System so neue Komponenten zu verpassen ist schon ein wenig gewagt, sollte sich aber bei den meisten ohne Probleme installieren lassen. Bei mir leider nicht :( nach der Installation gab es ein paar Fehlermeldungen (leider nicht dokumentiert) aber immerhin gab es eine grafische Oberfläche.

Lösung

Um es vorweg zu nehmen das eigentlich Problem hat sich erst nach der Installation des Radeon Treibers ergeben! Schönes Weißes Rauschen …

Weißer Schnee

Danach ging der Spaß erst mal richtig los :) Da ich meine ATI Mobility Radeon HD 4550 natürlich mit dem Fglrx Treiber benutzt habe, schwante mir da was. Die Unterstützung für den installierten 3.8 Kernel + Xserver war natürlich nicht mehr vorhanden! Gut ich meine nicht das ich den freien Radeon Treibern nicht aufgeschlossen bin, der einzige Grund auf den fglrx Treiber zu setzten war das die Lüftersteuerung. Beim freien Treiber lief der Lüfter leider fast immer, da die Energieverwaltung nicht optimal war.

Also musste der Fglrx Treiber erst mal entfernt werden. Eine ausführliche Anleitung zur Deinstallation gibt es bei ubuntuusers.

sudo apt-get purge fglrx fglrx-modaliases fglrx-amdcccle

Danach die freien Radeon Treiber installiert und neu gestartet.

sudo apt-get install -y xserver-xorg-video-ati-lts-raring xserver-xorg-video-ati-lts-rarin

Nach dem booten ist mir schon aufgefallen wir lange das System bracht um LightDM zu laden, ich war sehr erstaunt als der Bildschirm nur weißes Rauschen gezeigt hat. Meine erste Reaktion war in den alten Kernel zu booten. Das hat auch funktioniert. Nach einigen Neustarts trat bei dieses auch das gleiche Problem auf WTF? Ich habe nichts verändert.

Nach relativ langen debuggen, bin ich durch Zufall darauf gestoßen das wenn ich die Zeile gfxmode $linux_gfx_mode aus dem Grub menuentry entferne (habe das direkt beim booten ausprobiert) alles wieder wie gewohnt funktionierte.

Nach noch mehr debuggen habe ich endlich in Erfahrung gebracht das wenn ich die Variable GRUB_GFXPAYLOAD_LINUX in der /etc/default/grub mit dem entsprechenden Hexwert setzt, alles dauerhaft wieder funktioniert.

Ich bin der Meinung das auch eine ganz normale Auflösung hätte eingetragen werden können aber sicher ist sicher :)

Woher stammt dieser Hexwert nun? Um dieses zu ermitteln gibt es zwei Möglichkeiten

Mittels hwinfo

Damit habe ich aber nicht alle möglichen Auflösungen gelistet bekommen!

 sudo hwinfo --framebuffer
 02: None 00.0: 11001 VESA Framebuffer
 [Created at bios.464]
   Unique ID: rdCR.QOJHFkjgnM2
   Hardware Class: framebuffer
   Model: "(C) 1988-2005, ATI Technologies Inc.  M92"
   Vendor: "(C) 1988-2005, ATI Technologies Inc. "
   Device: "M92"
   SubVendor: "ATI ATOMBIOS"
   SubDevice:
   Revision: "01.00"
   Memory Size: 16 MB
   Memory Range: 0xd0000000-0xd0ffffff (rw)
   Mode 0x0300: 640x400 (+640), 8 bits
   Mode 0x0301: 640x480 (+640), 8 bits
   Mode 0x0303: 800x600 (+832), 8 bits
   Mode 0x0305: 1024x768 (+1024), 8 bits
   Mode 0x0307: 1280x1024 (+1280), 8 bits
   Mode 0x0310: 640x480 (+1280), 15 bits
   Mode 0x0311: 640x480 (+1280), 16 bits
   Mode 0x0313: 800x600 (+1600), 15 bits
   Mode 0x0314: 800x600 (+1600), 16 bits
   Mode 0x0316: 1024x768 (+2048), 15 bits
   Mode 0x0317: 1024x768 (+2048), 16 bits
   Mode 0x0319: 1280x1024 (+2560), 15 bits
   Mode 0x031a: 1280x1024 (+2560), 16 bits
   Mode 0x030d: 320x200 (+640), 15 bits
   Mode 0x030e: 320x200 (+640), 16 bits
   Mode 0x0320: 320x200 (+1280), 24 bits
   Mode 0x0393: 320x240 (+320), 8 bits
   Mode 0x0395: 320x240 (+640), 16 bits
   Mode 0x0396: 320x240 (+1280), 24 bits
   Mode 0x03b3: 512x384 (+512), 8 bits
   Mode 0x03b5: 512x384 (+1024), 16 bits
   Mode 0x03b6: 512x384 (+2048), 24 bits
   Mode 0x03c3: 640x350 (+640), 8 bits
   Mode 0x03c5: 640x350 (+1280), 16 bits
   Mode 0x03c6: 640x350 (+2560), 24 bits
   Mode 0x0333: 720x400 (+768), 8 bits
   Mode 0x0335: 720x400 (+1472), 16 bits
   Mode 0x0336: 720x400 (+2944), 24 bits
   Mode 0x0353: 1152x864 (+1152), 8 bits
   Mode 0x0355: 1152x864 (+2304), 16 bits
   Mode 0x0356: 1152x864 (+4608), 24 bits
   Mode 0x0363: 1280x960 (+1280), 8 bits
   Mode 0x0365: 1280x960 (+2560), 16 bits
   Mode 0x0366: 1280x960 (+5120), 24 bits
   Mode 0x0321: 640x480 (+2560), 24 bits
   Mode 0x0322: 800x600 (+3200), 24 bits
   Mode 0x0323: 1024x768 (+4096), 24 bits
   Mode 0x0324: 1280x1024 (+5120), 24 bits
   Mode 0x0343: 1400x1050 (+1408), 8 bits
   Mode 0x0345: 1400x1050 (+2816), 16 bits
   Mode 0x0346: 1400x1050 (+5632), 24 bits
   Config Status: cfg=new, avail=yes, need=no, active=unknown

Was mich type ein wenig stutzig gemacht hat, ist das da Auflösungen Fehlen! Als ich die Auflösungen wie weiter unten beschrieben habe mittels Grub Shell bestimmt habe, waren diese auch vollständig.

Direkt in Grub

Eine weitere Möglichkeit ist den Befehl vbeinfo direkt in der Grub Shell auszuführen, das Ergebnis sollte wie bei hwinfo aussehen.

vbeinfo
...
...

Der Hexwert der gewünschten Auflösung muss in die Datei /etc/default/grub der Variablen GRUB_GFXPAYLOAD_LINUX zugewiesen werden. Es kann sein das diese erst noch erstellt werden muss.

GRUB_GFXPAYLOAD_LINUX=0x1e6

Danach muss die Grub Konfiguration aktualisiert werden! Ansonsten werden die gemachten Änderungen nicht aktiv.

sudo update-grub

Ergebnis

Nach ungewohnt langen debuggen und wirklich vielen Neustarts habe ich endlich wieder ein System bekommen. Was normal bootet und mich mit einer grafischen Oberfläche begrüßt.

Vielleicht sollte ich das nächste mal nicht ganz so fix beim Updaten sein, aber irgendwas ist ja immer.

Die einzigen Nachteile die mir beim freien Radeon Treiber bis jetzt aufgefallen sind, ist der höhere Stromverbrauch und der fast ständig laufende Lüfter. Schade das dass immer noch so ist aber im Kernel 3.11 soll sich ja noch mal viel getan haben. Vielleicht schaue ich mir das ganze mal bei Gelegenheit mit diesen Kernel unter Arch Linux an :)

Categories: anleitung bugfixing ubuntu
Tags: amd arch ATI bugfix kernel radeon raring treiber xorg xserver