Hi,
danke für die Info!
MfG,
Stefan
Hi,
danke für die Info!
MfG,
Stefan
Hatte ich auch. Bei mir lag es am Compiler Schalter -O0. In der Make.config des vdr(!) entfernt
Ich habe das Problem mit "/video/lib/vdr/libvdr-softhdcuvid.so.2.4.0: undefined symbol: __checkCudaErrors" gefunden. Es gibt da ein paar inline Funktionen, die aber dann auch static deklariert werden müssen, sonst funktioniert das tatsächlich nur mit der Compiler-Option -O0.
Ich habe 2 Patches angehängt. compilerwarnings.patch fixt eine Menge unused-variables Warnings (bitte noch mal checken, nicht dass ich zuviel entfernt habe). Der eigentliche Fix findet sich in fix.patch.
Hallo,
ich habe die Entwicklung des Plugins hier schon länger beobachtet und das obwohl ich eigentlich meinen neuen VDR mit Intel-Grafik und vaapi laufen lassen wollte. Das hat allerdings nicht wirklich wie gewünscht funktioniert. Daher habe ich mir dann eine GT1030 in den VDR eingebaut und hier das softhdcuvid-plugin ans Laufen gebracht. Was soll ich denn sagen, sehr gute Arbeit von jojo61, nun läuft es eigentlich genauso gut wie meine alte Konfiguration mit softhddevice-opengl.
Bin hierzu auch ArchLinux umgestiegen und verwende hierzu die Pakete von VDR4Arch. Hier kam mir dann auch der Wunsch, dass ich sowohl softhdcuvid als auch libplacebo korrekt gebaut bekomme, daher habe ich für beide die entsprechenden PKGBUILDs erstellt. Wer möchte, kann diese gerne benutzen:
Ulrich Eckhardt: In Zeile 781 Deines Patches fehlt ein Semikolon, das fällt allerdings nur dann auf, wenn auch die libplacebo verwendet wird.
Mit den vier Patches hatte ich gestern beim Testen soweit keinerlei Probleme, also vor allem mit dem Ersetzen der deprecated Funktionen. Durch den DrawPixel-Patch hab ich zumindest viel weniger Fehler im Log
Gruß Doc_Hollywood
Hallo
danke für die Patches, Ich habe sie nun eingepflegt und aktualisiert.
Was libplacebo angeht: Ist ja schon "out of date" geflagt. Hoffentlich nimmt sich irgendwann jemand dem Problem an.
Ansonsten werden bei vdr4arch immer gerne Pull-Requests gesehen. Diesen kann ich dann halt erst annehmen wenn libplacebo "upstream" up-to-date ist.
Vorteil ist, dass wir von vdr4arch aus einen Auto-Sync zum AUR betreiben. Damit ist das PKGBUILD automatisch im AUR und wird automatisch mit den anderen VDR-Paketen aktuell gehalten.
Edit: Braucht es denn unbedingt die aktuelle libplacebo? So lange gibt es die ja noch nicht. Wenn die alte auch geht könnte ich einen entsprechenden Pull-Request sofort annehmen.
Hallo,
ich versuche gerade das aktuell softhdcuvid auf Fedora29 zu kompilieren, das schlägt bei mir fehl.
g++ -O3 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -Werror=overloaded-virtual -Wno-parentheses -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/alsa -I/usr/include/libdrm -I/usr/include/libdrm -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/ffmpeg -I/usr/include/ffmpeg -I/usr/include/ffmpeg -I/usr/include/ffmpeg -I/usr/local/cuda/include -I./opengl -I./ -DPLUGIN_NAME_I18N='"softhdcuvid"' -D_GNU_SOURCE -DCUVID -DHAVE_GL -DAV_INFO -DAV_INFO_TIME=3000 -DUSE_PIP -DUSE_MPEG_COMPLETE -DH264_EOS_TRICKSPEED -DUSE_VDR_SPU -DUSE_ALSA -DUSE_OSS -DUSE_OPENGLOSD -DUSE_GLX -DUSE_SCREENSAVER -DUSE_SWRESAMPLE -g -Wextra -Winit-self -Werror=overloaded-virtual -std=c++0x -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -shared softhdcuvid.o softhddev.o video.o audio.o codec.o ringbuffer.o openglosd.o -lasound -lva-glx -lva -lGLEW -lGLU -lGL -lGLEW -lGLU -lGL -lfreetype -lavutil -lswscale -lavcodec -lxcb-screensaver -lxcb-dpms -lswresample -lrt -lX11-xcb -lX11 -lxcb-icccm -lxcb -L/usr/lib64/opengl/nvidia/lib -L/usr/local/cuda/lib64 -lGLEW -lGLX -ldl -lcuda -L/usr/local/cuda/targets/x86_64-linux/lib -lcudart -lnvcuvid -o libvdr-softhdcuvid.so
/usr/bin/ld: cannot find -lnvcuvid
collect2: error: ld returned 1 exit status
make: *** [Makefile:274: libvdr-softhdcuvid.so] Error 1
installiert habe ich den vdr-2.4.0 und ffmpeg-devel-4.0.3
die nvcuvid Libraries liegen hier:
Das cuda Zeugs habe ich aus dem nvidia repo installiert, ist zwar für Fedora27, aber vielleicht funktioniert es ja.
nvcc ist 10.0.130
nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130
die ~/.bashrc wurde ergänzt um
M-Reimer ja ich brauche libplacebo 1.7.0 weil dort anpassungen für softhdcuvid gemacht wurden. Zudem erzeugt libplacebo eine config.h Datei die aber lokal gesucht wird. Diese Datei habe ich mit übernommen obwohl man sie eigentlich aus libplacebo holen müsste. Ich habe die Datei von Version 1.7 derzeit übernommen.
Versuch mal im Makefile noch ein LIBS += -L /usr/lib64/ einzufügen.
hatte ich schon gemacht, bringt aber auch nichts.
g++ -O3 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -Werror=overloaded-virtual -Wno-parentheses -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/alsa -I/usr/include/libdrm -I/usr/include/libdrm -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/ffmpeg -I/usr/include/ffmpeg -I/usr/include/ffmpeg -I/usr/include/ffmpeg -I/usr/local/cuda/include -I./opengl -I./ -DPLUGIN_NAME_I18N='"softhdcuvid"' -D_GNU_SOURCE -DCUVID -DHAVE_GL -DAV_INFO -DAV_INFO_TIME=3000 -DUSE_PIP -DUSE_MPEG_COMPLETE -DH264_EOS_TRICKSPEED -DUSE_VDR_SPU -DUSE_ALSA -DUSE_OSS -DUSE_OPENGLOSD -DUSE_GLX -DUSE_SCREENSAVER -DUSE_SWRESAMPLE -g -Wextra -Winit-self -Werror=overloaded-virtual -std=c++0x -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -shared softhdcuvid.o softhddev.o video.o audio.o codec.o ringbuffer.o openglosd.o -lasound -lva-glx -lva -lGLEW -lGLU -lGL -lGLEW -lGLU -lGL -lfreetype -lavutil -lswscale -lavcodec -lxcb-screensaver -lxcb-dpms -lswresample -lrt -lX11-xcb -lX11 -lxcb-icccm -lxcb -L/usr/lib64/opengl/nvidia/lib -L/usr/local/cuda/lib64 -lGLEW -lGLX -ldl -lcuda -L/usr/local/cuda/targets/x86_64-linux/lib -lcudart -L/usr/lib64 -lnvcuvid -o libvdr-softhdcuvid.so
/usr/bin/ld: cannot find -lnvcuvid
collect2: error: ld returned 1 exit status
Hallo,
denke mal, dass er das schon selber kann. Ihm geht es um "libplacebo", da die bei Arch nicht aktuell ist.
Einfach z. B. über das AUR auf die aktuelle Version updaten, geht nicht, da dann die Funktionen im VLC
nicht mehr zur Verfügung stehen. Einfach erstmal weglassen würde gehen, läuft auch ohne.
hatte ich schon gemacht, bringt aber auch nichts.
Codeg++ -O3 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -Werror=overloaded-virtual -Wno-parentheses -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/alsa -I/usr/include/libdrm -I/usr/include/libdrm -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/ffmpeg -I/usr/include/ffmpeg -I/usr/include/ffmpeg -I/usr/include/ffmpeg -I/usr/local/cuda/include -I./opengl -I./ -DPLUGIN_NAME_I18N='"softhdcuvid"' -D_GNU_SOURCE -DCUVID -DHAVE_GL -DAV_INFO -DAV_INFO_TIME=3000 -DUSE_PIP -DUSE_MPEG_COMPLETE -DH264_EOS_TRICKSPEED -DUSE_VDR_SPU -DUSE_ALSA -DUSE_OSS -DUSE_OPENGLOSD -DUSE_GLX -DUSE_SCREENSAVER -DUSE_SWRESAMPLE -g -Wextra -Winit-self -Werror=overloaded-virtual -std=c++0x -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -shared softhdcuvid.o softhddev.o video.o audio.o codec.o ringbuffer.o openglosd.o -lasound -lva-glx -lva -lGLEW -lGLU -lGL -lGLEW -lGLU -lGL -lfreetype -lavutil -lswscale -lavcodec -lxcb-screensaver -lxcb-dpms -lswresample -lrt -lX11-xcb -lX11 -lxcb-icccm -lxcb -L/usr/lib64/opengl/nvidia/lib -L/usr/local/cuda/lib64 -lGLEW -lGLX -ldl -lcuda -L/usr/local/cuda/targets/x86_64-linux/lib -lcudart -L/usr/lib64 -lnvcuvid -o libvdr-softhdcuvid.so /usr/bin/ld: cannot find -lnvcuvid collect2: error: ld returned 1 exit status
Die Lösung ist ein Link nach libnvcuvid.so anlegen, damit diese gefunden wird.
[root@fc29 tmp]# ll /usr/lib64/libnvcuvid*
lrwxrwxrwx. 1 root root 26 4. Jan 15:01 /usr/lib64/libnvcuvid.so -> /usr/lib64/libnvcuvid.so.1
lrwxrwxrwx. 1 root root 20 26. Dez 18:03 /usr/lib64/libnvcuvid.so.1 -> libnvcuvid.so.415.25
-rwxr-xr-x. 1 root root 2946896 12. Dez 17:14 /usr/lib64/libnvcuvid.so.415.25
Ulrich Eckhardt: In Zeile 781 Deines Patches fehlt ein Semikolon, das fällt allerdings nur dann auf, wenn auch die libplacebo verwendet wird.
Mit libplacebo unter SuSE stehe ich derzeit noch ziemlich auf Kriegsfuss. Im README steht zwar, es gäbe keine speziellen Anforderungen, aber unter SuSE Leap 15.0 habe ich das noch nicht zum kompilieren gebracht. Nachdem ich jetzt libshaderc kompiliert habe, scheint es mit vulkan zu klemmen:
[26/33] Compiling C object 'src/25a6634@@placebo@sha/vulkan_context.c.o'.FAILED: src/25a6634@@placebo@sha/vulkan_context.c.o cc
-Isrc/25a6634@@placebo@sha -Isrc -I../src -I../src/./include
-I../subprojects/xtalloc/include -I../subprojects/bstr/include
-fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall
-Winvalid-pch -std=c99 -g -Wall -Wundef -Wshadow -Wparentheses
-Wpointer-arith -Werror=implicit-function-declaration
-Werror=incompatible-pointer-types -D_ISOC99_SOURCE -D_GNU_SOURCE
-D_XOPEN_SOURCE=700 -U__STRICT_ANSI__ -fvisibility=hidden
-Wmissing-prototypes -Wno-pointer-sign -fPIC -pthread -MD -MQ
'src/25a6634@@placebo@sha/vulkan_context.c.o' -MF
'src/25a6634@@placebo@sha/vulkan_context.c.o.d' -o
'src/25a6634@@placebo@sha/vulkan_context.c.o' -c ../src/vulkan/context.c../src/vulkan/context.c:82:17:
error: ‘VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME’ undeclared here
(not in a function); did you mean
‘VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME’? .name = VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME
Edit: Vulkan 1.0.65 ist wohl zu alt.
Hallo,
denke mal, dass er das schon selber kann. Ihm geht es um "libplacebo", da die bei Arch nicht aktuell ist.
Einfach z. B. über das AUR auf die aktuelle Version updaten, geht nicht, da dann die Funktionen im VLC
nicht mehr zur Verfügung stehen. Einfach erstmal weglassen würde gehen, läuft auch ohne.
Können schon, aber ich kenne hier weder die Hintergründe noch werde ich das Plugin selber testen können.
Wenn das jemand in vdr4arch (und damit indirekt auch direkt im AUR) haben will, dann bitte einen Pull-Request. An der Stelle ist einfach mal etwas Teamwork gefragt. Ich werde mich in der Zukunft selber hauptsächlich um das Thema "VDR mit Kodi" kümmern, denn genau dafür nutze ich VDR noch: Als reines Backend hinter Kodi.
Wenn möglich bitte alle PKGBUILDs in den Pull-Request die für erfolgreiches Bauen nötig sind. Mit kurzem Hinweis welche vom AUR importiert sind. Was schon im AUR ist kann ich nicht hochsynchronisieren. Und wenn möglich, dann so, dass es sofort komplett mit repo-make baut.
Ich lese dann kurz drüber, starte einen Auto-Build für mein privates lokales Repo und wenn das sauber durchläuft trage ich die im AUR fehlenden Pakete in den Sync-Prozess mit ein.
Wird in einer zukünftigen Version pulseaudio auch unterstützt werden ?
Derzeit plane ich nicht an dem Audio Teil etwas zu ändern. Ich denke eher daran das auch für AMD Karten auf zu bohren. Bin aber noch am überlegen wie das am besten passt.
Edit: Vulkan 1.0.65 ist wohl zu alt.
Nimm die libplacebo Version vom Dezember. Damit compiliert es auch mit vulkan 1.0.65. Habe auch gerade gesehen das das neuste placebo nicht mehr unter Leap 15 compiliert. Werde mal schauen wo ich ein neueres Vulkan her bekomme,
Ich habe ein Community-repository home:Aishou mit Vulkan 1.1.73 gefunden, URL ist http://download.opensuse.org/r…shou/openSUSE_Tumbleweed/ . Damit habe ich mittlerweile die aktuelle libplacebo und softhdcuvid kompiliert bekommen. Die Tests waren auch schon erfolgreich.
Aktuell wir der Wohnzimmer-VDR neu aufgesetzt und dann kommt da auch softhdcuvid drauf.
Noch für die Akten meson ist mit 0.46 auch schon zu alt. Abhilfe schafft das devel:tools:building repository:
http://download.opensuse.org/r…ilding/openSUSE_Leap_15.0
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!