[softhddevice-drm]

  • Also ich hab das jetzt mal installiert und getestet, er schmiert nicht mehr ab, aber nachdem ich wieder einpaar Schnittmarken angepasst hab läuft alles in Zeitlupe.

    Im syslog kommten dann folgende Meldungen.


  • Ich habe jetzt zum ersten Mal Timer angelegt. Richtig verstanden habe ich noch nicht was da passiert. Mir stellt es sich so dar das vdr einen grossen Teil der Aufnahme in den Arbeitsspeicher lädt und für andere zu wenig Speicher überbleibt.

    Code
    v4l2_request_buffer_alloc: create buffers failed for type 1, Nicht genügend Hauptspeicher verfügbar (12)

    Kann jemand der die Interna von vdr kennt sagen wie man den Speicherverbrauch von vdr begrenzen kann?

  • Kurzes Update zu GL OSD, ich habe hier eine neue Version gepusht, die seitens OSD schon ganz vernünftig läuft... wers testen will.

    Wer den Branch schon mal gezogen hat, muss ihn neu holen oder bis zilles Stand zurückgehen, da ich ein paar Rebases gemacht habe.


    Außerdem ist der Deinterlacer bei mir mit H3 eigentlich nicht benutzbar. Flüssig ist anders... Hat den einer zufriedenstellend auf H3 laufen? Könnte das auch noch an was anderem liegen? Muss ich mir in den nächsten Tagen mal genauer anschauen.

  • Bin begeistert !!! sogar MetrixHD läuft einigermaßen. Die Darstellung des Infobalkens beim Umschalten oder beim Drücken von OK ist nur verschoben.

    Seltsam jetzt geht es wieder.

    2 Mal editiert, zuletzt von JoeBar ()

  • Kann man für das Problem mit cma: cma_alloc: alloc failednicht einfach das CMA Memory in den Kerneloptionen auf 512MB setzten? Der Pine z.B hat ja 3GB RAM da sollte doch etwas mehr Videospeicher kein Problem sein oder?

  • Du kannst es hochsetzen, bei mir sind's 256.

    Ich bin mir nicht sicher, wieviel man als CMA reservieren kann, aber wenn ich mich richtig erinnere, konnte der HW Decoder von A10/20 nur auf den niedrigeren Speicher zugreifen, glaube bis 256. Wie das bei den neuen Generationen ist, weiß ich nicht.


    Yep, da stehts https://linux-sunxi.org/Sunxi-…etails_and_implementation

  • Bin begeistert !!! sogar MetrixHD läuft einigermaßen.

    Ich nicht ;)

    Rot und Blau sind hier vertauscht und die Performance ist mit CPU bedeutend besser bei metrixhd z.B. ... Scheint, als bräuchte GL einfach noch zu lange, um das OSD zu bauen.

    Ist das bei dir nicht so?

  • Was meinst du mit rot und blau vertauscht? Sieht bei mir wie auf dem Intel aus. Performance mäßig finde ich es auch einigermaßen in Ordnung nur beim nach oben gehen hinkt der Balken etwas hinterher.

    Skinelchihd läuft besser nur gefällt es mir nicht so gut.

    Skinflatplus läuft mit GL zumindest nicht mit CPU muss ich noch testen.

  • Interessant. Bei metrixhd scheint R und B vertauscht zu sein, Vielleicht liegt der Fehler da bei lima... du hast ja panfrost.

    Anscheinend ist der Performanceunterschied zwischen H3 und H6 bzw. Mali400 und T720 doch größer als ich dachte.

    Ich schätze, da muss ich noch etwas auf die Suche gehen. ... und evtl. doch noch meinen H6 aufsetzen.

    skinflatplus schau ich mir noch an, aber könnte das mit dem Problem aus dem anderen Thread zu tun haben? Oder hast du Logs, die den Fehler bei GL zeigen?


    EDIT: Meinst du mit dem "Hinterherhinken" die Animation von skindesigner? Die läuft bei mir mit GL deutlich langsamer. Das "statische" ist ok soweit.

  • In der Funktion


    void VideoOsdClear(VideoRender * render)


    gibt es noch ein Problem,

    denn 'render' ist nicht immer initialisiert, und das führt dann zu einem Segfault, z.b.: bei skinflatlus skin.


    Gruß,

    Roland

    https://www.minidvblinux.de/forum/

    1x OctopusNet mit 8x DVB-C
    1x Raspberry 4 MLD 6.0 SATIP (softhddevice-drm )

    1x RockPi 4 MLD 6.0 SATIP (softhddevice-drm )

    1x Raspberry 3 als Client MLD 5.4

    1x Raspberry 2 als Client MLD 6.0

    1x Raspberry 1 (staubt gerade so vor sich hin) ;)
    1x Cubietruck

    1x MCC 100
    1x BananaPi

    1x Zotac CI327 MLD 6.0 SATIP (softhddevice)

  • Danke, schau ich mir an.

  • In der Funktion


    void VideoOsdClear(VideoRender * render)


    gibt es noch ein Problem,

    denn 'render' ist nicht immer initialisiert, und das führt dann zu einem Segfault, z.b.: bei skinflatlus skin.

    Das Problem sehe ich eher in der Skin und/oder der Reihenfolge des Ladens der Plugins! VideoRender wird wird beim Start des softhddevice-drm Plugins angelegt. Davor kann kein VideoOsdClear aufgerufen werden. Da sollte die Skin schauen ob es überhaupt ein Ausgabeplugin gibt! Es ist auch eine Überlegung wert warum wird ein Clear gemacht wird obwohl noch nix angezeigt wurde?

  • Ja es liegt am skinflatplus plugin.

    https://www.minidvblinux.de/forum/

    1x OctopusNet mit 8x DVB-C
    1x Raspberry 4 MLD 6.0 SATIP (softhddevice-drm )

    1x RockPi 4 MLD 6.0 SATIP (softhddevice-drm )

    1x Raspberry 3 als Client MLD 5.4

    1x Raspberry 2 als Client MLD 6.0

    1x Raspberry 1 (staubt gerade so vor sich hin) ;)
    1x Cubietruck

    1x MCC 100
    1x BananaPi

    1x Zotac CI327 MLD 6.0 SATIP (softhddevice)

  • In der Funktion


    void VideoOsdClear(VideoRender * render)


    gibt es noch ein Problem,

    denn 'render' ist nicht immer initialisiert, und das führt dann zu einem Segfault

    Kann man das "einfach" lösen? Oder braucht es dazu einen der richtig Programmieren kann?

  • Kann man das "einfach" lösen? Oder braucht es dazu einen der richtig Programmieren kann?

    :D Kommt drauf an, was man unter "richtig programmieren" versteht :)


    Wie zillerbaer geschrieben hat, macht eine Workaround in softhddevice keinen Sinn, da render von Anfang da sein muss. Ohne render läuft der GL Thread schon nicht, und ohne den kommt es gar nicht zu VideoOsdClear.

    Für den Fix im Skin muss man sich halt mal ansehen, warum da render überhaupt flöten geht und warum das OSD gelöscht werden soll, wenn kein VideoRender vorhanden ist...

    Ich denke, das ist machbar - für jemanden, der C lesen kann und die Interna vom plugin verstanden hat ;)

  • Kann man das "einfach" lösen? Oder braucht es dazu einen der richtig Programmieren kann?

    Die einfache Lösung wäre das mit if (render) abzufangen. Der Anspruch sollte aber sein "richtig" zu programmieren und keine Aufrufe zu machen die nicht hingehören. Wie ich das verstehe wird im Skin OSD Clear gemacht bevor ein OSD dargestellt wurde.

  • Ich kann da nichts machen. Kenn mich zu wenig aus. Im Quelltext finde ich auch kein VideoOsdClear

  • Die einfache Lösung wäre das mit if (render) abzufangen. Der Anspruch sollte aber sein "richtig" zu programmieren und keine Aufrufe zu machen die nicht hingehören. Wie ich das verstehe wird im Skin OSD Clear gemacht bevor ein OSD dargestellt wurde.

    So habe ich es erstmal bei mir gemacht.

    https://www.minidvblinux.de/forum/

    1x OctopusNet mit 8x DVB-C
    1x Raspberry 4 MLD 6.0 SATIP (softhddevice-drm )

    1x RockPi 4 MLD 6.0 SATIP (softhddevice-drm )

    1x Raspberry 3 als Client MLD 5.4

    1x Raspberry 2 als Client MLD 6.0

    1x Raspberry 1 (staubt gerade so vor sich hin) ;)
    1x Cubietruck

    1x MCC 100
    1x BananaPi

    1x Zotac CI327 MLD 6.0 SATIP (softhddevice)

Jetzt mitmachen!

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