DirectFB bzw. XdirectFB - kompilieren, einrichten, nutzen .. ?

  • Hallo zusammen!


    Ich hätte da mal ein/ zwei Problemchen ...


    Problemchen No. 1


    Auf meinem VDR habe ich nebendran noch andere Soft laufen, die zur Ausgabe die Graka (Framebuffer) nutzt ... z.B. auf Basis von SDL mit fbcon ...


    Nun hört/liest man ja viel über directfb ... allerdings finde ich im Netzt keine verständliche Anleitung, HowTo, Tut ...


    Frage also:
    Wo finde ich da Infos zu (System ist Debian)? Oder hat das wer am Laufen am tun und kann mir Tipps geben?


    Muß ich directfb für meine Graka (SiS Onboard meines Hermes) übersetzen oder lüppt das auch schon beschleunigt mit Vesa?


    Oder kann ich einem Programm, welches SDL nutzt, beim kompilieren schon "beschleunigte" directfb-SDL libs unterschieben?


    Soweit, daß ich die directfb-Pakete installiert habe und den SDL_VIDEODRIVER auf directfb umbiege bin ich ja ... wars das etwa schon? Und wieso soll das schon was beschleunigen? Oder beschleunigt da nix?


    Wieso kann ich directfb nur als root nutzen? Bzw. wie richte ich es für einen User ein?



    Problemchen No. 2:


    Ich würde gerne meine Playstation 1 Spiele auf dem VDR zocken (z.B. mittels epsxe) ...


    Nun gibts aber partout keinen PSone-Emu, der sich zur Wiedergabe mit nem Framebuffer überreden läßt ... und X zu installieren möchte ich nicht (oder möchte ichs doch?)


    Auch hier stellt directfb ja mittels XDirectFB einen X-Server auf Basis des Framebuffers bereit (richtig?).


    Aber ... wie installiere ich den? Auch hier wieder die Frage nach HowTos, Anleitungen oder Tuts ...


    Gibts evtl. ein fertiges Debian Packet (ala xserver-xdirectfb) oder hat jemand ein Deb für Sarge, welches er mir zur Verfügung stellen kann (z.B. mittels "checkinstall -D" erstellt)?


    Lohnt der Aufwand oder ist es sinniger, schlanker, besser oder was auch immer einen "normalen" xserver zu nutzen (ohne Desktop)? Und wie würde ich das anstellen? (Einfach "xserver-xfree86" installieren und z.B. epsxe mittels "startx" in Leben rufen?)


    Fragen über Fragen ... freue mich über wirklich _jede_ Antwort, da ich den Eindruck habe, das directfb sehr mächtig, aber mächtig schlecht dokumentiert ist ...


    Thx und LG
    Roman

    Wohnzimmer (Client 1): C't Vdr (Sarge), 2.6.15-sl, 1.4.0-2, TT-1.5 FF, Hermes 651, 40 GB, 2Ghz Celeron, 512MB, PSOne TFT
    Server: C't VDR (Sid), 2.6.15-1-k7, 1.4.1-1, TT-1.6 FF, XP-2000+, 500GB, 512MB
    Schlafzimmer (Client 2): MediaMVP
    MediaMVP, Bose S 100, 400er Oldischlepptopp für den Garten

  • Naja , ich habe jetzt keine Lust alle Fragen einzeln zu beantworten aber:


    Du brauchst erstmal mal ne gute Graka , welche DirectFB unterstuetzt.
    Vesa haut wohl nicht hin. Empfehlung MGA400 DH


    Dann musst du DirectFB mit SDL- und SDL mit DirectFB-Unterstuetzung
    fuer die Graka kompilieren.
    ./configure --help sagt dir immer wie,wo,was,weshalb,warum,darum


    XDirectFB stellt dir nen eigenen Xserver .


    Wenn du in deiner Env SDL_VIDEODRIVER=directfb hast , dann
    nutzen gleichzeitig alle SDL Anwendungen DirectFB. Fuer manche
    braucht es nen Patch , manche laufen (noch) garnet.........


    Nativ unterstuetzen wenige Programme DirectFB , sondern ueber
    SDL. Jedenfalls die Daddelteile ;)


    Eigentlich alles ziemlich easy. Interessant wird es erst , wenn du
    es ueber nen TV-out ausgeben moechtest und zwar ein perfektes Bild.
    D.H. ohne Trauerraender , etc.


    Beste Anlaufstelle ist directfb.org und die Mailingliste bzw. die Sourcen.


    Kann dir ja einen Teil meiner Bookmarks posten, sind aber eher fuer ne Matrox:
    http://212.227.36.85/mailingli…004/10-2004/msg00014.html
    http://mythtv.org/pipermail/my…2003-December/017132.html
    http://www.tldp.org/HOWTO/Framebuffer-HOWTO-14.html
    http://68.44.117.181
    ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/
    http://www.schaefer.dhcp.biz/matrox.htm
    http://asuaf.org/~dboyer/avga_w_linux/
    http://asuaf.org/~dboyer/avga_w_linux/XF86Config
    http://denver.sociol.unimi.it/~yuri/dfb4u.html
    http://www.sci.fi/~syrjala/directfb/vo_dfbmga_update.patch
    http://forums.matroxusers.com/showthread.php?s=b5f5c49f23b70a4f22b22a0bcf9168ba&threadid=48905
    http://www.matroxusers.com/mreviews.php?op=showcontent&id=9&page=5
    http://www.ethics-gradient.net/myth/mythdvb2.html
    http://www.rockhopper.dk/linux…re/workstation.html#chap3
    http://sdldoc.csn.ul.ie/sdlsetvideomode.php
    http://sourceforge.net/mailarchive/forum.php?thread_id=4769845&forum_id=2357
    http://freevo.webalias.com/
    http://freevo.webalias.com/PATCHES/xmame-dfbmga-SDL.patch
    http://www.netnode.de/howto/matrox-fb.html

  • Suppi ... das hilft doch schonmal ... Big Thx!


    Gibts irgendwo ne Hardwareliste für supported Grakas?


    Werde wohl nochmal genauer schauen ... ne zusätzliche Karte paßt nimmer :(


    LG
    Roman

    Wohnzimmer (Client 1): C't Vdr (Sarge), 2.6.15-sl, 1.4.0-2, TT-1.5 FF, Hermes 651, 40 GB, 2Ghz Celeron, 512MB, PSOne TFT
    Server: C't VDR (Sid), 2.6.15-1-k7, 1.4.1-1, TT-1.6 FF, XP-2000+, 500GB, 512MB
    Schlafzimmer (Client 2): MediaMVP
    MediaMVP, Bose S 100, 400er Oldischlepptopp für den Garten

  • Hallo,


    ich bezweifle ganz ehrlich, dass sich in Deiner Situation der (geringe) Aufwand lohnt, DirectFB zu installieren. DirectFB unterstützt nur wenige Grafikkarten wirklich gut. und selbst bei denen ist X oft genausoschnell. Die SIS werden zwar nach der Übersicht von DirectFB unterstützt, aber wohl nur die Grundfuktionen. Der X-Treiber sollte ausgereifter sein, auch wenn da wichtige Teile fehlen.
    Der einzige Vorteil von DirectFB wäre der geringere Speicherbedarf.


    Du kannst zum Beispiel zusätzlich zum X-Server noch GDM installieren und dass dann so konfigurieren, dass ein Benutzer automatisch eingelogt wird (Achtung: Sicherheitslücke, niemals root nehmen). Wenn Du vorher die Systemvariable DISPLAY setzt

    Code
    export DISPLAY=:0

    , kann dann der angemeldete Benutzer per Konsole oder aus Scripten heraus, jedes beliebige X-Programm starten.


    Grüße,
    EddieT

    PIII-866, 512 MB Ram, Avermedia 761 DVB-T, PVR150MCE, Debian unstable, vdr 1.3.38, Xine über Xorg auf GF2MX

  • Also wäre der für mich geschickteste Weg folgender?


    SDL-App.:
    Entweder vesafb oder (vielleicht besser?) sisfb (von Winischhofer) und dann directfb für SiS kompiliert. Mittels

    Code
    export SDL_VIDEODRIVER=directfb

    dann SDL dazu bringen auf directfb aufzusetzen.
    Das wäre für die Situation optimal?
    Was vergessen?


    X-App.:
    Hier verstehe ich euch richtig, daß XDirectFB wohl nicht so den Geschwindigkeitsvorteil hat, jedoch mit zusätzlichen Features aufwartet (v.a. wohl Transparenz?) und wesentlich schlanker daher kommt ...!?
    Für meinen speziellen Fall - z.B. epsxe als Emu - dürfte ich aber die Features von XDirectFB nicht brauchen, hätte aber ein schlankes X - mit dem Aufwand des kompilierens (XdirectFB-Src + Xfree/Xorg-Src etc.)?
    Würde ich dagegen auf xfree86 als xserver zurückgreifen, hätte ich es einfacher, genauso schnell, aber nicht so schlank ... und brauche (auf jeden Fall - ohne geht nicht?) gdm?


    Ist das so in etwa richtig zusammengefaßt?


    Was würde denn jemand machen, der schonmal mit directfb/XDirectFB gearbeitet hat?


    LG
    Roman

    Wohnzimmer (Client 1): C't Vdr (Sarge), 2.6.15-sl, 1.4.0-2, TT-1.5 FF, Hermes 651, 40 GB, 2Ghz Celeron, 512MB, PSOne TFT
    Server: C't VDR (Sid), 2.6.15-1-k7, 1.4.1-1, TT-1.6 FF, XP-2000+, 500GB, 512MB
    Schlafzimmer (Client 2): MediaMVP
    MediaMVP, Bose S 100, 400er Oldischlepptopp für den Garten

  • Hallo,


    Die Frage bleibt, ob es bei Dir unbedingt DirectFB sein muss, über das SDL ausgiebt. Wenn Du auf jeden Fall X für einen der Emulatoren brauchst, können die anderen doch auch die SDL-X-Schnittstelle nutzen. DirectFB wäre nach meiner Meinung vielleicht noch sinnvoll, wenn Du eine Karte benutzen würdest, die von DirectFB sehr gut unterstützt wird. Die G-Serie von Matrox (besonders die Karten G400, G450 und G550)ist das Paradebeispiel, ATI-Karten sollen wohl auch noch ganz gut sein, genauso wie die neuere Via. Bei der eingebauten SIS-Grafik werden wohl nur Grundfunktionen unterstützt, da dürfte die Ausgabe über X nicht langsamer sein.
    Wenn Du trotzdem DirectFB einsetzen möchtest, würde ich den sisfb-Treiber aus dem Kernel nehmen. Der Vesa-Treiber geht zwar auch, aber dann man man z.B. die Auflösung nicht verändern. Kompilieren musst Du DirectFB wohl nicht, es gibt fertige Pakete in den Debian-Repositories, die auch den Code für die SIS-Karten enthalten.


    Ob nun der Treiber XdirectFB schlank ist oder nicht, macht bei dem Monster X-Server nicht mehr viel aus. Selbst Transparenz ist kein Alleinstellungsmerkmal mehr, der Server von X.org kann das mit jeder Grafikkarte. Der Treiber macht Sinn bei Karten mit sehr guter Unterstutzung unter directfb, aber einem schlechten Treiber unter X. Die Radeons waren lange so ein Beispiel, die Situation soll sich aber etwas gebessert haben.


    Generell ist es kein Problem, den Framebuffertreiber und den X-Treiber gleichzeitig laufen zu lassen. Eine Ausnahme ist der Closed-Source-Treiber von NVidia. Ich würde mir die Arbeit, X neu zu kompilieren, nur um XdirectFB zu haben, sparen und den X-Treiber "sis" einsetzen.


    Um X zu starten, gibt es mehrere Möglichkeiten. GDM ist wohl die einfachste, allerdings musst Du relativ viele Pakete installieren. Wenn eh nur ein Benutzer die Oberfläche nutzen soll, kann man auch in der Datei /etc/inittab ein Skript eintragen, dass beim Start ausgeführt wird. Dieses Skript enthält dann so etwas wie

    Code
    su <benutzer> -c startx

    startet also für den Benutzer <benutzer> die Oberfläche. Genaueres kann ich auf Wunsch mal nachsehen, im Moment habe ich kein Zugriff auf den VDR-Rechner.


    Hoffe etwas geholfen zu haben,
    EddieT

    PIII-866, 512 MB Ram, Avermedia 761 DVB-T, PVR150MCE, Debian unstable, vdr 1.3.38, Xine über Xorg auf GF2MX

  • Lieben Dank für die umfangreiche Antwort!!


    Ich werde mir das nochmal zu Gemüte führen ...


    Mein Ziel ist zum einen das SDL Proggi über FB etwas zu beschleunigen und zum anderen eben die X-Ausgabe für epsxe ...


    Ich werde mal nochmal experimentieren ... komme aber erst am WE dazu ...


    Melde mich aber wieder :)


    LG
    Roman

    Wohnzimmer (Client 1): C't Vdr (Sarge), 2.6.15-sl, 1.4.0-2, TT-1.5 FF, Hermes 651, 40 GB, 2Ghz Celeron, 512MB, PSOne TFT
    Server: C't VDR (Sid), 2.6.15-1-k7, 1.4.1-1, TT-1.6 FF, XP-2000+, 500GB, 512MB
    Schlafzimmer (Client 2): MediaMVP
    MediaMVP, Bose S 100, 400er Oldischlepptopp für den Garten

  • Hat jemand es schon hinbekommen, epsxe zur Ausgabe über directfb zu bewegen? Das SDL-Plugin funktioniert nicht mit epsxe und das SoftX-Plugin verwendet kein SDL. Oder geht das ganze nur über XDirectFB?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!