Linux und Ich

Blog über Ubuntu, Linux, Android und IT

Plymouth trotz proprietärem Nvidia-Treiber

Plymouth trotz Nvidia-Treiber

| 34 Kommentare

Seit Ubuntu Lucid zeichnet ja der Dienst Plymouth während des Bootvorgangs auf den Bildschirm. Allerdings gibt es immer wieder Probleme im Zusammenspiel zwischen Plymouth und proprietären Videotreibern. Der Grund dafür liegt in den so genannten Kernel Mode-Settings (kurz KMS), die für die Darstellung der Animationen notwendig sind. Früher hatte erst der Xserver dafür gesorgt, dass graphische Elemente ausgegeben werden können. Bis zum Start des Xservers konnte daher nur Text angezeigt werden. Allerdings kann man mit ein bisschen Arbeit trotz proprietärem Video-Treiber auch Plymouth zu Gesicht bekommen.

Durch KMS kann jedoch schon der Kernel die Grafikkarte in den Grafikmodus versetzen und somit die Animation ausgeben. Allerdings ist KMS beim proprietären Grafiktreiber von Nvidia noch so unausgereift, dass die Entwickler von Ubuntu Playmouth bei diesem Treiber lieber deaktiviert haben. Anstelle der ansprechenden Animation sieht man daher oft nur einen simplen Text…

Booten mit und ohne Plymouth

Allerdings können Ihr Plymouth auch mit dem proprietären Nvidia-Treiber verwenden, dafür müssen Ihr allerdings ein bisschen in das System eingreifen. Die Änderung ist experimentell und könnte dafür sorgen, dass Ihr während des Bootvorganges gar nichts mehr auf dem Bildschirm sehen, legtdaher bitte Sicherheitskopien der bearbeiten Dateien an, die Ihr im Fall der Fälle einfach wieder zurückkopieren könnt. In einem ersten Schritt müsst Ihr das Paket v86d installieren…

$ sudo apt-get install v86d

Nun müssen Sie die Konfigurationsdatei /etc/default/grub bearbeiten. Wie schon erwähnt ist es nie eine schlechte Idee die ursprüngliche Konfigurationsdatei zu sichern. Kopiert das Original an eine sichere Stelle…

$ sudo cp /etc/default/grub /etc/default/grub.orig
$ gksudo gedit /etc/default/grub

…und sucht nun in einem Texteditor nach der Zeile…

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Fügt dann an das Ende dieser Zeile die Optionen “video=uvesafb:mode_option=1024×768-24,mtrr=3,scroll=ywrap” an. Achtet hier darauf, dass Ihr die native Auflösung ihres Displays eintragt. Die 1024×768 sollen nur als Beispiel dienen. Am Ende sollte die Zeile wie folgt aussehen.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1024x768-24,mtrr=3,scroll=ywrap"

Abschließend sucht noch die Zeile…

#GRUB_GFXMODE=640x480

…und entfernt hier die Raute “#” am Anfang der Zeile. Tragt auch hier wieder die gewünschte Auflösung ein. Im vorliegenden Fall sollte die Zeile nun so aussehen.

GRUB_GFXMODE=1024x768

In einem zweiten Schritt müsst Ihr noch die Konfigurationsdatei /etc/initramfs-tools/modules ändern. Legt für diese Datei wieder eine Sicherheitskopie an und öffnet die Textdatei danach in einem Editor.

$ sudo cp /etc/initramfs-tools/modules /etc/initramfs-tools/modules.orig
$ gksudo gedit /etc/initramfs-tools/modules

Hier müsst Ihr nun nicht lange nach der richtigen Passage suchen, fügt einfach die folgende Zeile an das Ende der Datei an. Achtet bitte auch hier wieder drauf die richtige Auflösung einzutragen.

uvesafb mode_option=1024x768-24 mtrr=3 scroll=ywrap

Nun sind alle nötigen Konfigurationsdateien bearbeitet. Damit die Änderungen aktiv werden, müsst Ihr das System dazu veranlassen die Konfigurationsdateien von Grub neu erstellen zu lassen und das ininitramfs-Archiv neu zu erzeugen.

$ sudo update-grub
$ sudo update-initramfs -u

Wenn Ihr jetzt euren Rechner neu startet, dann sollte die Plymouth-Animation auf ihren Bildschirm zu sehen sein. Unter Lucid und Maverick hab ich diese Lösung mit einer Nvidia-Karte getestet.

Autor: Christoph Langner

Hallo, ich bin Christoph -- Linux-User, Blogger und pragmatischer Fan freier Software. Wie Ihr ohne Zweifel bemerkt haben solltet schreibe ich hier über Linux im Allgemeinen, Ubuntu im Speziellen, sowie Android und andere Internet-Themen. Wenn du Freude an meinen Artikel gefunden haben solltest, dann kannst du mir über Facebook, Google+ oder Twitter oder natürlich dem Blog folgen.

