Posts by jojo61

    Mir ist da nix bekannt. Aber mit Mesa gab es ein paar Probleme. Welche Mesa Version hat du denn ?

    VK_ERROR_OUT_OF_DEVICE_MEMORY (../src/vulkan/malloc.c:326

    Ich denke mal das das nicht ok ist. Es gibt doch auch noch Demo programme die ein buntes Bild anzeigen. Läuft das bei dir ?

    Was macht den plplay bei dir ?

    Geht denn softhddrm mittlerweile auch mit libplacebo?

    Ja das kann man nun auch mit libplacebo bauen. Allerdings mit der opengl Version. Kannst es ja mal versuchen.

    Ich bin ratlos. Und du sagst das die Demo Programme der libplacebo laufen?

    Ich nutze xcb um an X anzudocken. Evtl. Ist da noch etwas faul. Das kannst du ausschließen wenn du mal die DRM Version baust. Nur da hättest du ja auch Probleme mit der opengl Version von libplacebo


    Nutzt du den iHD Treiber ?

    Die Änderungen machen leider keinen Unterschied - ich habe extra zusätzlich jede Änderung einzeln getestet. Nur das sleep verzögert den Absturz etwas und es kommen noch weitere Log-Meldungen:

    Kannst du den libplacebo debug mit deinen Hello prints mal anhängen wie das mit dem sleep aussieht ?

    Ok letzter versuch. Ändere mal folgendes:

    Klar wenn du ohne Vulkan Device weiterlaufen lässt dann kracht es. Was mich wundert ist das es schon kracht und der DEBUG print immer noch läuft.

    Aber ich weiss auch nicht mehr was hier noch zu tun ist. Und mit der opengl Version hat es ja auch nicht funktioniert. Vielleicht liegt es ja an der GPU Version ??


    jojo61

    Das ist sehr seltsam. Der Call kommt zurück obwohl er noch mitten im abarbeiten ist. Da muss etwas mit dem Stack nicht stimmen oder sonst wo Speicher fehlen.

    Änder doch mal in video .c folgendes:

    So langsam gehen mir die Ideen aus.

    447377 Genau du musst geschweifte Klammern um das if machen. Bin gespannt wo der Fehler letztlich liegt.

    Zumindest wohl nicht im device_init sonst hättest du ja den Hello 3b gesehen. Auch wenn er danach dann doch zum error gesprungen ist wegen dem Klammerfehler.

    hmm ich habe

    Code
    1. libva info: VA-API version 1.6.0
    2. libva info: User environment variable requested driver 'iHD'
    3. libva info: Trying to open /usr/local/lib64/dri/iHD_drv_video.so
    4. libva info: Found init function __vaDriverInit_1_6
    5. libva info: va_openDriver() returns 0
    6. vainfo: VA-API version: 1.6 (libva 2.10.0)
    7. vainfo: Driver version: Intel iHD driver - 1.0.0

    Und Mesa (glxinfo):

    bei mir läuft der kernel 5.12rc4


    wäre fein, wenn es eine angepasste version des Plugins gäbe.

    Tja wenn es so einfach wäre. Warum nach Stunden der egl Context plötzlich nicht mehr zugreifbar ist, kann ich auch nicht sagen.

    Verlierst du irgedwo Memory ? Was sagt den top dazu ? Nutzt du softhdvaapi oder softhddrm ?

    Ja die Latenz ist ein Problem und das wird sich auch nicht lösen lassen. Ich denke wenn du schon dekodierst dann musst du auch ausgeben. Ansonsten hast du immer Probleme mit Latenz oder AV Sync.

    Ich habe noch nicht ganz verstanden warum Unbedingt der Browser decodieren muss. Das müsste doch auch das Ausgabeplugin machen können. Wo liegt denn da das Problem ? Am Codec kann es doch nicht liegen, ffmpeg kann die doch wohl alle oder ?

    Ich halte deinen Ansatz das übers OSD auszugeben für falsch, Das OSD ist dafür nicht gedacht und viel zu langsam. Und ausserdem überhaupt nicht in Sync mit irgend etwas. Ausserdem braucht es für ein OSD ein unterlegtes Video um es zum laufen zu bringen.

    Kannst du die RGB Daten nicht mit ffmeg einfach in ein RAW format wandeln lassen. Gibt es keinen "codec" der RAW daten durchreicht ? Dann würde das encodieren entfallen und dennoch der weg zum Outputplugin der alte bleiben. Beim Ton sollte das noch als PCM Stream auf jeden Fall gehen.

    Warum er bei mir die runtime dependency nicht findet kann ich nicht sagen. So langsam gehen mir die Ideen aus und es wird schwierig das zu debugen.

    Ich würde die empfehlen mal auf Vulkan 1.2.172 upzudaten. Und wenn das auch nix bringt dann musst du wohl die libplacebo debuggen.


    Dazu suchst du in den Quellen die Funktion pl_vulkan_create und machst prints rein um die stelle zu finden wo er auf den error return springt.

    Das sollte in src/vulkan/context.c sein. Leider musst du da alleine debuggen. Ist aber nicht so schwer wie es sich anhört.

    Irgendwo muss er ja mit Fehler rausspringen, nur wo ist die Frage und was ihm da nicht gefällt.


    PS: hast du den Speicher für die GPU im Bios mal auf 1024 gestellt ?

    ok deine libplacebo ist wohl nicht vollständig. Bei mir sieht das so aus:

    Zumindest SPIRV und gslang solltest du noch installieren und nochmal compilieren. Dafür lösche vorher das build directory.

    jojo61 hier ein Ausstieg aus mpv mit vdr crash .. log mit mehrere dieser:

    Wenn ich mir diese Stelle im Log anschaue dann frage ich mich was hier gestartet wird. Der Init Teil sollte nur einmal laufen und nicht mehrmals innerhalb der gleichen Sekunde.


    Irgendwie frage ich mich was die BM2LTS da so treibt. Ebenfalls gbt es Suspend und Resume in der gleichen Sekunde. Was auch immer da faul ist kommt nicht vom plugin. UNd das das crasht wundert mich eher nicht. Ich würde hier mal ohne den ganzen Overhead vom BM2LTS testen.


    Hier beendet sich der mpv und dann bekomme ich kein EGL Context mehr. Danach mache ich einen Fatal weil es nicht mehr anders geht.

    Da frage ich mich was hat mpv mit dem EGL Context gemacht ????

    Zumindest beim Test letzte Woche ging es nicht ohne root. Der erneute Versuch danach wieder das Device zu bekommen schlug fehl wenn ich nicht root war.

    Und genau das brauch ich aber bei DETA/ATTA :-)


    Leider gibt es nirgendwo mal ein Beispielcode wie es sein sollte. Und die meisten Anwendungen beenden sich nach dem DropMaster. Dann ist es auch einfach.

    Also bei mir mit kernel 5.12 braucht der softhddrm immer noch root Rechte um das drm Device wieder abgeben zu können.


    Das ist wohl auch bei mpv so. Nur der mpv beendet sich ja danach und dann ist das drm Device sicher wieder frei.