Hallo,
ich versuche aktuell den VDR auf einem Raspi3 mit einem aktuellen OS zum laufen zu bringen. Ich habe auch schon einiges ausprobiert und stosse da auf verschiedenste Probleme. Scheint als sollte man nur alte Betriebssysteme für den pi3 benutzen.
Ich habe auch das softhddevice-drm-gles unter Raspi OS bookworm getestet und damit bekomme ich sogar Bild und Ton. Allerdings funktioniert damit nicht das OSD, was mich aber erst mal nicht überrascht.
Laut der Readme kann ich das Plugin auch ohne die OSD GPU beschleunigung mit GLES=0 bauen. Das funktioniert aber bei mir nicht.
GLES=0 make
g++ -g -O3 -Wall -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/arm-linux-gnueabihf -I/usr/include/libdrm -DPLUGIN_NAME_I18N='"softhddevice-drm-gles"' -D_GNU_SOURCE -g -ggdb3 -W -Wall -Wextra -Winit-self -Werror=overloaded-virtual -c -o softhddevice-drm-gles.o softhddevice-drm-gles.cpp
g++ -g -O3 -Wall -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/arm-linux-gnueabihf -I/usr/include/libdrm -DPLUGIN_NAME_I18N='"softhddevice-drm-gles"' -D_GNU_SOURCE -g -ggdb3 -W -Wall -Wextra -Winit-self -Werror=overloaded-virtual -c -o mediaplayer.o mediaplayer.cpp
g++ -g -O3 -Wall -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/arm-linux-gnueabihf -I/usr/include/libdrm -DPLUGIN_NAME_I18N='"softhddevice-drm-gles"' -D_GNU_SOURCE -g -ggdb3 -W -Wall -Wextra -Winit-self -Werror=overloaded-virtual -c -o softhddev.o softhddev.cpp
cc -g -O3 -Wall -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/arm-linux-gnueabihf -I/usr/include/libdrm -DPLUGIN_NAME_I18N='"softhddevice-drm-gles"' -D_GNU_SOURCE -g -ggdb3 -W -Wall -Wextra -Winit-self -c -o video_drm.o video_drm.c
video_drm.c: In function ‘init_gbm’:
video_drm.c:577:15: error: ‘VideoRender’ {aka ‘struct _Drm_Render_’} has no member named ‘gbm_device’
577 | render->gbm_device = gbm_create_device(render->fd_drm);
| ^~
video_drm.c:577:30: warning: implicit declaration of function ‘gbm_create_device’ [-Wimplicit-function-declaration]
577 | render->gbm_device = gbm_create_device(render->fd_drm);
| ^~~~~~~~~~~~~~~~~
video_drm.c:578:20: error: ‘VideoRender’ {aka ‘struct _Drm_Render_’} has no member named ‘gbm_device’
578 | if (!render->gbm_device) {
| ^~
video_drm.c:583:15: error: ‘VideoRender’ {aka ‘struct _Drm_Render_’} has no member named ‘gbm_surface’
583 | render->gbm_surface = gbm_surface_create(render->gbm_device, w, h, format, modifier);
| ^~
video_drm.c:583:31: warning: implicit declaration of function ‘gbm_surface_create’ [-Wimplicit-function-declaration]
583 | render->gbm_surface = gbm_surface_create(render->gbm_device, w, h, format, modifier);
| ^~~~~~~~~~~~~~~~~~
video_drm.c:583:56: error: ‘VideoRender’ {aka ‘struct _Drm_Render_’} has no member named ‘gbm_device’
583 | render->gbm_surface = gbm_surface_create(render->gbm_device, w, h, format, modifier);
| ^~
video_drm.c:584:20: error: ‘VideoRender’ {aka ‘struct _Drm_Render_’} has no member named ‘gbm_surface’
584 | if (!render->gbm_surface) {
| ^~
video_drm.c: At top level:
video_drm.c:575:12: warning: ‘init_gbm’ defined but not used [-Wunused-function]
575 | static int init_gbm(VideoRender *render, int w, int h, uint32_t format, uint64_t modifier)
| ^~~~~~~~
make: *** [<eingebaut>: video_drm.o] Fehler 1
dirk@raspberrypi:/data1/rpi-client/raspi3/vdr/PLUGINS/src/softhddevice $
Display More
Ohne GLES=0 wird das Plugin gebaut und aktuell ist mir da aufgefallen, dass ich das OSD vom Menü nicht sehe. Das OSD wenn ich umschalte, funktioniert etwas besser, außerdem kann ich die Lautstärke nicht regeln nur entweder volle Lautstärke oder aus.
Ist das überhaupt noch vorgesehen das Plugin mit GLES=0 zu bauen?
Vielen Dank
Gruß dile