34 Kommentare

  1. Bei mir hat ein einfaches anpassen der /etc/default/grub gereicht:

    GRUB_GFXMODE=1920x1200x24
    GRUB_GFXPAYLOAD_LINUX=keep

    den Modus konnte ich mittels
    sudo hwinfo –framebuffer

    siehe auch:
    http://wiki.ubuntuusers.de/GRUB_2/Konfiguration#Die-Datei-etc-default-grub

  2. ja wichtig ist in vielen Fällen die Auflösung mit Einzutragen , sonnst kann es ein Überraschung in 8bit geben ;-)
    also “Besser”:

    GRUB_GFXMODE=1024x768x24

  3. @Simon: das ist keine gute Idee, danach funktionieren die virtuellen Terminals tty1 bis tty6 höchstwahrscheinlich nicht mehr.

    Wie es richtig geht, steht hier:
    http://idyllictux.wordpress.com/2010/04/26/lucidubuntu-10-04-high-resolution-plymouth-virtual-terminal-for-atinvidia-cards-with-proprietaryrestricted-driver/

    Christoph hat im Grunde das gleich geschrieben.

  4. Funktioniert bei mir leider nicht unter Lucid. Die von Simon vorgeschlagene Lösung aber schon, habe das schon vorher verwendet. Die virtuellen Terminals nutze ich sowieso nicht, arbeite immer mit dem GNOME-Terminal.

  5. Hör ich da richtig, dass der NVIDIA Treiber KMS bekommt? Das wär ja mal klasse! :D

  6. Funktioniert echt gut. :) Danke für die Anleitung.

  7. Schöner Artikel, gut und verständlich ;)

    Aber ich würde nie solch einen Aufwand für einen Bootscreen betreiben…

  8. @blub: Das kann ich für die Verwendung unter Archlinux bestätigen…allerdings hab ich glaub ich damals auch v86d deinstalliert
    Aber ich wüsste gern mal WARUM das so ist.

    LG
    Hølgerssøn

  9. Danke für den Tipp, funktioniert soweit im Prinzip. Allerdings klappt es wohl nicht mit FullHD-Auflösung, kann das sein? Das GRUB-Menü ist jetzt ziemlich klein, aber voll aufgelöst. Danach bleibt der Bildschirm erst schwarz, es folgt ein blinkender Cursor und dann ist noch kurz die Plymouth-Animation zu sehen, bevor der Desktop schon geladen wird. Allerdings ist die Auflösung zwischendurch doch sehr unschön, 640×480 könnte das ungefähr sein…

  10. Danke für den guten Beitrag
    Ich musste nähmlich um Cover-Flow in meinem Nautilus zu aktivieren, den offiziellen ATI-Treiber aktivieren, der dann aber wieder bewirkt, dass die Bootschirme alle häßlich werden.
    Ich brauch halt mein Eye-Candy und deswegen danke ich dir nochmals für den Beitrag, den ich in ca. 5min auch umsetzten konnte.
    Nils
    Ps:Ich habe eine ATI Radeon HD 4350 als Grafikkarte, also mit der funktioniert es auch

  11. Danke für den Beitrag! Es funktioniert (fast) perfekt. Bei mir bleibt noch ein schwarzer Rand beim Laden. Kann man dagegen was tun? Ich benutze eine 1920×1080 Auflösung

    • Hallo Markus, ich gehe mal davon aus dass du dir korrekte Auflösung eingetragen hast. Steuerst du den Monitor über analog, also über RGB-Kabel, an? Vielleicht musst du den Monitor die Bildlage erkennen lassen?

      • Hallo Christoph, die Auflösung habe ich korrekt eingetragen.
        Der Monitor ist mit einem HDMI Kabel angeschlossen. Sonst erkennt er ja alles super, nur beim Plymouth habe ich einen schwarzen Rand. Ich weiß nicht, ob er auch exakt die 1920×1080 Auflösung benutzt. Es sieht so aus, als ob er eine klein wenig kleinere Auflösung nimmt und das Bild dann zentriert.

  12. Eine Frage: Wie kriege ich es hin, dass er mir beim booten überhaupt keine Grafik zeigt, sondern nur die Kommando-Zeilen?

  13. Vielen Dank!

    Funktioniert auch mit einer ATI Grafikkarte (bzw. AMD ;-) ) und dem proprietären Treiber fglrx.

    Allerdings hat es mit der Auflösung 1680×1050 nicht funktioniert, zu groß und zu pixelig, aber mit 1024×768 klappt es jetzt :-)

  14. Es gibt jetzt ein Fix-Script für die proprietären Nvidia und ATI Treiber.
    http://kyleabaker.com/2010/07/11/how-to-fix-your-ubuntu-boot-screen/

    • Ich hatte zuerst Christoph’s Anleitung verwendet, aber irgendwie bekam ich dann gar nichts mehr zu sehen, wenn Ubuntu hochfahren wollte. Selbst zum Login ging es dann nicht mehr. Habe keine Ahnung warum. Also über Shell alles wieder rückgängig gemacht.

      Dann dieses Script gefunden, angewendet und ich bekam endlich wieder den hübschen Boot-Screen zu Gesicht. Ich weiß… letztlich macht dieses Script genau das, was hier in der Anleitung steht. Allerdings beträgt die Auflösung 1280×1024 Pixel. Und damit scheint es zu funktionieren.

      Zum Test habe ich die Auflösung anhand Christoph’s Artikel auf meine Standard-Auflösung von 1680×1050 Pixel geändert und wieder bekam ich einen schwarzen Bildschirm beim Booten.

      Ich habe es einige Male versucht und jedes Mal, wenn ich die Auflösung auf meine stellte, bekam ich den schwarzen Bildschirm. (ja, ich habe überall die selbe Auflösung eingetragen ;))

      • ist denn die gewünschte Auflösung 1680×1050 in der von `sudo hwinfo —framebuffer` ausgegebenen Liste vertreten?

        • Ähm… Ubuntu meldet beim Ausführen “sudo: hwinfo: command not found”

          • eigentlich müsste Ubuntu dann auch einen Tipp geben, wie das installiert wird – nämlich per
            sudo apt-get install hwinfo

            • Nee, hat es leider nicht. Habe es aber jetzt installiert und nun erhalte folgende Meldung: “oops: don’t know what to do with ‘framebuffer'”

              • gegebenfalls würde hier ja ein man hwinfo helfen.
                Es lässt sich in diesem Forum schlecht lesen, weil aufeinanderfolgende Bindestriche zusammengekleistert werden :-( , aber unmittelbar vor “framebuffer” steht ein “Doppelminus”.

                • Ah ok. Wegen dem Minus wurde schon gemeckert, da irgendwie draus ein langer Bindestrich wurde. Hatte es dann nur mit einem Minus versucht. Dass es zwei sein müssen, bin ich nicht drauf gekommen :)

                  Also meine Auflösung von 1680×1050 ist nicht mit dabei :( Die höchste 24 bit sind die besagten 1280×1024. Liegt es also daran, dass Plymouth die manuell eingetragene Auflösung von 1680xWurst nicht annimmt?

                • so isses. Mein Display kann bleistiftsweise 1280×800, aber hwinfo gibt als höchste Auflösung 1024×768 an (weia!). Der X-Server macht mit der höheren Auflösung keine Probleme, aber beim Booten scheint das so ‘ne Art VESA- und/oder Framebuffer-Modus zu sein (ggfs. bei Wikipedia nachlesen, was VESA ist).

                  Also bei mir steht in /etc/default/grub:

                  $ grep GFX /etc/default/grub
                  GRUB_GFXMODE=1024x768x24
                  GRUB_GFXPAYLOAD_LINUX=keep

                  bei Dir müsste
                  GRUB_GFXMODE=1280×1024×24
                  klappen (die folgende Zeile (…=keep) ist aus mir bisher verschlossen gebliebenen Gründen auch irgendwo zwischen “sehr wichtig” und “essentiell” (oder schreibt man das inzwischen “essenziell”?) angesiedelt).

                  anschließend die beiden obligatorischen
                  sudo update-initramfs -u
                  und
                  sudo update-grub

                  und dann sollte ein Neustart eigentlich den Lohn der Mühe zeigen.

  15. Korrektur:

    mit update-grub wird nicht wie oben beschrieben der MBR neu geschrieben, sondern die grub-Konfigurationsdatei menu.lst bzw. beim neuen grub2 die grub.cfg upgedatet.

    Gruß,
    Thomas

  16. Hallo,

    ich liebe solche Anleitungen, davon gibt es hunderte, wenn nicht gar Tausende im web., die sich auch noch in der Qualität voneinander unterscheiden. Als deutliches Qualitätzeichen würde ich einen Eintrag darin schätzen, ab wann sie obsolet sind. Schliesslich ist die Zeit auf unserer Seite, oder.

    Was hältst Du von diesem Vorschlag. Evtl. gehört soetwas sogar in die erste Zeile, jetzt. Als temporäre Hilfe Klasse, wenn man dann später weiss, wie man’s wieder rückgängig machen kann. Lieber Gruss & immer Danke für Deinen Einsatz!

  17. Hallo Leute,

    die Anleitung ist wirklich gut. Aber ich möchte zu denken geben, das es im Internet ein Script gibt, dass das alles automatisch macht. Man muss nur die Auflösung eintragen. Sucht einfach bei einer beliebigen Suchmaschine nach “fixplymouth”.

    Aber klasse Beitrag.

    Nick

  18. Sehr gute Anleitung – damit konnte ich endlich das Problem “hässlicher textbasierter Startschirm” auf meinem Home Theater PC lösen.
    Danke! :-)

  19. Vielen Dank! Dein Artikel hat mir endlich die Lösung gebracht.

Hinterlasse eine Antwort

Auf Linux und Ich darf anonym kommentiert werden. Die Felder für Name und E-Mail-Adresse dürfen beim Eintragen eures Kommentars leer bleiben. Ich freue mich aber über jeden Kommentar, zu dem der Autor mit seinem Namen steht.