Beiträge von Sevo

    Tach,


    Hatte das gleiche Problem, als ich meinen Server auf 12.04 aktualisiert hab und kam auch erstmal nicht weiter. Da mir die Umstellung auf 64 Bit "nur" wegen Vomp zu umständlich war, habe ich etwas herumprobiert.


    Das Problem ist, dass die Flags für 64 Bit Dateisysteme (Largfile) im Makefile nicht zum Tragen kommen. Es steht zwar drin:

    Code
    DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE


    wird aber nicht angewendet. Leider sind meine Makefile Kenntnisse nicht überragend, deshalb hilft der folgende Patch (sehr dirty!):


    Diff
    --- vdr-plugin-vompserver-0.3.1.3.orig/Makefile
    +++ vdr-plugin-vompserver-0.3.1.3/Makefile
    @@ -65,7 +65,7 @@ OBJS2 = recplayer.o mvpreceiver.o
     ### Implicit rules:
     
     %.o: %.c
    -	$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $<
    +	$(CXX) $(CXXFLAGS) -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE $(DEFINES) $(INCLUDES) -o $@ $<
     
     # Dependencies:


    Wie man sieht, steht in der Zeile schon $(DEFINES), die auch vorher richtig zugewiesen wird, funzt aber nicht.


    Einfach nach Lars Anleitung Quellen herunterladen, vor dem dpkg-buildpackage Schritt den Patch anwenden und mit dpkg-source --commit registrieren. Danach Paket bauen.


    Wär vielleicht schön, wenn sich das ein Maintainer angucken und im Paket fixen könnte.


    Grüße!

    Hi Leute, ich wollte nicht wieder mit der alten Story anfangen, sorry :( Ich will selber endlich einen neue Version sehen, aber die Zeit ist gegen mich :( Ich werde auf jeden Fall weiterarbeiten, aber das kann sich noch hinziehen. Ich habe zwar immer wieder etwas Zeit, aber danach wieder nicht und dann vergesse ich alles was ich gemacht habe und muss mich imer wieder vom Neuen einarbeiten.
    Ich verspreche aber, dass es eine neue Version geben wird, nicht diesen Monat, aber es wird 100%ig eine neue und aktuelle mit neuen Funktionen geben! Zum Teil laufen die Sachen ja schon bei mir, ist aber alles nicht Benutzertauglich.


    Bis dahin,
    Gruß,
    Sevo

    Zitat

    Original von LarsAC
    Im Prinzip ist es ein ablaufen der OSD-Elemente bis man dasjenige gefunden hat, was die Koordinaten des Events einschliesst.

    So habe ich mir das jetzt auch gedacht.


    Zitat

    Aufwändiger wäre vermutlich, dass man einem VDR-Skin dann auch mitteilen muss, was beim jeweiligen Event auf ein Objekt passieren soll.

    Da könnte man vielleicht FB Events auslösen (Taste hoch, runter, Enter,...)


    Zitat

    Der interessante Nebeneffekt dieser Sache wäre u.U. dass man bei einer Darstellung via X auch direkt mit der Maus im OSD rumklicken könnte :)


    Ja, man könnte das auch um Mausevents erweitern (neben Touchscreen).


    Zitat

    Bzgl. C: Bildung hat noch keinem geschadet :D

    Naja, ich bin momentan C# verseucht, da ich eine Programmierübung an der Uni betreue und der Prof meint, dass Maschinenbauer auf dem "aktuellsten" Stand der Technik sein sollten. Naja, ich kann nichts versprechen, muss mir mal den Quellcode von GraphTFT mal genauer anschauen. Vielleicht geht ja ein Lämpchen an.


    Gruß,
    Sevo

    Wie funktioniert das denn? TouchFTF läuft auch ohne GraphTFT und erzeugt lediglich Events? Ich würde mich sehr gerne anbieten, aber das würde bei mir ziemlich lange dauern, da ich zum einen schon seit Jahren nichts mehr in C geschrieben habe (also erstmal wieder alles auffrischen müsste) und zum anderen, habe ich nicht sehr viel Zeit mich um ein eigenes Plugin zu kümmern. Ich komme ja schon kaum dazu meine Distri zu vollenden (Ja an ThinEisVDR wird noch aktiv gearbeitet :)).


    Gruß,
    Sevo

    Danke horchi!
    Es funzt mit GraphTFT 0.0.16!!! Cool! Einfach genial!


    Mir fällt aber jetzt ein was das Ganze noch toppen könnte. Bei GraphTFT macht das nicht wirklich Sinn, aber mit einem Touchscreen wäre eine Kopplung mit dem Softdevice Plugin genial! Also ein Live Bild auf dem Touchscreen. Ist aber bestimmt kompliziert :(


    Gruß,
    Sevo

    Hi Zusammen!
    Ich habe ein Problem mit einem eGalax TFT hier

    Code
    I: Bus=0003 Vendor=0eef Product=0001 Version=0100
    N: Name="eGalax Inc. USB TouchController"


    TouchTFT: 0.0.3
    GraphTFT: 0.0.16
    VDR: 1.4.4


    Und zwar passiert weder während des Kalibrierens noch danach irgendwas. Da ich mir sicher war, dass ich das richtige Device eingestellt habe und das touchkitusb Modul geladen habe, habe ich das Plugin etwas gesprächiger gemacht (Bei mir werden keine Koordinaten angezeigt, wie in anderen Threads beschrieben :?). [...]
    Bin für jede Hilfe Dankbar!


    EDIT: Hat sich erledigt, Das funktioniert nicht mit GraphTFT 0.0.16! Mit 0.0.15 läuft das super!



    Gruß,
    Sevo

    Hi,


    @ TomSoniq
    Alles klar. Jetzt verstehe ich mehr :)
    Was die Bildqualität angeht, habe ich es noch nicht mitm Fernseher ausprobiert (ging bei mir ja auch nicht wirklich), aber am TFT (19'' Vollbild) ist die Quali sehr gut. Leider habe ich kein Panel um die VGA Ausgabe auf was Grösserem (so 40'') zu testen.


    @ stl
    Jo das wirds sein. Habe mit --disable-fb kompiliert. Danke für die Aufklärung :)
    Mal ne Frage am Rande: Hat sich was im DirectFB CVS seit einigen Tagen getan? Habe vorhin DirectFB und Softdevice geupdatet und die CPU Last ist jetzt um weitere (ca.) 5% gefallen :)


    So wirklich lohnen tut sich die Nachbearbeitung aufm CN700er nicht. Die Qualiverbesserung wird kaum sichtbar (ich sehe da überhaupt keinen Unterschied) und die CPU Last steigt um bis zu 40%. Habe allerdings nich alle Modi getestet.


    Gruß,
    Sevo

    Hi zusammen,
    Irgendwas scheint sich in Softdevice wieder verändert zu haben, Wenn ich die CVS Version von Heute (26.01.07) verwende, klappts zwar mit dem Patch von stl, aber die CPU Last liegt bei 80% !?!? Wenn ich die CVS Version von vor 3-4 Tagen nehme, läufts aber noch mit Beschleunigung (50-60%)! Was ist denn da passiert?


    Nachtrag:
    Liegt scheinbar daran, dass die Nachbearbeitungsmethode "FB-Intern" nicht mehr verfügbar ist und Softdevice automatisch auf "linblend" gewechselt hat. An dieser Stelle mal ne ganz dumme Frage:


    Was tut die Nachbearbeitungsmethode und wie unterscheiden sich die einzelnen Einstellungen? Konnte nämlich keine Unterschiede in der Bildqualität erkennen :(


    Gruß,
    Sevo

    Hi zusammen,
    Mein VDR mit Softdevice legt ein merkwürdiges Verhalten an den Tag, wenn ich diesen über ein Script starte.


    Starten direkt aus der lokalen Konsole, openvt oder über SSH funktioniert problemlos mit:

    Code
    vdr -P"softdevice -ao alsa:pcm=default#ac3=plug:spdif# -vo dfb:cle266:viatv" >>//var/log/vdr 2>> /var/log/vdr


    Ich bekomme sofort ein Bild und kann meinen VDR über die Tastatur steuern.


    Sobald ich diesen Befehl aber von diesem Script aus starte:

    Bash
    #!/bin/sh
    vdr -P"softdevice -ao alsa:pcm=default#ac3=plug:spdif# -vo dfb:cle266:viatv" >>//var/log/vdr 2>> /var/log/vdr


    hängt sich VDR ohne Fehlermeldungen auf. Das steht dann im Log (VDR Ausgabe):


    Sieht genauso aus wie wenn VDR normal startet, also nix auffälliges.


    Und das kommt vom Syslog:

    Danach kann ich VDR nur noch mit "killall -9 vdr" wieder beenden. Dabei ists auch ega, ob ich das Script lokal, über SSH, openvt oder screen starte.


    Hat vielleicht jemand eine Idee was hier schief läuft? Würd mich über jede Hilfe freuen!


    Versionen
    System: LFS, 2.6.19.1, GCC 4.1.1
    DirectFB: 1.0.0-rc3 (CVS 18.01.07) + Patch von hier
    DFB++: CVS 18.01.07
    VDR: 1.4.4
    Softdevice: CVS 23.01.07 + Patch von hier

    Hi,


    Zitat

    Mit vdr-fbfe bekomme ich auch auf der Console das Bild mit OSD.
    Also alles bestens.
    Allerdings ohne Hardwarebeschleunigung (CPU ca. 90%) und kein directfb, sondern nur über FB.


    Das Problem mit Xine (und deshalb mit vdr-fbfe) ist, dass Xine für cle266 das zum libcle266mpegdec dazugehörige Plugin von http://sourceforge.net/project/showfiles.php?group_id=176530&package_id=203189 benötigt. Bei mir will es aber partout nicht funktionieren. Außerdem sollte xine-lib mit --enable-directfb kompiliert worden sein.



    Zitat


    [...]
    Softdevice:
    Interessanterweise kennt das plugin den Parameter den Parameter "-vo dfb:cle266", es geht nur "-vo dfb:viatv" oder "-vo fb:".


    Muß man das mit rein compilieren ?


    Das wird es sein. Du musst Softdevice mit --enable-dfb und --enable-cle266 kompilieren. Die Configure Ausgabe sollte dann sowas enthalten:

    Code
    Checking for DirectFB and DFB++... Enabled video-dfb.
    Checking for libcle266mpegdec ... Enabled cle266 hardware decoding.


    Und am besten direkt die aktuelle CVS Version des Plugins nehmen.


    Zitat


    Mit vdr-sxfe und den Openchrome Treibern funktioniert die Hardwarebeschleunigung (CPU 20% von CPU 75-80%).


    Kannst du auch HDTV damit ausgeben? Würd mich echt interessieren ob das mit X und den Openchrome Treibern funktioniert.


    Gruß,
    Sevo

    Zitat

    Original von TomSoniq
    Die Auflösung biegt der VDR über DirectFB später selber sowieso auf die 720x576 aus der directfbrc um, egal, was man vorher mit fbset eingestellt hat.


    Schon, aber macht er das nicht anhand der /etc/fb.modes ? Im fb.modes von Viafb ist die PAL Auflösung nicht drin. Da gibts nur

    Code
    mode "720x576-60"
        # D: 32.668 MHz, H: 35.820 kHz, V: 60.00 Hz
        geometry 720 576 720 576 32
        timings 30611 96 24 17 1 72 3
    endmode

    Kannst du mal probieren, ob sich was ändert/verbessert wenn man fb.modes um die korrekten Timings erweitert?


    mwa
    Ich treibe immer noch hier mein Unwesen :) Danke für den Tip mit ffmpeg, werds gleich hinzuschreiben.


    Gruß,
    Sevo

    Aha,
    Hhhm,
    Also fbset sagt bei dir 640x480-60, obwohl du refresh=50 eingibst. Hast du es mal mit 720x576-50 probiert? Ich weiss nicht wieso aber Softdevice will bei mir immer auf 720x576 umstellen. NTSC hat ja weniger (du benutzt ja tv_system=1) oder?.
    Versuch mal

    Code
    modprobe viafb accel=1 active_dev=TV CRT_ON=0 TV_ON=1 refresh=50 tv_system=2 tv_level=2 tv_out_signal=2 mode=720x576
    und directfbrc: mode=720x576


    oder

    Code
    modprobe viafb accel=1 active_dev=TV CRT_ON=0 TV_ON=1 refresh=50 tv_system=1 tv_level=2 tv_out_signal=2 mode=640x480
    und directfbrc: mode=640x480


    Ich blick bei den Formaten und den dazugehörigen Einstellungen leider nicht so ganz durch. Wär nicht schlecht, wenn wir optimale Einstellungen für NTSC und PAL finden würden.


    Gruß,
    Sevo

    Hi,

    Zitat

    Original von TomSoniq
    Ich bekomme sogar TV UND OSD sowohl im reinen TV-Out Modus als auch im reinen VGA-Modus.


    Geil! Wie jetzt? Du hast ein Bild auf dem Fernseher? Welche Einstellungen verwendest du beim Laden des viafb Moduls? Was sagt "fbset -i"? Wie hoch ist die CPU Last?


    Zitat

    Was allerdings jetzt neu ist sind folgende Fehlermeldungen:


    Code
    #./vdr -P"softdevice -ao alsa:mixer -vo dfb:cle266:viatv"
    [...]
    unimplemented: seek offset 16384 whence 0
    unimplemented: seek offset 32768 whence 0
    unimplemented: seek offset 93388 whence 0
    unimplemented: seek offset 159610 whence 0
    unimplemented: seek offset 222644 whence 0
    unimplemented: seek offset 288527 whence 0
    unimplemented: seek offset 360021 whence 0
    unimplemented: seek offset 416785 whence 0


    Und dabei ruckelt das Bild regelmäßig -- scheint mit 25 Hz 'rauszukommen statt mit 50 Hz.


    HHm, dazu fällt mir leider nix ein :(


    Gruß,
    Sevo

    Hi,
    Wegen des Problems mit der Konsolenausgabe habe ich etwas mit der [no-]vt Option von DirectFB rumgespielt. Die Funktion wäre eigentlich perfekt für mich, da man dann so nicht ohne weiteres die Konsole umschalten kann. Das Problem was ich aber jetzt habe ist ziemlich merkwürdeig:


    Wenn ich VDR mit

    Code
    vdr -P"softdevice -ao alsa:pcm=default#ac3=plug:spdif# -vo dfb:cle266:viatv"

    starte, läuft alles wunderbar. Ich habe das "keyboard" Modul installiert und kann die Tastatur im Virtuellen DFB Terminal problemlos als softdevice-dfb in VDR anlernen.


    Sobald ich aber VDR aus einem Script mit dem Inhalt

    Bash
    #!/bin/sh
    vdr -P"softdevice -ao alsa:pcm=default#ac3=plug:spdif# -vo dfb:cle266:viatv"

    starte, stürzt VDR mit folgender Meldung ab:


    Ich dachte zuerst an einen Bug in der aktuellen CVS Version, weshalb ich mehrere Kombinationen probiert habe (DirectFB CVS, DirectFB 1.0.0-rc2, Softdevice CVS, Softdevice 3.1). Scheint also ein grundlegenderes Problem zu sein.


    Freue mich über jede Hilfe :)


    Gruß,
    Sevo

    Hallo zusammen!


    Nachdem ich mit Hilfe von Stefan Lucke (alisas stl) und Mark Adams (DirectFB ML) auch die Bildausgabe über einen CN700er Chipsatz von VIA mittels Softdevice und DirectFB geniessen kann, möchte ich die Ergebnisse hier als Howto zusammenfassen.


    Das Howto basiert auf den bereits bekannten CLE266 Howtos von hier oder hier. Dank an dieser Stelle auch an die Verfasser dieser Howtos, da mir diese als Grundlage dienten.




    Update 27.01.2007: Der Patch softdevice-dfb-CN700-01.diff ist im CVS drin und wird nicht mehr benötigt. Danke an Stefan Lucke!


    Update 29.01.2007: TV Unterstützung und PAL Mode aktualisiert.



    Einleitung:
    Da der CN700er Chipsatz von VIA keinen echten CLE266 Beschleuniger hat und nicht zu diesem kompatibel ist, muss dieser gesondert behandelt werden. Durch die Inkompatibilität wird leider auch die integrierte MPEG2 Beschleunigung nicht unterstützt.


    Weitere Infors zum Chipsatz gibt es bei VIA: http://www.via.com.tw/en/products/chipsets/c-series/cn700/


    Aktueller Entwicklungsstand (29.01.2007):
    MPEG2: nein
    HDTV: nein
    TV Out: Ja
    Pixelformat: NUR YUY2
    CPU Auslastung: C7@1200 - 50-60%


    Verwendete Software
    Alle benötigten Patches befinden sich im Anhang (Attachment) zu diesem Howto


    System: LFS
    Kernel: 2.6.19.1
    GCC: 4.1.1
    VDR: 1.4.4
    Softdevice: CVS =>27.01.2007
    DirectFB Version: 1.0.0-rc2 (oder CVS 20.01.2007) + DirectFB-unichrome-v3-cn700.diff (von Mark Adams)
    Framebuffer: VIATV von VIA (FBDev-2.6.00.02a)




    HOWTO (Stand 29.01.2007):


    Framebuffer Treiber: Viafb
    Der CN700 wird nur richtig vom VIA Originaltreiber unterstützt. Sämtliche Framebuffer Treiber (vesafb, vesafb-tng, viafb,...) sollten also im Kernel deaktiviert werden (bzw. Module dürfen nicht geladen sein).


    Anmerkung: Der Treiber von http://davesdomain.org.uk/viafb/ könnte eventuell auch funktionieren, was ich jedoch nicht richtig getestet habe. TVOut wird von diesem Treiber (noch) nicht unterstützt, was aber nicht so schlimm ist, da der DirectFB Treiber das mit diesem Chip auch nicht kann.


    Für Kernel =>2.6.18 sollte zusätzlich der Patch Linux-2.6.18-FBDev-2.6.00.02a.patch angewandt werden. Quelle: http://forums.viaarena.com/messageview.aspx?catid=28&threadid=70726&messageid=479718


    Der Quellcode kann unter http://www.viaarena.com/default.aspx?PageID=420&OSID=25&CatID=2580&SubCatID=158 (Direktlink) heruntergeladen werden.


    Bevor man loslegt, muss man die Kernel-Sourcen installieren. Diese sollten unter /usr/src/linux liegen.


    WICHTIG: Im BIOS sollte man "Direct Framebuffer" aktivieren, falls vorhanden.


    Folgendes in der Konsole eingeben, wenn alles bereit ist:

    Code
    cd /usr/src
    wget http://www.viaarena.com/Driver/linux-fbdev-kernel-src_2.6.00.02a.tgz
    tar -xzf linux-fbdev-kernel-src_2.6.00.02a.tgz
    cd Linux-FBDev-kernel-src_2.6.00.02a


    Nur für Kernel 2.6.18 und neuer:

    Code
    wget http://vdr-portal.de/board/attachment.php?attachmentid=13498 -O ../Linux-2.6.18-FBDev-2.6.00.02a.diff
    patch -p1 < ../Linux-2.6.18-FBDev-2.6.00.02a.diff


    Nun muss man die Beschleunigung reparieren:

    Code
    cp accel.h accel.h.bak
    sed -e 's:#define FB_ACCEL_VIA_UNICHROME  50:#define FB_ACCEL_VIA_UNICHROME  77:' accel.h.bak > accel.h

    und anschliessend kompilieren mit:

    Code
    make && make install
    cp /etc/fb.modes /etc/fb.modes.bak
    cp ./viafb.modes /etc/fb.modes


    Nun kann man das Modul laden.

    Code
    modprobe viafb accel=1 refresh=60 bpp=32 mode=800x600

    Ich verwende mode=800x600, da mein TFT kein 720x576 mit dem Treiber kann.


    oder mit TV-Out:

    Code
    modprobe viafb accel=1 active_dev=TV CRT_ON=0 TV_ON=1 refresh=50 tv_system=2 tv_level=2 tv_out_signal=16 mode=720x576

    Weitere Infos zu den Parametern kann man der readme.txt entnehmen. Man kann auch mit entsprechenden Optionen, Monitor und TV gleichzeitig aktivieren, aber dabei wird die Bildausgabe nur auf dem ersten Gerät (active_dev=X) angezeigt.


    Wenn man die PAL Ausgabe über fbset aktivieren möchte, muss man zuerst die richtigen Timings in der /etc/fb.modes ergänzen:

    Code
    cat <<EOF >>/etc/fb.modes
    mode "720x576-50"
        geometry 720 576 720 576 32
        timings 74074 68 12 39 5 64 5
        bcast true
        laced true
    endmode
    EOF

    und dann mit "fbset 720x576-50" aktivieren.



    "fbset -i" sollte jetzt folgendes liefern:


    libcle266mpegdec:
    Obwohl die MPEG2 Beschleunigung nicht verwendet wird, muss man diese Lib installieren, da Softdevice sonst den gesamnten CLE266 Code nicht verwendet.


    Die aktuelle Version findet man hier: http://sourceforge.net/project/showfiles.php?group_id=176530&package_id=203064


    Code
    cd /usr/src
    wget http://mesh.dl.sourceforge.net/sourceforge/cle266mpegdec/libcle266mpegdec-0.5.tar.gz
    tar xvf libcle266mpegdec-0.5.tar.gz
    cd libcle266mpegdec-0.5
    ./configure --prefix=/usr
    make
    make install
    cd ..


    FFmpeg:
    Viele Distributionen bringen FFMPEG als Paket mit, was eigentlich reichen sollte. Wenn man sich für das Distributionspaket entscheidet, sollte man das ffmpeg-dev Paket (header) auch installieren. Ansonsten selber kompilieren:


    Code
    svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
    cd ffmpeg/
    ./configure --prefix=/usr --disable-ffserver --disable-ffplay --disable-bktr --disable-ipv6 \
    --enable-shared \
    --enable-gpl --enable-pp --disable-debug --disable-altivec \
    --disable-audio-oss --disable-v4l \
    --disable-dv1394 --disable-network
    make && make install && make install-libs && make install-headers
    cd ..


    DirectFB:
    Momentan wird der Chipsatz von DirectFB nicht richtig unterstützt. Deshalb muss man die aktuelle Version patchen. Der Patch stammt von Mark Adams und ist hier zu finden: http://mail.directfb.org/piper…ers/2006-July/002037.html
    Ich habe diesen Patch an die aktuelle Version von DirectFB angepasst und als Attachment (DirectFB-unichrome-v3-cn700.diff) drangehangen.


    Achtung: Der Patch verändert den Treiber, statt diesen zu erweitern! Der Betrieb mit anderen Unichrome Chipsätzden ist mit dem Patch nicht möglich!


    Zuerst muss man die Sourcen besorgen. Entweder man nimmt die aktuelle Version (1.0.0-rc2):

    Code
    wget http://www.directfb.org/downloads/Core/DirectFB-1.0.0-rc2.tar.gz


    Oder eine noch aktuellere von CVS:

    Code
    cvs -d:pserver:anonymous@cvs.directfb.org:/cvs/directfb -z3 co -P DirectFB

    Es kann passieren, dass sich was am Quellcode des unichrome Treibers ändert und der Patch sich nicht mehr anwenden lässt. Wenn die Änderung nicht die Unterstützung des CN700er ist (;) was den Patch überflüssig machen würde), dann muss man den Patch anpassen oder eine ältere CVS Version nehmen. Der aktuelle Patch funktioniert mit der Version vom 23.01.2007:

    Code
    cvs -d:pserver:anonymous@cvs.directfb.org:/cvs/directfb -z3 co -D "2007-01-23" -P DirectFB


    Patchen:

    Code
    wget http://vdr-portal.de/board/attachment.php?attachmentid=13505 -O DirectFB-unichrome-v3-cn700.diff
    cd DirectFB/gfxdrivers/unichrome/
    patch -p1 < ../../../DirectFB-unichrome-v3-cn700.diff
    cd ../../..

    Danach muss man DirectFB kompilieren und installieren:

    Code
    cd DirectFB/
    ./autogen.sh
    ./configure --prefix=/usr --disable-video4linux --disable-x11 --disable-vnc --disable-sdl \
    --disable-sse \
    --with-gfxdrivers=cle266,unichrome --with-inputdrivers=lirc
    make && make install
    cd ..


    DFB++:
    Hier kann man einfach die aktuelle CVS Version nehmen:

    Code
    cvs -d:pserver:anonymous@cvs.directfb.org:/cvs/directfb -z3 co -P DFB++
    cd DFB++/
    export PKG_CONFIG_PATH=/usr/lib/pkgconfig
    ./autogen.sh
    ./configure --prefix=/usr
    make && make install
    cd ..


    DirectFB konfigurieren:
    Nun muss man die Datei /etc/directfbrc erzeugen:

    Code
    cat <<EOF >/etc/directfbrc
    fbdev=/dev/fb0
    mode=720x576
    depth=32
    pixelformat=AiRGB
    unichrome-revision=17
    disable-module=cle266
    no-vt
    EOF


    Ich benutze mode=800x600, da mein Monitor die PAL Auflösung nicht unterstützt.
    unichrome-revision=17 ist wichtig, da sonst die Farben nicht richtig dargestellt werden. Falls das nicht hilft, kann man mit

    Code
    set `od -j246 -N1 -Ax -td1 /proc/bus/pci/00/00.0`; echo $2

    versuchen die eigene Revision auszulesen, oder den Eintrag ganz wegzulassen.


    Mit "dfbinfo" kann man nun die Konfiguration überprüfen. Folgendes gibt dfbinfo bei mir aus:


    VDR und Softdevice:
    Ab CVS Version vom 27.01.2007 erkennt Softdevice dank Stefan Lucke ob der Treiber sich mit "Layer (01) VIA Unichrome Video 3" (neu!) oder mit "Layer (01) VIA Unichrome Video" (alt!) meldet und schaltet bei dem gepatchten Treiber auf YUY2 ohne MPEG2 Decoder um. Für ältere Versionen wird der Patch softdevice-dfb-CN700-01.diff (Anhang) benötigt (siehe Originalthread: http://vdr-portal.de/board/thread.php?threadid=59750).


    Die Beschreibung der Installation von VDR lasse ich weg. Ich gehe davon aus, dass man die VDR Sourcen nach /usr/src/VDR entpackt und VDR kompiliert und installiert hat.


    Code
    cd /usr/src/VDR/PLUGINS/src
    cvs -d:pserver:anonymous@cvs.softdevice.berlios.de:/cvsroot/softdevice co softdevice
    cd softdevice

    Update 26.01.07: Weiter im Thread wurde von Fehlermeldungen wie
    "unimplemented: seek offset 159610 whence 0"
    berichtet, was auf eine Änderung in der aktuellen SVN Version von FFmpeg zurückzuführen ist. Wenn diese Fehlermeldungen auftreten, muss folgender Patch angewandt werden:

    Code
    wget -O ffmpeg-streaming.diff http://vdr-portal.de/board/attachment.php?attachmentid=13528
    patch -p1 < ffmpeg-streaming.diff

    Und dann weiter mit:

    Code
    ./configure --disable-vidix --disable-fb --disable-xv --disable-shm
    cd ../../..
    make plugins


    Nun das Plugin ggf. strippen und ins eigene VDR-Lib Verzeichnis kopieren.


    VDR starten:
    Nun kann man versuchen ein Bild auf den Monitor zu bekommen indem man Softdevice mit den richtigen Parametern startet:

    Code
    ./vdr -P"softdevice -vo dfb:cle266:viatv"

    Wenn alles geklappt hat, sieht man ein Bild auf dem Monitor oder Fernseher.



    Quellen:
    CLE266 Howtos: http://vdr-portal.de/board/thread.php?threadid=54876 und http://www.mellander.org/per/p…x/?chapter=epia-hw-cle266
    DirectFB ML: http://mail.directfb.org/piper…/2007-January/002511.html und http://mail.directfb.org/piper…ers/2006-July/002037.html
    Diskussion (Basis für dieses Howto): http://vdr-portal.de/board/thread.php?threadid=59750



    Besonderer Dank an Stefan Lucke (alisas stl) und Mark Adams für die Hilfe und die Anpassungen der Quellen, sowie an TomSoniq für das ausgiebige Testen und Berichten.


    Ich hoffe bald dieses Howto um neue Funktionen und Gegebenheiten anpassen zu können :)


    Gruß,
    Sevo