Bin die ganze Zeit schon am lesen, habe auch schon die Pakete mal so übersetzt. Finde das Projekt super.
Wann gibt es yavdr Pakete dazu? Und wie sieht es mit den vdr patches aus?
Bin die ganze Zeit schon am lesen, habe auch schon die Pakete mal so übersetzt. Finde das Projekt super.
Wann gibt es yavdr Pakete dazu? Und wie sieht es mit den vdr patches aus?
Hi rell ich habe gesehen, es gibt jetzt 12.0 Images für AMLOGIC für LibreElec:
https://test.libreelec.tv/12.0/Amlogic/box/
Macht es Sinn, das mal zusammen mit VDR auszuprobieren? Oder andersrum: Baut Ihr die jetzt eventuell jetzt auch mit?
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
Upps ich glaube die cuvid Variante geht nicht mit opengl. Sorry für die Verwirrung.
Gib dem PLugin mal ein -g 1920x1080 als Parameter mit.
Dann funktioniert es, solange das Fenster nur verschiebe. Sobald ich das Fenster resize crashed es.
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:
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
Ok, ich habe jetzt folgendes beobachtet:
In Jammy, wenn ich den TV einschalte friert softhdcuvid ein.
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 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.
Alles anzeigenIch muss gerade an die Inflation von Logging-Frameworks und Programmiersprachen denken und komme dabei automatisch auf einen Comic von xkcd.
Meine Ziele:
- VDR/Plugins nativ auf CoreELEC Boxen
- Einfache Installation (ohne ein neues Image oder alternativ ein neues CoreELEC Image mit VDR/Plugins)
- Einfacher Wechsel von VDR <-> Kodi
Bis auf den letzten Punkt ist die Sache mittlerweile ziemlich rund. Ich habe es bei mir aktuell so eingestellt, daß automatisch nach einem Reboot erst VDR gestartet wird. Aber so ganz zufrieden bin ich noch nicht.
Das Repository befindet sich auf Github:
https://github.com/Zabrimus/CoreELEC
Die Hauptarbeit findet im Branch 19.4-Matrix-VDR statt.
Releases werden automatisch gebaut und die aktuelle Version ist 0.1.4 (ca. 46 MByte gepackt).
Es gibt keine Packages, sondern nur ein tar Archive (all in one) mit VDR und allen bisher vorhandenen Plugins und den notwendigen Libs.
Eigentlich sollten keine Bestandsdaten in /storage überschrieben werden. Neue Verzeichnisse werden angelegt:
- /storage/.config/vdropt
- /storage/.config/vdropt-samples
- /storage/.fonts
- /storage/.opt/vdr
Installation ist simpel:
cd / && tar -xf /storage/coreelec-19-vdr.tar.gz
wenn das Archiv nach /storage kopiert wurde)
Sinnvoll ist dann noch das entpacken der Konfigurationsdaten:
cd /opt/vdr/bin && ./install.sh -i
In /storage/.config/vdropt befinden sich dann die Default Konfigurationen von VDR und den Plugins.
Für ein Update führe ich nach dem entpacken von coreelec-19-vdr.tar.gz, statt install.sh -i
ein install.sh -C aus. Damit werden die Bestandkonfigurationen mit den neuen "gemischt". Das ist natürlich nur sinnvoll, wenn es neue Konfigurationen/Plugins gibt.
Es kann natürlich noch sein, daß etwas nicht richtig funktioniert. Auch weil ich einfach nicht weiß, wie ich alle Plugins testen soll.
Aber dafür (und für neue Pluginwünsche) gibt es dann die Issues auf Github.
Weitere Informationen (auch zur Deinstallation, falls man sich dafür entscheiden sollte) findet sich auf Github.
Zabrimus gibt es eine Möglichkeit, das auf Basis von Jammy zu machen. Nur eine bescheidene Frage.