[MiniHowTo] im Terminal mit FrameBuffer Videos und Bilder gucken und Hintergrundbilder einrichten

Hinweis: In dem Thema [MiniHowTo] im Terminal mit FrameBuffer Videos und Bilder gucken und Hintergrundbilder einrichten gibt es 5 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • In einem anderen Thread kam die Frage auf, wie man denn in einem echten Terminal (also ohne den X-server und großen DEs) Bilder anzeigen oder Videos gucken kann. Dort kann man ein wenig über die Geschichte der Terminals nachlesen


    Diese Terminals finden sich mit den Tastenkombis <strg><alt><F1-6>
    Die ersten 6 Terminals sind also für echte Konsolen standardmäßig reserviert. Auf den folgenden Konsolen mit <F7> liegt die erste graphische Konsole, meist KDE oder Gnome.
    (Man kann auch mehrere solche DEs hintereinander starten. Auf F7 KDE als User looser, auf F8 mit Gnome als User zwerg usw. also soweit der Speicher reicht). Davon sei hier NICHT die Rede.


    Der Framebuffer ist für echte Terminals. Also nicht für irgendwelche Terminalemulatoren (, wie z.B. Konsole unter KDE )
    Also für diese finsteren Dinger, die nach Eingabe von <strg><alt><F1-6> erscheinen und einen schlichten Login-Prompt ausgeben.
    Sie erscheinen auch, falls ihr mit eurem DE oder öfter mit eurem Graphikkartentreiber Ärger habt. Die Konsole auf F7 bleibt schwarz, aber die anderen laufen noch.


    Bevor wir jetzt in einen solche Konsole wechseln und dort unsere Videos gucken, müssen wir noch zwei Dinge machen:

    • Wir müssen DirectFB und mplayer installieren
    • und die User, die das können sollen noch der Gruppe video hinzufügen.


    Wir machen das gleich in einer echten Konsole.


    Hinweis: Läuft schon ein KDE, Gnome oder sonst ein DE, so laufen diese Sitzungen weiter.
    Aus Sicht des Kernels sind zwei verschiedene User angemeldet, so dass ein laufendes Video in KDE -obwohl es via pulseaudio Krach macht- nicht mehr zu hören ist. In dem echten Terminal kommt davon nichts an. Schaltet ihr zurück, könnt ihr wieder hören und sehen.


    Ein Wort zu den proprietären Treibern.
    Bei Nvidia wird auch ein Treiber der den Framebuffer darstellt mitgeliefert. Nur schafft es Nvidia seit geraumer Zeit nicht, den so lauffähig zu machen, dass man ihn zusammen mit dem Treiber für den X-org Server zusammen verwenden kann.
    Will man in der Console also das Maximum aus seiner GraKa herausholen muss man sich zur Bootzeit entscheiden, ob man nun den Framebuffer oder den X-Org laden lassen will.
    Macht nicht wirklich Sinn.
    Oder, wie es Linus mal formulierte: Nvidia sucks.
    Sie äußern sich auch dazu nicht.
    Bei ATI weiß ich das nicht. Mag sein, dass das beides läuft.


    Aber bei jedem modernen Linux ist schon ein brauchbarer Framebuffer installiert.


    Also nun in eine echte Konsole gewechselt mit der Tastenkombi <strg><alt><F3>
    Natürlich seid ihr frei eine Konsole zu wählen von F1 bis F6 ist alles standardmäßig erlaubt.
    Auf F10 läuft übrigens immer "dmesg" der Kernel Ringpuffer. Wer Probleme hat, kann auch immer dort gucken, was dem Kernel gerade zu schaffen macht.


    Sind wir nun in einer echten Konsole so melden wir uns ganz normal als User an.
    Er verlangt das Spasswort, bei dessen Eingabe nichts -nicht einmal Sternchen- angezeigt werden. Einfach tippen und Entern.


    Dann machen wir uns innerhalb dieser Konsole mit su zu root.
    Sind wir auf einer echten Konsole eingeloggt, so tippen wir:

    Das sollte reichen.


    Viel Spass beim Spielen damit.
    Einfach alle oben gelistete Programme mal mit --help aufrufen und spielen.
    Leider ist die Doku dazu sehr mager und es sind keine man pages beigepackt.


    Wer da tiefer einsteigen möchte, dem seien diese Links an's Herz gelegt:
    Das echte FrameBuffer HowTo von LKML selbst.
    Da dieses Zeugs aus längst vergangenen Zeiten stammt, sind da sehr viele alte Kernelversionen und uralte Tools genannt. Aber das gilt ja alles immer noch.
    Eine etwas modernere Variante davon.


    Und mit den bekannten Screenmultiplexern, wie screen oder tmux oder, oder,,, lässt sich auch ein eigenes DE innerhalb einer Konsole basteln. Man lese dazu das hier.


    Ein Problem bleibt. Der Krach.
    Sobald ein DE läuft, hat es den Krach unter Kontrolle.
    pulseaudio ist ein Userprocess.


    Zwar könnte man pulseaudio auch systemweit laufen lassen, aber davon ist DRINGEND abzuraten.
    Das ist ein Sicherheitsloch allererster Güte.
    Klar könnte man einfach den laufenden pulseaudio abschießen und gleichzeitig ein pulse in der Konsole starten, aber das ist kein wirklich gangbarer Weg.
    Besser ist es innerhalb von pulseaudio den Sound via Netzwerksockets zu routen und pulse so einzurichten, dass es immer Krach macht.
    Das könnte im Ernstfall dazu führen, dass der Sound der Videokonferenz mit den Chefs gemischt wird mit dem Sound vom Konsolenporno. Das Gestöhne der Chefs über mangelndes Geld gemischt mit dem Gestöhne vom Porno mag zwar gut zusammenpassen, sinnvoll ist das eher weniger und die Folgen davon sind ganz sicher nicht gewünscht..


    Vor allem aber habe ich keine Lust, in dieses MiniHowTo ein riesiges Pulseaudio Tutorial einzubauen.

    5 Mal editiert, zuletzt von LinuPia ()

    Für den Inhalt des Beitrages 82951 haftet ausdrücklich der jeweilige Autor: LinuPia

  • Hallo LinuPia!


    Danke für das kleine HowTo daß Du gestern so spät noch erstellt hast.
    Wie man den mplayer dazu bringt, über das fbdev Videos auf der Konsole anzuzeigen, hatte ich schon entdeckt. Damals war mir auch fbi über den Weg gelaufen.


    Neu war mir dfbg. Mir war nicht bekannt, daß es diese kleine Anwendung gibt. Habe es gleich mal ausprobiert.
    Nun wird das Bild auch kurz angezeigt, verschwindet dann aber wieder und auf schwarzem Hintergrund ist u.a. zu lesen:


    Code
    Could not set gamma ramp. 	----> Invalid Argument
    
    
    ONCE [dfb_gfxcard_batchstretchblit() should be used!] *** [gfxcard.c:3417 in dfb_gfxcard_stretchblit()]


    Die 1.Meldung scheint mir auf Probleme mit der Farbauflösung hinzuweisen. Ein Herabsetzen hat aber nichts gebracht.


    Oder hat es eher was mit den Problemen zu tun, die LinuPia oben für nvidia beschrieben hat und evtl auch für Ati gelten?



    Könnte sein, daß ich da mit dfbfx irgendein flag setzen muß...




    Habe mir jetzt mal auf einem Rechner OpenSuSE 13.2 installiert. Da klappt das Einrichten des Konsolenhintergrund zwar auch noch nicht auf Anhieb, aber immerhin erhalte ich jetzt ganz andere Ausgaben. Werde mich ab heute abend weiter damit beschäftigen. Wenn es Fortschritte gibt, melde ich mich. Vielleicht gibt es ja außer mir noch ein paar Leute mehr, die mit Ati oder nvidia-Grafik einen bunten Konsolenhintergund haben möchten.

    10 Mal editiert, zuletzt von Kühlwalda ()

    Für den Inhalt des Beitrages 82959 haftet ausdrücklich der jeweilige Autor: Kühlwalda

  • Ich zwar über ATI nichts sagen, weil ich schon ewig Nvidia einsetze, aber ich denke ja, dein Framebuffer radeonfb könnte ähnliche Probleme machen. Aber, ich weißt das nicht. Es ist eine nicht begründete Vermutung.


    Setze mal die Auflösung HÖHER.

    Für den Inhalt des Beitrages 83000 haftet ausdrücklich der jeweilige Autor: LinuPia

  • Also mit fbterm und fbv 'geht es', allerdings habe ich mit fbterm ja wieder nur eine emulierte Konsole. Habe auch etwas mit screen herumgespielt.


    Aber zurück zu dfbg:


    Ich bin mir nicht sicher, ob es wirklich an der Karte liegt, deshalb hab ich mal die Fehlermeldung in die pts/1 mgeleitet, damit ich sie vollständig posten kann. Nach Eingabe von sudo dfbg image.png erhalte ich folgende Ausgabe:



    Könnte es sein, daß es nur daran liegt, daß das Switchen von einer VT zur anderen nicht richtig funktioniert? Habe gelesen, daß DirectFB standardmäßig versucht das Terminal zu wechseln. Die Auflösung könnte schon ein Problem sein. Ich weiß nur, wie man die aktuelle Auflösung der Konsole ausliest. Wie verändere ich sie? Kenne nur xrandr für die grafische Konsole. Wie das auf der reinen Textkonsole geht, weiß ich nicht. Es sei denn über den Bootloader.


    Es ist übrigens unerheblich, ob ich mit dfbg ein Hintergrundbild oder eine Hintergrundfarbe einzustellen versuche. Habe die Auflösung über grub2 geändert, und zwar in einen framebuffer-kompatiblen Modus, aber nach unten, weil mein Bildschirm nicht mehr als 1360x768 verträgt. Habe aus der Liste, die ich über hwinfo --framebuffer angezwigt bekomme, 1024x768 ausgewählt. Es geht dennoch nicht.
    Habe meinen user auch mal in die Gruppe tty aufgenommen (wegen des Switchings, dacht ich), aber auch das hilft nicht.

    Einmal editiert, zuletzt von Kühlwalda ()

    Für den Inhalt des Beitrages 83042 haftet ausdrücklich der jeweilige Autor: Kühlwalda

  • Installiere dir den vesafb und wirf den radeonfb raus.

    Für den Inhalt des Beitrages 83067 haftet ausdrücklich der jeweilige Autor: LinuPia

  • Danke für die Anregung, LinuPia!


    Genau das werde ich am WE mal machen. Davon stand ja auch schon was im offiziellen DirectFB-Tutorial. Ist mal wieder etwas, was ich noch nicht gemacht habe. Aber einmal ist ja immer das erste Mal. Melde mich dann, wies gelaufen ist.


    Ach ja: Das mit dem Eintragen des users in die tty-Gruppe war natürlich Schwachsinn, wenn ich dfbg anschließend sowieso mit root-Rechten aufrufe :rolleyes:.


    Vorweg: Wenn ich das richtig sehe, installiere/deinstalliere ich den vesafb/radeonfb, indem ich die entsprechenden Kernel-Module austausche. Das geht ja nun nicht über die Yast-Softwareverwaltung, sondern über Tools wie menuconfig. Wie man da korrekt vorgeht, weiß ich nicht. Habe mich vor 2/3 Jahren mal an einer Gentoo-Installation versucht und in diesem Zusammenhang auch schon mal mit menuconfig zu tun gehabt. Wie das unter OpenSuse läuft, weiß ich nicht. Das Verzeichnis /usr/src/linux gibt es bei mir nicht. Außerdem: Wenn ich mir jetzt kernel-source runterlade und mit dem Modul vesafb kompiliere, fehlen dann nicht zig andere Module, die im derzeitigen Kernel (für die jeweilige Hardware-Architektur) integriert sind? Habe da überhaupt keinen Plan. Oder geht das ganz einfach über modprobe? Oder über Yast ==> Kernel-Einstellungen? Oder über den Bootloader?


    Habe mir gerade mal die Kernel-Module auflisten lassen. Da gibt es nur das Modul radeon, also den opensource-Treiber für radeon. Heißt das, daß radeonfb darin integriert ist. Muß ich dann den Grakatreiber an sich austauschen?


    Genau genommen ist in der Systemmeldung oben auch gar nicht radeonfb genannt, sondern radeondrmfb:


    Code
    (*) DirectFB/FBDev: Found 'radeondrmfb' (ID 0) with frame buffer at 0xd045f000, 4224k (MMIO 0x00000000, 0k)


    radeonfb steht bei mir in /etc/modprobe.d übrigens sogar in der blacklist:


    10 Mal editiert, zuletzt von Kühlwalda ()

    Für den Inhalt des Beitrages 83099 haftet ausdrücklich der jeweilige Autor: Kühlwalda