graphlcd: kein Sendername und Logo nach Hochfahren

  • Hallo,


    nach dem Hochfahren des VDR zeigt graphlcd kein Senderlogo an. Alle anderen Informationen (Sendername etc.) sind dagegen vorhanden. Nach Kanalwechsel wird auch das Logo dargestellt.


    Die Suche hat zu speziell diesem Effekt leider nichts ergeben.


    Hat jemand dieses Verhalten auch schon beobachtet?


    (graphlcd-0.1.2-pre4/5, vdr 1.3.23)


    Wolfgang


    EDIT: Der Sendername wird auch nicht dargestellt.

    MSI C847MS-E33, Cine S2 6.0, Zotac GT630 (GK208), dual boot
    Work: yaVDR 0.7 ansible Ubuntu 22.04. Backup: yaVDR 0.5 Ubuntu 12.06


    Einmal editiert, zuletzt von wofritz ()

  • Zitat

    Original von Hulk
    Aktuell wird bei mir das glcd-Plugin als letztes geladen...


    Hat leider nichts geändert. Zeit, den Debugger anzuwerfen...


    Wolfgang

    MSI C847MS-E33, Cine S2 6.0, Zotac GT630 (GK208), dual boot
    Work: yaVDR 0.7 ansible Ubuntu 22.04. Backup: yaVDR 0.5 Ubuntu 12.06


  • Hi,


    nach etwas Debugging habe ich das Problem wahrscheinlich gefunden und hoffentlich eine Lösung.


    Das Problem rührt daher, dass das Graphlcd-Plugin seinen Display-Thread noch nicht gestartet hat, wenn der VDR-Main-Thread die Methode SetChannel() aller von cStatus abgeleiteten Klassen aufruft. Da das Graphlcd-Plugin sein cStatus-Objekt (genauer cGraphLCDState) erst im Display-Thread erzeugt, bekommt es das erste SetChannel nicht mit.


    Abhilfe:
    1. Verlagern der Initialisierung des Graphlcd-Plugins von Start() nach Initialize(). Dadurch gewinnt man soviel Zeit, dass der Display-Thread mit hoher Wahrscheinlichkeit schon läuft, wenn SetChannel() gerufen wird.


    2. In Start() wird gewartet, bis der Display-Thread tatsächlich aktiv ist. Ich habe bei mir allerdings nie gesehen, dass hier tatsächlich gewartet werden musste. In allen Fällen lief der Display-Thread schon.


    Mit diesen Änderungen kommen bei mir Logo und Sendername zuverlässig auch beim ersten Start.


    Einen Patch gegen 0.1.2-pre5 habe ich angehängt. Bitte testen.


    Wolfgang

  • Hallo wofritz,


    mit welchem Debugger bist Du denn dem Problem auf die Schliche gekommen?
    Ich habe ein ähnliches Problem, komme aber mit strace, valgrind und ltrace nicht auf die Spur eines Hauches einer Lösung (s. hier und da).


    Vielleicht kannst Du mir ja ein wenig weiterhelfen?!


    Viele Grüße
    Chriss

  • ok, danke, die hätte ich natürlich auch noch versuche sollen/können. Werde das noch nachholen!


    Vielen Dank!
    Chriss

  • wow, danke Hulk, das scheint genau der Fehler zu sein, den ich seit einem halben Jahr zu lösen versuche (ok, vor einem halben Jahr das erste mal und jetzt nochmal). Habe das Board durchsucht wie ein Bekloppter - aber immer mit dxr3-plugin im Hinterkopf, so bin ich nie auf den von Dir genannten Beitrag gestoßen. Dann lohnt es sich ja doch, das Backup gleich mal einzuspielen und die Änderungen am GraphLCD-Plugin zu machen.
    Erstmal vielen Dank! Ich melde mich, wenn ich genaueres weiß.


    Viele Grüße
    Chriss


    <edit>
    Problem gelöst
    </edit>

    Einmal editiert, zuletzt von theonlychriss ()

Jetzt mitmachen!

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