[ANNOUNCE] graphtft 0.2.1

  • Hallo Horchi,



    so bin etwas weiter gekommen.
    Ich weiß jetzt zumindest, daß ich zwei Probleme gleichzeitig hatte.
    Das "refresh-Problem", also die Tatsache, daß das display nach einiger Zeit nahezu schwarz wurde und anschließend nur noch Fragmente angezeit hat habe ich wohl gelöst.


    wie ?


    setterm -blank 0 -cursor off


    beim Start ausführen. Führt dazu, daß das Terminal sich nicht nach n-Minuten abschaltet. Offenbar schafft es nach graphTFT nach einer solchen Abschaltung nicht mehr das ganze Bild neu ru rendern ...


    Somit läuft DeepBlue jetzt super ;)


    Eigentlich würde auch avp funktionieren ... hier bleibt aber ein Problem:


    Starte ich mit Splash-Screen (noch der orginale Suse - also knallgrün) wird das Hintergrundbild von avp beim Start quasie durchlöchert angezeigt.
    Es sieht aus als ob einige Farben nicht dargestellt werden und an diesen Stellen er grüne Splash-Screen durchscheint (hoffe das ist verständlich beschrieben).


    Mein erster Verdacht war nun, daß es an der Farbtiefe des Framebuffers liegt. Bei mir wird der FB mit vga=0x317 (also 16bit) gestartet.
    Eigentlich sollte das für avp ja locker reichen ..oder ?


    Hab mal versucht mit vga=0X318 zu starten, leider wird dann jedoch der Splashscreen nicht mehr angezeigt ..warum ? ..keine Ahnung.


    Hat sonst noch jemand eine Idee für mich ?

  • Hallo,


    1) Horchi und allen die sonst am Plugin mitgewirkt haben meinen Glückwunsch und Dank zum prima Plugin - schaut wirklich gut aus!!


    2) Ich hab die Version 0.2.2 mit einem VDR 1.7.0 installiert und wollte nur Fragen ob das von machtnix beschiebene Problem nicht eigentlich mit den Änderungen in dspitems.c behoben sein sollte?
    Wenn ich das richtig gesehen habe sind die Änderungen in 0.2.2 bereits eingeflossen. Mein Problem ist jedoch, dass wenn eine Aufzeichnung läuft und dann eine andere abgespielt wird - man dann OK betätigt um den Fortschrittbalken im OSD zu sehen - bis zu 255 Dateien im Order dieser Aufzeichnung erzeugt werden. Kommentiere ich die Zeilen wie von machtnix beschrieben aus, scheint das Problem vorerst nicht mehr aufzutreten.

    VDR1: AMD Athlon X2 5050e ASUS M4N78PRO | Debian Squeeze 64Bit + Asus ENGT520 SILENT + vdr-2.0 | Tuner: 2 cinergy DVB-C, Nova-HD, DD cine S2 | Gehäuse: Thermaltake DH-102
    VDR2: AMD Athlon X2 5050e ASUS M4N78PRO | Debian Squeeze 64Bit + Asus ENGT520 SILENT + vdr-2.0 | Tuner: DD cine S2, Nova-HD


    S100: Zendeb 0.4.1beta VDR als streamdev-client

  • Hi,


    ist in der 0.2.3 behoben, die gibt es aber noch nicht ;)


    Bin da noch an ein paar fixes und Erweiterungen. Und data ist schon wieder am anpassen der Themes.


    Grüße
    horchi

  • Danke für die dspitems.c.


    Hab sie aber erstmal draussen gelassen und warte geduldig auf die nächste Version - so fehlt doch vorerst nur die Fortschittsanzeige bei Wiedergabe oder?


    Mal was Anderes: Wäre es möglich eine Art Screensaver-Mode einzubauen? Ich nutze das X-Frontend - hab mir jetzt ein kleines Script gebastelt, das bei jedem Tastendruck auf der Fernbedienung den Bildschirm wieder aktiviert und nach ca. einer Stunde wieder schlafen legt.
    Vielleicht ließe sich das auch "professioneller" lösen, wenn bei bestimmten Funktionen der Bildschirm definiert "ein" ist bei Anderen nach definierter Zeit abgeschaltet wird.


    z.B.
    1) Wenn man eine Aufzeichnung ansieht oder Musik abspielt bleibt der Bildschirm in jedem Fall an
    2) bei normalem TV Betrieb schaltet er nach z.B. 30 Min inaktivität ab (z.B. als Displayschutz bei Aufzeichnungen)


    oder gibt es das gar schon ??


    Und noch eine Frage: da ich ja die Ausgabe über X mache würde ich gerne ohne Frambufferausgabe starten, jedoch stürzt dann der VDR ab : ich habe als Ausgabedevice z.B. "-d /dev/null" angegeben.
    was muss ich übergeben wenn ich die Ausgabe nur über graphtft-fe laufen lassen möchte.
    Derzeit habe ich "-d /dev/fb0" eingetragen - nur kommt es dann sporadisch zu buntem Pixlel-müll bei der X-Ausgabe.

    VDR1: AMD Athlon X2 5050e ASUS M4N78PRO | Debian Squeeze 64Bit + Asus ENGT520 SILENT + vdr-2.0 | Tuner: 2 cinergy DVB-C, Nova-HD, DD cine S2 | Gehäuse: Thermaltake DH-102
    VDR2: AMD Athlon X2 5050e ASUS M4N78PRO | Debian Squeeze 64Bit + Asus ENGT520 SILENT + vdr-2.0 | Tuner: DD cine S2, Nova-HD


    S100: Zendeb 0.4.1beta VDR als streamdev-client


  • gibt es noch nicht, die Idee finde ich gut, kommt auf die TODO Liste.


    Zitat


    Und noch eine Frage: da ich ja die Ausgabe über X mache würde ich gerne ohne Frambufferausgabe starten, jedoch stürzt dann der VDR ab : ich habe als Ausgabedevice z.B. "-d /dev/null" angegeben.
    was muss ich übergeben wenn ich die Ausgabe nur über graphtft-fe laufen lassen möchte.
    Derzeit habe ich "-d /dev/fb0" eingetragen - nur kommt es dann sporadisch zu buntem Pixlel-müll bei der X-Ausgabe.


    Du kannst "-d none" verwenden:


    Code
    [i]INSTALL[/i]
    10. Now you can run your VDR with the Option "-P'graphtft -d none'" when using the X Frontend
        or "-P'graphtft -d vdr/1' " to use the FF-VDR-Device, here the second card (count from zero)
        or "-P'graphtft -d directFB'" for framebuffer.


    Grüße
    horchi

  • Hallo horchi,


    hier mal der Stand zu meinen Problemen .. und gleichzeitig Entwarnung !!
    Meine Probleme mit dem Refresh kamen eindeutig von splashy .. also vom bootsplash.


    Ich wollte es gerne so haben, daß der Splashscreen nahtlos ins graphtft übergeht. Hatte deshalb den Splash erst beendet nachdem vdr gestartet war.
    Sobald ich das geändert habe funktioniert graphTFT wie es soll .. ist zwar nicht mehr so schön, da ich kurz ne konsole sehen ..aber ok ..damit kann ich besser leben als mit nem zerschossenen graphTFT !!


    Ein anderes Problem konnte ich heute auch lösen:


    Nach dem Start hat es immer ewig gedauert bis meine Aufnahmen alle sichtbar wurden.
    Jetzt bin ich darauf gekommen, daß es daran lag, daß das Verzeichnis epgimages wie vorgesehen unter /video0 lag.
    Da das Verzeichnis über tvm2vdr gefüllt wird und offenbar nie Bilder gelöscht werden hat vdr dieses Verzeichnis immer mitgescannt und dabei ewig gebraucht.
    Ich habe das epgimages-Verzeichniss jetzt an anderer Stelle gemounted und das theme entsprechend angepasst.
    Vielleicht wäre es möglich das Verzeichnis in Zukunft im Setup einstellbar zu machen?
    Denke das wäre eine sinnvolle Anpassung.


    Danke für deine Hilfe und sorry das ich dir da unnötigerweise Arbeit gemacht habe.


    steffx

  • Hi Seffx,


    schön, dass es nun funktioniert!


    Zitat

    Nach dem Start hat es immer ewig gedauert bis meine Aufnahmen alle sichtbar wurden.
    Jetzt bin ich darauf gekommen, daß es daran lag, daß das Verzeichnis epgimages wie vorgesehen unter /video0 lag.
    Da das Verzeichnis über tvm2vdr gefüllt wird und offenbar nie Bilder gelöscht werden hat vdr dieses Verzeichnis immer mitgescannt und dabei ewig gebraucht.


    Ich lösche dort vor jedem täglichen laden alles was älter als 30 Tage ist:

    Code
    find /video0/epgimages/ -type f  -mtime +30 -exec rm {} \;


    Dazu habe ich auch eine Frage, ich habe immer mal wieder den Effekt, dass falsche Bilder angezeigt werden. In dem Fall liegen unter der aktuellen EventID noch alte dort rum (werden ja nicht überschrieben wenn die für neue Sendung kein Bild verfügbar ist). In welchem Zyklus wird die EventID wieder verwendet? Vermutlich muss ich die Historie auf 7 oder 8 Tage zurückdrehen?


    Zu deiner Frage, in der nächsten Version wird der Theme-Syntax um Variablen erweitert sein, diese können dann an Zentraler Stelle (z.B. oben im Theme) eingestellt werden. Der Pfad zu den EPG-Bildern (oder auch der zu den Bildern für Dia, die Schriftart, ...) ist ein Kandidat dafür. Kann dann jeder der ein Theme erstellt halten wie er möchte. In's Setup des Plug würde ich es nur ungern aufnehmen da jedes Theme andere Parameter hat.


    Grüße
    horchi

  • Hi steffx,


    ich habe in der nächsten DeepBlue und AvP Version schon drei unterschiedliche Ablageorte für die EPG Files mit berücksichtigt, welche dann nach einander durchsucht werden.
    /ramdisk/epgimages
    /media/epgimages
    /video0/epgimages


    Sollte Dein Ablageort dann immer noch abweichen, kannst Du dies , gerade dank der neuen Variablenfunktion von horchi, im Themefile dann sehr einfach anpassen.


    PS: Du hast ne PN.


    Das tvm2vdr script sollte ebenfalls alte Bilder (ich glaube so ca. 90 Tage) automatisch löschen.
    Bei mir ist der Löschpfad im Script "hardcodiert".
    Schau mal in das Script, ob dort evnt. in ein falsches Verzeichnis hinterlegt ist.


    gruß
    data

    VDR: easyVDR 0.8.0 - VDR 1.7.0
    CPU: Athlon 4850e; MB: Gigabyte GA-MA78GM-S2H; RAM: 2 GB DDR2; HDD: 2TB SATA; DVD-Brenner; DVB-C: Hauppauge WinTV DVB-C 4MB Mod; STB AVBoard 1.3; Case: Thermaltake DH 202

  • Zitat

    Original von steffx


    Ich wollte es gerne so haben, daß der Splashscreen nahtlos ins graphtft übergeht. Hatte deshalb den Splash erst beendet nachdem vdr gestartet war.


    wie habt ihr das denn gelöst ?


    seht ihr nach dem splashscreen nochmal die konsole, oder bekommt ihr nen fliessenden übergang hin ?


    steffx

  • Hi data,


    hab verstanden wie ich im graphTFT den Füllstand einzelner Verzeichnisse anzeigen kann.
    Aber eigentlich ist die interessante Info für die Systemanzeige doch wieviel Platz hab ich insgesamt über alle Videoverzeichnisse noch. Diese Info ist doch im vdr vorhanden ("74% noch 173 Stunden frei") ...wäre es nicht sinnvoll diese info anzuzeigen ?


    noch zwei Fragen:


    irgendwie hab ich immer noch ein kleines schwarzes Rechteck, da wo eigentlich der Cursor der Console war ... scheint als hätte ich das noch nicht optimal gelöst. Wie werde ich die Console im Hintergrund denn richtig sauber los (irgendwas mit tty war da doch ..aber ich kriegs nicht richtig hin ....) ?


    die zweite Frage ist mehr ne Bitte an horchi:


    Die ersten Versionen von graphTFT (damals noch von kenny) hatten ein Feature das ich toll fand. Man konnte das Fernsehbild am graphtft ausgeben. Beim Weiterschalten auf dem VDR (mit mehreren DVB-Karten) blieb am graphtft das eine Programm stehen ..wärend man am TV weiterzappen konnte ...


    Leider ist das Feature irgendwann rausgeflogen (keine Ahnung warum) ... wäre das nicht was für lange Winterabende ? :)


    steffx

  • hi horchi,



    ich will ja echt nicht nerven ..aber einen hab ich noch:


    ich hab noch an einer anderen stelle sehr oft einen Absturz - beim Aufruf des music-plugins.
    Da ich von gestern Abend so gut in Übung war, dachte ich mir mach ich doch mal nen backtrace für den guten morone. Was dabei herauskam scheint aber doch eher was für dich zu sein:


  • Hi steffx,


    Zitat

    Aber eigentlich ist die interessante Info für die Systemanzeige doch wieviel Platz hab ich insgesamt über alle Videoverzeichnisse noch.


    Stimmt.
    Horchi hat es in der kommenden Version 0.3.0 gelöst.
    Es können dann Fragezeichen als Wildcards verwandt werden, die sich dann addieren.
    z.B. /video? statt /video0


    Zitat

    ...kleines schwarzes Rechteck, da wo eigentlich der Cursor der Console war ...


    Das sollte mit dem regelmäßigen Neuzeichnen der graphTFT Ausgabe behoben sein. Steht noch in der ToDo Liste. Weiß nicht ob das mit 0.3.0 kommt.
    Bei mir, und einigen anderen, erscheint ab und an "...Runlevel 2" oben Links, obwohl das tty richtig eingestellt ist.
    Das Neuzeichnen wäre auch hierfür die Lösung, hoffe ich.


    Gruß
    data

    VDR: easyVDR 0.8.0 - VDR 1.7.0
    CPU: Athlon 4850e; MB: Gigabyte GA-MA78GM-S2H; RAM: 2 GB DDR2; HDD: 2TB SATA; DVD-Brenner; DVB-C: Hauppauge WinTV DVB-C 4MB Mod; STB AVBoard 1.3; Case: Thermaltake DH 202

  • Hallo zusammen,


    Ich hab mir jetzt nicht alles hier durchgelesen, vielleicht hat jemand ja schon was ähnliches gepostet.
    Ich betreibe graphtft am Framebuffer meiner Matrox G450 PCI. Seit einiger Zeit - leider kann ich die Versionen nicht mehr ganz definieren - wird vor dem Start das LCD nicht gelöscht, d.h., Fragmente von der Initialsierung des Framebuffers (horizontale graue Streifen) oder beim reboot Fragmente des letzten angezeigten Bildes sind auf dem LCD zu sehen. Wenn ich das Menu dann hoch und runter scrolle sieht das Theme fast so aus wie es sein soll (bis auf die Bereiche die nicht neu dargestellt werden) Wechsele ich das Theme auf DeepBlue und dann wieder auf AVP ist alles bestens.


    Wie bring ich den framebuffer dazu vor dem Start von Graphtft /dev/fbx komplett zu löschen oder welche Funktion in Graphtft ist dafür verantwortlich.


    Achso, graphtft ist Version die letzte, mit der Änderung dispitem.c. Effekt hatte ich aber auf jeden Fall auch bei dem Vorgänger.


    Gruss,


    Stefan

    Server HW:
    Asrock Q1900M + 4GB + 2x CineS2 5.4, SSD, 2TB Toshiba 2.5" (USB), 3TB Seagate (USB); 2TB Samsung; 1.5 Seagate (USB), picoPSU + DC/DC 200W
    SW:
    Debian (arranged), OpenMediaVault kralizec; VDR-2.1.6 + dynamite, live etc; Mysql running DB for EPG2VDR, XBMC


    Clients:
    1) TBS2910 freescale imx6 + OpenELEC
    2) RPI, 1GHZ, VDR-2.1.6
    3) RPI, 1GHZ, VDR-2.1.6
    4) cubietruck

    Einmal editiert, zuletzt von stevie101 ()

  • Hi steffx,


    Nö, splashscreen hab ich nicht.


    Das mit setterm ist so ne Sache.
    Ich habe /dev/fb0, /dev/fb1, /dev/fb2, /dev/fb3 (radeonfb,matroxfb1,matroxfb2=crtc2,reel eHD).
    Das psone tft hängt an /dev/fb2 der Matrox. Ich sehe keinen cursor oder sowas auf dem tft, das geht über die radeon, die ist /dev/fb0.
    Keine Ahnung von setterm, also ob der Befehl den fb zurücksetzt, wenn er das tut, wie geb ich an das dies für /dev/fb2 gilt.

    Server HW:
    Asrock Q1900M + 4GB + 2x CineS2 5.4, SSD, 2TB Toshiba 2.5" (USB), 3TB Seagate (USB); 2TB Samsung; 1.5 Seagate (USB), picoPSU + DC/DC 200W
    SW:
    Debian (arranged), OpenMediaVault kralizec; VDR-2.1.6 + dynamite, live etc; Mysql running DB for EPG2VDR, XBMC


    Clients:
    1) TBS2910 freescale imx6 + OpenELEC
    2) RPI, 1GHZ, VDR-2.1.6
    3) RPI, 1GHZ, VDR-2.1.6
    4) cubietruck


  • Hi,
    ich kann mir den Effekt im Moment nur so erklären, dass ein anderes Programm (das System, boot-splash oder ähnliches) noch etwas auf dem Framebuffer ausgibt (immer wieder), mindestens das Hintergrundbild wird bei Start komplett angezeigt und auch immer wenn man das Menü etc. wechselt wieder komplett neu dargestellt. Aus enthalten die Hintergrundbilder m.E. keine transparenten Teile ( data oder?)


    Eines fällt mir noch ein, ich habe vor einiger Zeit die Performance beim schreiben in den Framebuffer (nur bei 16 Bit Farbtiefe) optimiert (war die einzige welche ich bei mir testen konnte ;) und hier tut es prima). Ich hatte festgestellt, das das FB schreiben deutlich teurer ist als das lesen, da sich meist nur wenige Pixel ändern vergleiche ich nun erst den Wert und schreibe nur bei Änderung. Hat hier CPU Load seitig einiges gebracht. Ggf. verhalten sich hier diverse FB Treiber unterschiedlich und der Vergleich klappt nicht richtig (nur eine vage Vermutung)


    Wenn du testen möchtest ob es daran liegt kommentiere mal die Zeile mit dem '-' aus der Datei ./imlibrenderer/fbrenderer/fbrenderer.c aus und baue das Plugin neu:



    Wie gesagt ändert nur was bei Ausgabe via 16Bit FB!


    Grüße
    horchi

  • horchi


    Danke, probier ich mal.
    Versuche die Tage mal einen screenshot anzuhängen, um den Effekt deutlicher zu machen.
    Wenn das treiberabhängig müsste es eigentlich über directfb anders ausschauen, auch das werd versuchen. Glaub aber directfb war irgendwie buggy und nicht so schön skaliert.


    Eine Sache jetzt aus dem Kopf, über matroxfb bekomme ich nie das Bild "Graphtft startet", immer direkt Standard/Info/Clock, bei directfb bekam ich die Ausgabe "Graphtft startet".


    Gruss


    Stefan

    Server HW:
    Asrock Q1900M + 4GB + 2x CineS2 5.4, SSD, 2TB Toshiba 2.5" (USB), 3TB Seagate (USB); 2TB Samsung; 1.5 Seagate (USB), picoPSU + DC/DC 200W
    SW:
    Debian (arranged), OpenMediaVault kralizec; VDR-2.1.6 + dynamite, live etc; Mysql running DB for EPG2VDR, XBMC


    Clients:
    1) TBS2910 freescale imx6 + OpenELEC
    2) RPI, 1GHZ, VDR-2.1.6
    3) RPI, 1GHZ, VDR-2.1.6
    4) cubietruck

Jetzt mitmachen!

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