(K)Ubuntu Splashscreen Auflösung korrigieren
Sei Kubuntu (Ubuntu) 10.04 (Lucid Lynx) gibt es beim booten Probleme mit dem Splashscreen. Der Fehler rührt in Verbindung mit dem proprietären NVIDIA-Treiber (ATI in wenigen Fällen ebenfalls). Dieser nutz nicht mehr die vesafb Schnittstelle zur Grafikkarte. Zumal die in Ubuntu kurz vor dem aus steht. Installiert man nun den Nvidia-Treiber, so wird der Splashscreen unansehnlich pixelig.
Abhilfe schafft hier uvesafb, der jedoch auch Einschränkungen hat, die da wären:
uvesafb is a _generic_ driver which supports a wide variety of video cards, but which is ultimately limited by the Video BIOS interface. The most important limitations are:
- Lack of any type of acceleration.- A strict and limited set of supported video modes. Often the native or most optimal resolution/refresh rate for your setup will not work with uvesafb, simply because the Video BIOS doesn’t support the video mode you want to use. This can be especially painful with widescreen panels, where native video modes don’t have the 4:3 aspect ratio, which is what most BIOS-es are limited to.
- Adjusting the refresh rate is only possible with a VBE 3.0 compliant Video BIOS. Note that many nVidia Video BIOS-es claim to be VBE 3.0 compliant, while they simply ignore any refresh rate settings.
Dennoch funktioniert alles wunderbar. An dieser Stelle möchte das Workaround geben.
[Fix/Workaround]
* uvesafb benötigt noch ein paar Pakete bei der Installation. Dies kann erledigt werden mit:
1 | sudo apt-get install v86d hwinfo |
* Als nächstes muss die passende Auflösung für den Monitor bzw das Display gefunden werden. Der Befehl dafür lautet:
1 | sudo hwinfo --framebuffer |
* Beispielsweise könnte der Befehl folgende Output liefern
02: None 00.0: 11001 VESA Framebuffer
[Created at bios.464]
Unique ID: rdCR.R1b4duaxSqA
Hardware Class: framebuffer
Model: “NVIDIA G73 Board – p456h1 ”
Vendor: “NVIDIA Corporation”
Device: “G73 Board – p456h1 ”
SubVendor: “NVIDIA”
SubDevice:
Revision: “Chip Rev”
Memory Size: 256 MB
Memory Range: 0xc0000000-0xcfffffff (rw)
Mode 0×0300: 640×400 (+640), 8 bits
Mode 0×0301: 640×480 (+640), 8 bits
Mode 0×0303: 800×600 (+800), 8 bits
Mode 0×0305: 1024×768 (+1024), 8 bits
Mode 0×0307: 1280×1024 (+1280), 8 bits
Mode 0x030e: 320×200 (+640), 16 bits
Mode 0x030f: 320×200 (+1280), 24 bits
Mode 0×0311: 640×480 (+1280), 16 bits
Mode 0×0312: 640×480 (+2560), 24 bits
Mode 0×0314: 800×600 (+1600), 16 bits
Mode 0×0315: 800×600 (+3200), 24 bits
Mode 0×0317: 1024×768 (+2048), 16 bits
Mode 0×0318: 1024×768 (+4096), 24 bits
Mode 0x031a: 1280×1024 (+2560), 16 bits
Mode 0x031b: 1280×1024 (+5120), 24 bits
Mode 0×0330: 320×200 (+320), 8 bits
Mode 0×0331: 320×400 (+320), 8 bits
Mode 0×0332: 320×400 (+640), 16 bits
Mode 0×0333: 320×400 (+1280), 24 bits
Mode 0×0334: 320×240 (+320), 8 bits
Mode 0×0335: 320×240 (+640), 16 bits
Mode 0×0336: 320×240 (+1280), 24 bits
Mode 0x033d: 640×400 (+1280), 16 bits
Mode 0x033e: 640×400 (+2560), 24 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown
* Als nächstes müssen wir den Bootloader Grub2 umkonfigurieren, dazu editieren wir die Datei /etc/default/grub, damit wir sicher sein können, das wir mit uvesafb framebuffer booten. Folgende Zeile muss geändert werden:
1 2 3 | GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1680x1050-24,mtrr=3,scroll=ywrap" ... GRUB_GFXMODE=1680x1050 |
* Damit das dann auch alles aktiviert wird und beim booten alle Module geladen werden, muss am Besten das Modul noch in der Initramfs reingeladen werden. Dafür editieren wir die Datei /etc/initramfs-tools/modules um eine Zeile hinzuzufügen.
1 | uvesafb mode_option=1680x1050-24 mtrr=3 scroll=ywrap |
* Beim booten lassen wir den den PC den Framebuffer zwanghaft nutzen mit:
1 | echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash |
* Abschließen noch alles aktualisieren und dann sind wir fertig:
1 2 | sudo update-grub2 sudo update-initramfs -u |
* Ein Neustart lässt das System dann in neuem Glanz erscheinen. Der Splashscreen ist nun länger zusehen und in einer wesentlich angenehmeren und ansehnlicheren Auflösung.
[Bugs]
Auffallend ist, dass das System bei mir erst nach dem zweiten Neustart funktionierte. Danach immer einwandfrei.

No comments yet.