Beiträge von stegro

    Hallo Experten,

    ich muss ehrlich gestehen, ich bin etwas verwirrt, was die vielen Optionen für die Amlogic Geräte betrifft.

    Nach dem Umbau des GitHub von Zabrimus , habe ich irgendwie die Faden verloren.


    X96 MAX Plus 4GB/64GB Amlogic S905x3

    habe ich mir mal bestellt, da ich begeistert von Zabrimus Arbeit bin.


    Das habe ich im Moment am laufen:
    CoreELEC (official): 20.0-Nexus_nightly_20221119 (Amlogic-ng.arm)

    Machine model: Amlogic

    CoreELEC dt-id: sm1_s905x3_4g_1gbit

    mit dem 4.9er Kernel und Zabrimus build mit drin. Als Ausgabe: softhdodriod von jojo61


    Ich dachte immer LE und Amlogic passt nicht gut zusammen, da keine neuere Kernelunterstützung da ist.

    Jetzt sehe ich, dass Ihr auch LE images baut.

    1) Welche HW Beschleunigung geht denn bei LE? Welches Ausgabeplugin?


    2) Welches Image empfehlt Ihr mir also? CE oder LE? Welche Version?


    Danke für eine kurze Erhellung!

    Hi,

    es baut wieder.

    Probleme beim Betrieb:

    i) das Plugin live crashed den vdr

    ii) ir-keytables crashed (obwohl ich keine Änderung vorgenommen habe)

    meson-ir scheint so funktionieren. Nach Drücken einer oder zwei Tasten kommt:

    ir-keytable -t -p NEC

    Protocols changed to nec

    Testing events. Please, press CTRL-C to abort.

    338391.002657: event type (0x40004): code = 0x00, value = 338391

    Segmentation fault

    Bei mir hat ein ./build-local -i -0 bei nss gescheppert.


    /bin/sh: 1: ../../coreconf/nsinstall/Linux5.13_x86_cc_glibc_PTH_DBG.OBJ/nsinstall: not found


    es gibt einen pfad der heißt:


    ../../coreconf/nsinstall/Linux5.13_x86_64_gcc_glibc_PTH_64_OPT.OBJ Linux5.13_x86_64_cc_glibc_PTH_64_OPT.OBJ


    Zabrimus wo kann man das fixen. Sieht nach einem falschen compile flag aus.

    Cool, bei mir klappt das auch ohne libplacebo gut, wenn ich glxMakeCurrent auskommentiere.


    Mit Placebo (Ich bin ja ein Fan von Jojo's Arbeit) klappt es leider nicht so gut:


    Im Moment ist es so, dass bei Vollbild das Bild einfriert, wenn ich Fullscreen mache und die Glotze (oder einen anderen UHD Monitor) ausschalte und wieder einschalte. Keine Ahnung woher das kommt.


    Merkwürdigerweise funktionieren bei mir VLC und MPV gut.

    Update zu meinen Beobachtungen:


    Ohne Placebo:

    Wenn ich vdr ohne "-D" starte geht ein "DETA"/"ATTA", danach kommt wieder die Fehlermeldung "GLXBadContextTag" und vdr hängt komplett.

    Das heißt für mich, alle, die softhdcuvid benutzen (ohne placebo) habe das Problem, wenn das Plugin ab und zu mal detached werden soll. Resize geht aber (slowly).


    Mit Placebo:

    Mit lib placebo tritt das Problem auch auf, äussert sich aber anders: da crashed der resize sofort .


    Ohne Placebo:

    jojo61 Wenn ich in video.c Zeile 1230 den Befehlt: glxMakeCurrent auskommentiere tritt obiger Fehler nicht auf!

    Zabrimus Du könntest das ausprobieren, ob dann Dein ATTA/DETA Problem weg ist. (Bei mir ging das nach zwei Zyklen erst los).
    Du übersetzt ja auch ohne libplacebo?!

    Dann funktioniert sowohl rezise (slowly), fullscreen und zurück per Mausklick.

    Entsprechend geht auch "DETA"/"ATTA" beliebig oft.


    Warum braucht man eigentlich: glXMakeCurrent(XlibDisplay, None, NULL);

    Wenn danach eh alles platt gemacht wird?

    Oder muss man die anderen Contexte begraben und dann glXMakeCurrent aufrufen? Sorry für die blöden Fragen.

    Stimmt, resize scheint nicht zu funktionieren. Da ich TV immer im Vollbild schaue ist mir das noch nicht aufgefallen :)


    Ich fürchte das kann ich auch nicht beheben.

    Danke schon mal fürs testen.

    Ich habe jetzt mal ohne libplacebo übersetzt dann geht es erstmal mit dem resizing.

    Allerdings dauerte es ein paar Sekunden bis das Bild wiederkam.

    Aber: der "Deta" ging auch schief: GLXBadContextTag.... GLXMakeCurrent...


    Ich habe das parallel gefunden:

    https://github.com/mpv-player/mpv/issues/8360


    Nachdem ich einen neueren Nvidia Treiber von hier

    https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa

    installiert habe, gab es keinen Unterschied.


    vlc funktioniert übrigens, dort ist libplacebo v4.192.1

    Das sind libplacebo Fehlermeldungen. Sieht so aus als ob es das ändern der Screensize nicht verkraftet.


    Versuche mal libplacebo mit opengl zu nutzen. Dazu musst du im Makefile LIBPLACEBO_GL ?= 1 setzen

    Leider bin ich da bei video.c auf diese Fehler gelaufen:

    warning: implicit declaration of function ‘glewInit’; did you mean ‘glutInit’? [-Wimplicit-function-declaration]

    972 | GLenum err = glewInit();

    error: GLEW_OK’ undeclared (first use in this function); did you mean ‘GL_OR’?

    974 | if (err != GLEW_OK) {

    error: eglDisplay’ undeclared (first use in this function); did you mean ‘EGLDisplay’?

    847 | eglMakeCurrent(eglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, eglSharedContext);

    error: eglSharedContext’ undeclared (first use in this function); did you mean ‘glxSharedContext’?

    847 | eglMakeCurrent(eglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, eglSharedContext);


    Vermutlich sind ein paar includes falsch?

    Das sieht mir eher danach aus als ob der NVIDIA Treiber mit dem Fernseher ein Problem hat. Evtl. mit den EDID Daten.

    Beim ATTA wird nichts mit dem HDMI Port gemacht ausser das das X Fenster in den Vollbildmodus schaltet. Aber das hat nichts mit dem HDMI Port zu tun.

    hab ich auch erst gedacht, daher habe ich diverse tweaks in xorg.conf gemacht. Das ist es aber nicht.

    Das habe ich jetzt gefunden:

    i) vdr als normaler user gestartet, mit softhdcuvid -D.

    ii) dann in der normalen jammy, xorg.session (kein wayland), atta gemacht: läuft gut.

    iii) dann ein Zyklus deta/atta/deta/atta: läuft gut.

    iv) dann mit der Maus auf das Fullscreen Fenster geklickt. Das führt Absturz und der vdr spukt folgende Fehlermeldung aus:

    Code
    error: Retrieving query pool results: VK_ERROR_DEVICE_LOST (../src/vulkan/gpu.c:
    111)
    error: vk->QueueSubmit(cmd->queue, 1, &sinfo, cmd->fence): VK_ERROR_DEVICE_LOST 
    (../src/vulkan/command.c:481)
    
    error: Retrieving query pool results: VK_ERROR_DEVICE_LOST (../src/vulkan/gpu.c:
    111)
    error: vk->QueueSubmit(cmd->queue, 1, &sinfo, cmd->fence): VK_ERROR_DEVICE_LOST 
    (../src/vulkan/command.c:481)
    error: Failed holding swapchain image for presentation

    Das gleiche Phänomen ist auch zu beobachten, wenn softhdcuvid attached ist und ich die glotze ausschalte und wieder einschalte. Ich hatte also nicht gecheckt, dass es was mit dem Fullscreen zu tun hat.

    Das kann eigentlich nur an der "falschen" libplacebo liegen. Du könntest mal ohne libplacebo übersetzen. Mal sehen ob es dann auch noch passiert.

    Danke, das war der richtige Hinweis. Unter /usr/local hatte sich noch eine alte version versteckt.


    Jetzt kompiliert das plugin, wie es ja auch soll und ich kann mit dem testen anfangen. Ich werde erstmal an der Symptomatik arbeiten und genaueres berichten.


    Ein merkwürdiger Effekt war, dass das Plugin lief (ATTA) und bei Einschalten der Glotze (Ein LG OLED) das Bild nach weniger als einer Sekunde einfriert, Ton lief weiter.

    Der andere Effekt: Beim ATTA (und schon eingeschaltetem TV) friert das Fenster beim Aufgehen ein, kurz bevor es im Fullscreen Modus war.
    Ich hatte zuerst an das TV gedacht (Geräteerkennung aus, etc; was mir die UHD mit 60HZ bei meiner GT 1030 erst ermöglichte), aber das wars leider nicht.

    Ich kann das hier nicht nachvollziehen. Um da weiter zu kommen brauche ich einen TraceBack.

    Danke schon mal. Ich liefere gerne einen Traceback.

    Folgendes passiert: ich starte softhdcuvid mit atta, alles geht gut.

    Dann detache ich und beim zweiten mal atta crashed sogar der vdr.

    Um weiterzukommen wollte ich softhdcuvid von Deinem git repo kompilieren.

    Hier scheitere ich aber auch schon, da:

    struct pl_frame pl_frames[CODEC_SURFACES_MAX + 1];

    einen Fehler wirft. Ebenso geht das, wenn ich mit den debtools arbeite.

    Hast Du eine Idee warum: array type has incomplete element type ‘struct pl_frame’ kommt?


    Das ist das build command:


    make video_test

    cc -DVIDEO_TEST -DVERSION='"3.6"' -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I./opengl -I./ -DPLUGIN_NAME_I18N='"softhdcuvid"' -D_GNU_SOURCE -DDEBUG -DHAVE_GL -DAV_INFO -DAV_INFO_TIME=3000 -DUSE_MPEG_COMPLETE -DH264_EOS_TRICKSPEED -DUSE_VDR_SPU -DUSE_OPENGLOSD -DUSE_GLX -DPLACEBO -DCUVID -DUSE_SCREENSAVER -DGIT_REV='"115f3b1"' -g -W -Wextra video.c \

    -lfreetype -lEGL -lEGL -lplacebo -lEGL -lGL -lswresample -lavutil -lswscale -lavcodec -lavfilter -lasound -lxcb-screensaver -lxcb-dpms -lrt -lX11-xcb -lX11 -lxcb-icccm -lxcb -L/usr/lib64 -lcuda -lnvcuvid -lGLEW -lGLU -ldl -lglut -o video_test

    Ergänzung:

    mit Jammy compiliert softhdcuvid und libplacebo nicht mehr bei mir, obwohl ich das libplacebo-dev von Seahawks nutze.



    Code
    video.c:1401:21: error: array type has incomplete element type ‘struct pl_frame’
     1402 |     struct pl_frame pl_frames[CODEC_SURFACES_MAX + 1]; // images for Placebo chain

    hi,

    ich habe ebenfalls Probleme mit softhdcuvid.


    Mein system ist ein ubuntu jammy, ubuntu desktop installiert. vdr+plugins von seahawk.

    Ich habe entsprechend Seahawk's softhdcuvid am start, also mit LIBPLACEBO ?= 1


    Seit einem update läuft dort Wayland und entsprechend XWayland.


    Beim Startup des systems wird vdr via systemd gestartet, mit softhdcuvid detached (-D).

    Dann logge mich in den desktop ein, mache ein xhost + und attache softhdcuvid.


    Das Problem: Das erste ATTA geht bei mir gut, beim ersten DETA crashed vdr.


    Mein Verdacht ist, dass es sich um eine Wayland Geschichte handelt, das müsste ich aber noch verifizieren.

    Das ist doch zum Mäusemelken X(Jetzt habe ich meine Fonts verloren. Teletext, Skin, ...

    Bin auf der Fehlersuche.


    Edit:

    Jetzt sollte wieder alles funktionieren.

    Hi Zabrimus,

    eine dumme Frage: Wie update ich denn Deine Installation? Muss ich jedesmal wieder in einen komplett neuen Build Prozess anstossen?

    Beim Einspielen von Fonts vermutlich nicht, aber sonst?
    git pull; ./build-local.sh -t -0 ?


    Nochmal Danke für Deine tolle Initiative! Macht Spass!

    Hallo allerseits,

    kurz eine kleine Ergänzung, das bauen des CoreElec Images selbst betreffend:

    Beim bauen des packages "nfs-utils" bekam ich ein 404.

    Ich habe dann bei sourcefourge nachgeschaut und darauf hin in:


    ./CoreELEC/packages/network/nfs-utils/package.mk die PKG_URL geändert:


    # original was not working: PKG_URL="https://iweb.dl.sourceforge.net/project/nfs/nfs-utils/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2"


    works for me

    PKG_URL=https://downloads.sourceforge.net/project/nfs/nfs-utils/2.6.1/nfs-utils-2.6.1.tar.bz2


    Zabrimus vielleicht magst Du das ja mal verifizieren.

    Das hängt nicht an mir. Das müssen die Entwickler von CoreELEC machen. Das ganze Buildsystem umzustellen, ist mir alleine zuviel Aufwand und ich bin auch nicht sicher, ob ich das erfolgreich zuende führen könnte. Es gab kurz einen Versuch, aber da wurde schnell klar, daß viel umgebaut/aktualisiert werden müsste.

    Danke, dann installiere ich Fokal nochmal neu.

    Zabrimus gibt es eine Möglichkeit, das auf Basis von Jammy zu machen. Nur eine bescheidene Frage.