Directfb und Dreambox COOL

Wir haben aktuell ein Problem mit dem Board und arbeiten an der Lösung...
  • directvnc ist der Absolute Knaller auf der Dreambox :hurra: :hurra: :hurra:


    Hervorragende Bildqualität Bildschirm füllend, Pixelgenau und das egal mit welcher Auflösung der VNCServer läuft. (Bei mir z.zt. 1600x900) Tastatur und Maus wie am PC direkt und eine gute Geschwindigkeit (sogar auf DM800) Youtube Videos Ruckeln. Aber für normales Arbeiten an einem entferntem PC Optimal.


    Diverse Programme die mit/für directfb kompiliert wurden gehen sofort in einem aktuellem OE2.0


    Das einzige was man braucht ist eine Tastatur und Maus, directfb, fbset, fbset-modes und die Programme.



    Also USB Tastatur/Maus (oder Dream Tastatur) an die Dreambox


    Zuerst (Einmalig wenn usbhid noch nicht im Image ist, und nur bei USB-Tastatur)
    opkg install kernel-module-usbhid
    modprobe usbhid
    dann einstecken, und schon geht die Tastatur. (ohne neustart, es braucht nur den "echten" HOTPLUG)


    Verwendet ein Flashexpander oder Multiboot Tool und packt die Sachen nicht in den flash. Ausser evtl. directvnc das ist so klein das passt überall noch rein.


    Die Programme kann man auch von einer Konsole (telnet/ssh) aus starten.
    Vorgehensweise:
    TeleText Plugin starten

    Code
    init 4
    directvnc.sh


    Mit init 4 beendet man enigma und startet dann das Programm.
    Mit init 3 kann man enigma wieder starten.


    Durch starten des TeleText Plugins bekommt den Framebuffer vom enigma frei. Es bleibt zwar manchal noch Reste im Framebuffer, die aber dann von directvnc (oder anderen) überschrieben werden kann, so das dann immer ein störungsfreies Bild vorhanden ist.


    Habt ihr noch kein directfb installiert könnt ihr es mit
    opkg update
    opkg install directfb
    nachholen


    Sollte directfb nicht auf dem Softwarefeed sein könnt ihr die Pakete bei DMM runterladen.
    Man braucht dann:
    Depends: libgcc1 (>= 4.6.3+svnr184847), libts-1.0-0 (>= 1.0+gitr1+e17263ef401ee885a27d649b90b577cfb44500e0), libpng12-0 (>= 1.2.49), libc6 (>= 2.13), libz1 (>= 1.2.6), libsysfs2 (>= 2.1.0), libfreetype6 (>= 2.4.8), libstdc++6 (>= 4.6.3+svnr184847), libjpeg8 (>= 8c)


    Ausser dem habe ich auch schon andere Programme mit Erfolg am laufen. (für einige braucht man dann noch SDL) SDL Homepage
    (directfb und libsdl wird Automatisch bei jedem Image bau mit erstellt. libsdl-mixer muss man mit bitbake bauen.)


    Wenn schon ein Plugin Installiert ist müssen die nächsten Plugins mit
    cd /tmp (wenn ihr nach /tmp kopiert geladen habt)
    opkg install *.ipk --force-overwrite
    installiert werden.

    Das ist so weil die Plugins gleiche config Dateien mitbringen!



    libsdl-mixer
    directvnc
    mpd
    ncmpc
    fbgrab
    imagemagick
    fbida
    fbv
    fbclear
    mediatomb


    Spiele:
    LBreakout2
    LTris
    LMarbles
    LPairs
    LGeneral
    ScummVM
    Penguin Command
    Duke3D
    Rott
    SDLQuake

    Ich habe inzwischen einiges mit bitbake für's oe2.0 neugebaut oder cross-compiliert.
    Es gehen aber auch die meisten Pakete die ich schon HIER für oe1.6 gebaut habe oder auch die Pakete von debian squeeze, sie müssen halt nur directfb können und die anderen Abhängigkeiten müssen erfüllt sein.


    Für fbset braucht man noch eine config Datei /etc/fb.modes. Im Anhang ist die Datei mit den von mir ermittelten Werten. Es kann bei euch abweichen, oder Auflösungen die ihr wollt noch nicht vorhanden sein. Ermitteln kann man die Werte mit fbset


    Beispiel (1280x720x16):
    fbset -xres 1280 -yres 720 -vxres 1280 -vyres 720 -depth 16


    Stellt den Framebuffer auf 1280x720/16 ein. Jetzt kann man mit fbset -i


    die Werte auslesen und in /etc/fb.modes überprüfen/eintragen.



    Bei directvnc müsst ihr nur in /usr/bin/directvnc.sh den <SERVER> und das <PASSWORT> eingeben, und in /etc/dfb/dfbrc-directvnc die Auflösung des Server eingeben.


    Bei der VNC Verbindung kann es passieren das am Server Tastatur auto-repeat abgeschaltet wird. Bei einem LinuxPC kann man das durch Eingabe von xset r on (3x) wieder aufheben.


    gruß pclin


    DM800: alles was mips32el-nf im Paket Namen hat.
    Andere Boxen: alles was mips32-el im Paket Namen hat
    ALLE Boxen: alles was all im Paket Namen hat


    Für directvnc braucht man also:
    directfb, fbset, und das eingma2-plugin-extensions-directvnc


    Der Screenshot ist mit directvnc direkt auf der DM800 erstellt, und sieht am TV genau so aus!

  • > FPS: 100 sind bei LBreakout2 kein Problem. 4 Spieler und Online Modus, jede Menge Level, Addons, Themes und ein Editor. Highscore Liste und diverse Einstellungen.


    gruß pclin

    5 Mal editiert, zuletzt von pclin ()

  • Ähm, beim OoZooN-Image ist kein directfb Paket zur Auswahl.
    Starte gleich mal das offizielle Experimental. Mal sehen, ob da was dabei ist.


    [Edit] Okay habe jetzt die Pakete aus dem DMM-feed auf dem OoZooN installiert. Mal sehen, wie es läuft.

  • So, hab lbreakout2 leider nicht an Laufen gekriegt. :frowning_face:


    Immer nur Segmentation fault.
    Habe alle Rechte angepasst. Auch die der libs.



    Dann müsste jetzt "nur" noch die directFB-Unterstützung in XBMC fertig sein und es ginge los!!!!!!!!!!!!!
    https://github.com/xbmc/xbmc/pull/454


    Das wären ein Etappenziel der "Dreams" noch vor den anderen Boxen...

  • Zitat

    Original von deathrattle So, hab lbreakout2 leider nicht an Laufen gekriegt. :-
    Immer nur Segmentation fault.
    Habe alle Rechte angepasst. Auch die der libs.(


    Rechte brauchst du nur bei den bin's, und von welchen libs redest du?


    Wobei passieren die Segmentation fault ?


    Welches Image?


    Startet der directfb?


    Kannst du logs posten.


    Ich verwende ein aktuelles DMM OE2.0 Image.


    gruß pclin


    ps.
    Es ist eigentlich nichts was man zum laufen bringen muss.

    2 Mal editiert, zuletzt von pclin ()

  • Zitat

    Rechte brauchst du nur bei den bin's, und von welchen libs redest du?


    Ups, sehe gerade das der Ordner keine libs hat, sondern pics,etc. Ich meine den Ordner aus dem /usr/share/lbreakout2


    Zitat

    Wobei passieren die Segmentation fault ?


    Beim ausführen der binary... also lbreakout2


    Zitat

    Welches Image?


    OoZoon Exp. OE2.0


    Zitat

    Startet der directfb?


    Wie seh ich das? Wenn ich fbset eingebe kommt eine Rückmeldung über die Bildschirmauflösung, etc.


    Zitat

    Kannst du logs posten.


    Werds versuchen. Z.Zt. ist die Box belegt. Frauchen will PP gucken.

  • HIER im 2 Post sieht man genau wie es aussehen muss wenn lbreakout2 startet.


    Gib also einfach lbreakout2 ein und Poste die Ausgabe.


    Was in meinem Image noch anders ist:


    ln -sfn /usr/bin/python2.7 /usr/bin/python
    opkg install bash
    touch /home/root/.bash_history


    /etc/profile anpassen.


    Und alles auf Deutsch einstellen.


    Zu den oben aufgeführten Paketen werden Automatisch noch ein paar andere mit installiert.


    Das auf Deutsch Einstellen sollte aber keinen Unterschied beim starten von lbreakout2 bringen.
    Du mussst das also nicht zwingen machen, solltest dann nur die LANGUAGE und locale Sachen nicht in /etc/profile Eintragen. Das führt sonst zu Fehlermeldungen beim Installieren von Paketen. (was aber auch nicht schlimm wäre).



    Alle anderen Images die ich bis jetzt für OE2.0 verwendet habe hatten stark eingeschränkte Software so das einfach nur mit Handarbeit (Download bei DMM) dort alles möglich ist.


    gruß pclin

    2 Mal editiert, zuletzt von pclin ()

  • Bevor ich das erste mal lbreakout2 verwendet habe hatte ich mit directvnc gearbeitet.


    Gestartet wird also
    TeleText Plugin starten

    Code
    init 4
    directvnc SERVER -p PASSWORT -m /usr/share/keymaps/dream-de


    Dafür benötigt man Anpassungen in /etc/fb.modes und /etc/directfbrc


    fb.modes wrd mit Diversen Auflösungen eingestellt (der erste Eintrag ist Default für Directfb), und directfbrc enthält die Auflösung des Servers (oder des Programms das man Verwendet) mit dem man sich Verbindet.



    Mein Server x11vnc (PC mit LinuxMint12) hat also die Auflösung 1600x900x32
    Wie müssen aber immer depth=16 eingeben.


    gruß pclin


    Dank geht an emanuel für das directvnc.bb ohne das es jetzt keine directvnc Pakete geben würde.

    8 Mal editiert, zuletzt von pclin ()

  • Auch scummvm geht, nur mit directfb (ohne das e2 läuft und ohne X11)


    Tastatur, Maus und Remote Support ist unter directfb und OE2.0 nahezu perfekt.


    Fullscreen Pixelgenau Darstellung.


    TeleText Plugin starten


    gruß pclin

    7 Mal editiert, zuletzt von pclin ()

  • Zitat

    Original von deathrattle
    Dann müsste jetzt "nur" noch die directFB-Unterstützung in XBMC fertig sein und es ginge los!!!!!!!!!!!!!
    https://github.com/xbmc/xbmc/pull/454


    So aul meinem PC mit LinuxMint läuft der XBMC (directfb) schon mal.


    Jetzt muss ich mal schauen ob ich den auch cross-compilieren kann, und ob er dann auch auf der Dreambox geht. Es braucht aber wohl auch eine neue directfb Version.


    gruß pclin

  • Ja. Das wäre ja was. Hab da aber wenig Hoffnung.... da stand doch was von mesa und Hardwarebeschleunigung und so. Das haben wir auf der Box ja nicht wirklich. Oder sehe ich das falsch.


    Habe jetzt übrigends mal das neueste Experimental Image von DMM installiert.
    lbreakout geht immer noch nicht. Einzige Rückmeldung "Segmentation fault". Im dmesg steht auch nix.
    Ist aber auch nichr wirklich schlimm.

  • dosbox geht!


    Braucht nur zusätzlich libgl >=libGL.so.1.5.070002


    Muss auf 16 Bit eingestellt werden und mit


    gruß pclin


    xbmc mit directfb für oe2.0 nur mit viel zusatz compilierbar.


    Das macht man besser im debian auf der Box.

  • fbida - fbi


    gruß pclin

  • Directfb-1.6.1 erfolgreich compiliert !!!


    gruß pclin

  • Für alle Boxen im OE2.0 mit neuem kernel geht auch


    FusionSound-1.6.0


    (hier noch mit directfb-1.4-6, geht aber auch mit directfb-1.6.1)


    gruß pclin

    3 Mal editiert, zuletzt von pclin ()

  • Dreambox Fernbedienung und Directfb


    In fast allen von mir getesteten Programmen funktioniert auch die Fernbedienung!


    Bei
    lbreakout2 kann man Spielen ähnlich gut wie mit der Maus


    directvnc kann man in Fenstern Scrollen geht ähnlich wie beim DMM Webbrowser


    In allen Programmen geht in Menüs Navigieren.


    Das alles funktioniert ohne weitere Konfiguration!


    gruß pclin

  • links2 ist dann schon mal ein schöner schneller Browser der mit directfb auf der Dreambox Funktioniert.


    Tastatur und Maus gehen wieder Super.


    Das ganze läuft natürlich im Grafik Modus


    VideoText starten

    Code
    init 4
    links -g -driver directfb


    gruß pclin

    2 Mal editiert, zuletzt von pclin ()

  • directfb-examples


    Das sind kleine Beispiel Programme.


    gruß pclin


    ps
    Die Geschwindigkeit bei texture liegt auf der dm800 bei ca. 3.5 FPS (1600x900x16), der Wert der im Screenshot angezeigt wird liegt an fbgrab.


    Bei 640x480 sind es ca. 12 FPS


    Bild 2 und 3 sind Animationen

  • Wenn ich jetzt die /etc/directfbrc auf 1280x720 stelle und df_texture starte bekomme ich auf der dm800 immerhin schon ca. 3,6 FPS. Das sollte auf einer 7020HD dann schon ganz flott laufen.


    Wenn ich jetzt e2 wieder starte läuft df_texture weiter. Blendet man jetzt die Kanalliste ein sieht man die laufende Animation. Jetzt wo e2 läuft mit ca. 2.3 FPS.


    Mit der gleichen Auflösung wie der e2 Framebuffer kann man fast alle directfb Programme so sehen. Manchmal hat man aber auch nur einen Mauszeiger den man bewegen kann.


    Es sollte aber kein Problem sein das ganze im Applications Container zum laufen zubringen.


    Obwohl ja das ganze ohne e2 im Hintergrund doch ca 30% schneller ist und mehr Sinn macht.


    gruß pclin


    ps.
    Bitte Probiert doch mal df_texture auf einer 7020HD und Postet das Ergebnis.