[softhddevice-drm] LibreELEC / AMLGX

  • Hallo,


    ich versuche das softhddevice-drm unter LbreELEC/AMLGX (arm) zu starten und erhalte einen Fehler, mit dem ich nix anfangen kann.

    Vielleicht kennst sich jemand mit DRM besser aus:


    Das passiert wohl im VideoInit. flags müsste DRM_MODE_ATOMIC_ALLOW_MODESET sein.

    Code
    1. if (drmModeAtomicCommit(render->fd_drm, ModeReq, flags, NULL) != 0) {
    2.     fprintf(stderr, "cannot set atomic mode (%d): %m\n", errno);
    3. drmModeAtomicFree(ModeReq);
    4. abort();
    5. }

    Der Kernel ist

    Code
    1. Linux odroid2 6.0.9 #1 SMP PREEMPT Sat Nov 19 10:04:48 CET 2022 aarch64 GNU/Linux

    Eine Internetsuche brachte mich da so überhaupt nicht weiter.

  • Zabrimus Ohne, dass ich es mir angesehen habe, aber vielleicht verwendest du vorerst die Original-Version von zillerbaer , dann kann er vielleicht schonmal weiterhelfen...


    Gruß

    Andreas

  • Zabrimus , da sind noch ein Paar Anpassungen notwendig. Dafür muss das HW decodieren aber erst mal funktionieren. Mein letzter Test vor einem halben Jahr ging schief. Ob es einen Deinterlacer gibt weiss ich auch nicht. Am einfachsten sind diese Tests unter LE. So das LE funktioniert starte ich die Arbeiten an softhddevice-drm. Ich habe momentan nicht viel Zeit weil ich an meinem Häusel baue. Der Baudreck muss erst mal weg!

  • Zabrimus Ohne, dass ich es mir angesehen habe, aber vielleicht verwendest du vorerst die Original-Version von zillerbaer , dann kann er vielleicht schonmal weiterhelfen...

    Okay. Das Ergebnis mit der Original-Version von zillerbaer sieht jetzt ganz anders aus.


    Ton kann ich am Monitor nicht testen. Zumindest über die folgenden Ergebnisse kann berichten:


    HD Sender:

    OSD vorhanden, sieht gut aus. Bild vorhanden und sieht gut aus.


    SD Sender:

    OSD vorhanden, sieht gut aus. Bild vorhanden, sieht aber hingegen interessant aus. Die Sendung kann man nur erahnen.


    Auf der Console taucht aber ununterbrochen die folgende Meldung auf:

    Code
    1. ChangePlanes: cannot change planes (22): Invalid argument
    2. ChangePlanes: cannot change planes (22): Invalid argument
    3. ChangePlanes: cannot change planes (22): Invalid argument
    4. ChangePlanes: cannot change planes (22): Invalid argument

    Und zwar sowohl bei den SD, als auch HD Sendern.


    Das Log mit allen möglichen Debug-Ausgaben sieht dann so aus:


    log.txt


    Ist da irgendetwas zu erkennen? Mir scheint, es wird kein HW Decoder verwendet (laut Log).


    HD:

    %Cpu(s): 6.8 us, 0.4 sy, 0.1 ni, 92.0 id, 0.0 wa, 0.2 hi, 0.5 si, 0.0 st


    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

    2610 root 20 0 428012 111708 14660 S 52.6 2.9 1:14.96 vdr

  • Ich habe verschiedene Videos in h264 und mpeg in Kodi ausprobiert und es scheint zu funktionieren. Wobei ich beim dem Interlaced Sample nicht ganz sicher bin, weil die Ausgabe einen Videostream von 1080p ergibt.


    Vorsichtig muss mal wohl noch bei hevc und av1 sein: Kodi ist mir abgeschmiert. Ob es an Kodi liegt oder an den Videos müsste man im Crashlog ermitteln - hoffentlich.


  • Zabrimus Wenn du Lust hast, könntest du diesen Patch testen und mir die Logs zur Verfügung stellen. Ich habe leider keinen Amlogic, würde es aber gerne zum Laufen bringen.


    BTW, wie komme ich bei LibreELEC an die stderr Ausgaben? Ich stehe da auf dem Schlauch und mit journalctl -r bekomme ich sie nicht...

  • An die stderr Ausgaben kommst du nur, wenn du VDR stoppst und das Startscript auf der Konsole ausführst:

    Code
    1. systemctl stop vdropt
    2. /usr/local/bin/start_vdr.sh

    Ich habe den Patch angewandt und bekomme auf der Konsole diese Meldungen:

    Im Journal findet sich das:

  • Jetzt lasst mir doch mal bissel Zeit!

    ;) Natürlich gerne, aber mein fork unterscheidet sich auf drm Seite ja doch etwas, und der Patch geht ja gegen diese Version.

    rell , Lass mal bitte mit DRM_DEBUG auf einem Allwinner laufen und poste mal das plane setup. Wenn ich mich recht entsinne nutzt AW auch zpos.

    Ja, Allwinner kann zpos. Amlogic auch, allerdings kann man es da nicht ändern, siehe hier und hier.

    Für das Log muss ich erst an stderr kommen...


    Ich vermute, dass mein Code daran scheitert, dass der drmAtomicCommit beim pageflip zpos mit setzen will, da es ja vorhanden ist. Den Sonderfall, dass es zpos-Werte gibt, diese aber nicht verändert werden können, möchte ich abfangen.


    Das Problem gibt es bei dir nicht, da du keinen abort() anschließt. Die Fehlermeldung beim ChangePlanes ist aber die gleiche.

    The post was edited 1 time, last by rell ().

  • An die stderr Ausgaben kommst du nur, wenn du VDR stoppst und das Startscript auf der Konsole ausführst:

    Hm, auf der Konsole kommt da nichts. Wo finde ich die dann? Irgendwas fehlt mir ...

  • Läuft kodi/X dabei? Kannst du kodi beenden und nochmal testen?

    Ich habe versucht einen 2. VDR zu starten :wand Ich weiß aber nicht, warum der noch lief? Sehr seltsam.

    Eine Korrektur des Logs sieht jetzt so aus.

    stderr:

    Die letzte Zeile finde ich spannend. Was macht denn der Build-Pfad da drin?


    Das Journal sagt jetzt:

    Wobei die alsa devices nicht sehr aussagekräftig sind:

    Mit hw:0,1 komme ich am weitesten.


    Kann man das Plugin anweisen, das Sound Device komplett zu ignorieren? Vielleicht sollte man sich erst auf das Display konzentrieren.


    Jetzt lasst mir doch mal bissel Zeit!

    Nur keinen Streß. Davon hat man sonst schon mehr als genug. Aber manchmal kribbelt es in den Fingern und man dann will man etwas probieren.

  • Ich bin ein Stück weiter. Ich hab zwar noch kein Bild (Ton kann ich noch nicht testen), aber zumindest läuft der VDR durch.

    Das Audio Device ist "-a hdmi:CARD=ODROIDN2,DEV=0".


    Minisatip scheint auch brav einen Stream zu senden.


    Auf der Konsole sieht es jetzt so aus:

    Mehr kommt nicht. Ich muss den VDR dann aber hart per kill -9 beenden.


    Das Journal sagt:

    Und mehr kommt auch nicht. Die Einträge mit "audio: start?" habe ich mal gefiltert.


    Hängt das Plugin irgendwo fest?

  • Der shader link error ist jetzt weg?

    Hardware Decoder wird auch nicht benutzt.

  • Der shader link error ist jetzt weg?

    Hardware Decoder wird auch nicht benutzt.

    Ich habe das Log später angefangen, weil der Anfang immer gleich ist. Der shader link error ist noch da.

    Auf den Hardware Decoder habe ich jetzt gar nicht geachtet, ich war erstmal froh, daß VDR überhaupt startet.