vdr-plugin-softhdcuvid - softhdvaapi unable to start

  • Hi,


    Using Intel graphics driver i965-va-driver Version: 2.3.0+dfsg1-1 (intel-vaapi-driver)

    In Debian 10.1.0-amd64 I built libvdr-softhdvaapi from source https://github.com/jojo61/vdr-plugin-softhdcuvid

    In makefile I set flags

    VAAPI ?= 1

    PLUGIN = softhdvaapi

    LIBPLACEBO ?= 0

    and enabled DEBUG output flag in makefile also


    Installed the plugin and when I start vdr with plugin vdr stops with ABORT signal: codec: can't allocate HW video codec context err ffffffea


    Or I should set -v device in plugin command line option?

  • If I set plugin argument -v vaapi I see syslog error:


    ...

    Jun 29 21:58:01 SM-MC vdr: video: 'vaapi' output module isn't supported
    ...

    Jun 29 21:58:02 SM-MC vdr: [3440] [softhddev]SetPlayMode: 1

    Jun 29 21:58:02 SM-MC vdr: Set Playmode 1

    Jun 29 21:58:02 SM-MC vdr: softhddev: TrickSpeed called without hw decoder

    Jun 29 21:58:02 SM-MC vdr: [softhddev]GetOsdSize: 3840x2160 1

    Jun 29 21:58:02 SM-MC vdr: video/egl: video.c:5535 error 12296 Invalid EGL display

    Jun 29 21:58:02 SM-MC vdr: video/egl: can't create thread egl context

    Jun 29 21:58:02 SM-MC systemd[1]: vdr.service: Main process exited, code=killed, status=6/ABRT

  • # ffmpeg -hwaccels

    output is:

    ffmpeg version 4.1.4-1~deb10u1 Copyright (c) 2000-2019 the FFmpeg developers

    built with gcc 8 (Debian 8.3.0-6)

    configuration: --prefix=/usr --extra-version='1~deb10u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared

    libavutil 56. 22.100 / 56. 22.100

    libavcodec 58. 35.100 / 58. 35.100

    libavformat 58. 20.100 / 58. 20.100

    libavdevice 58. 5.100 / 58. 5.100

    libavfilter 7. 40.101 / 7. 40.101

    libavresample 4. 0. 0 / 4. 0. 0

    libswscale 5. 3.100 / 5. 3.100

    libswresample 3. 3.100 / 3. 3.100

    libpostproc 55. 3.100 / 55. 3.100

    Hardware acceleration methods:

    vdpau

    vaapi

    drm

  • # vainfo

    libva info: VA-API version 1.4.0

    libva info: va_getDriverName() returns 0

    libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so

    libva info: Found init function __vaDriverInit_1_4

    libva info: va_openDriver() returns 0

    vainfo: VA-API version: 1.4 (libva 2.4.0)

    vainfo: Driver version: Intel i965 driver for Intel(R) Kaby Lake - 2.3.0

    vainfo: Supported profile and entrypoints

    VAProfileMPEG2Simple : VAEntrypointVLD

    VAProfileMPEG2Simple : VAEntrypointEncSlice

    VAProfileMPEG2Main : VAEntrypointVLD

    VAProfileMPEG2Main : VAEntrypointEncSlice

    VAProfileH264ConstrainedBaseline: VAEntrypointVLD

    VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice

    VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP

    VAProfileH264Main : VAEntrypointVLD

    VAProfileH264Main : VAEntrypointEncSlice

    VAProfileH264Main : VAEntrypointEncSliceLP

    VAProfileH264High : VAEntrypointVLD

    VAProfileH264High : VAEntrypointEncSlice

    VAProfileH264High : VAEntrypointEncSliceLP

    VAProfileH264MultiviewHigh : VAEntrypointVLD

    VAProfileH264MultiviewHigh : VAEntrypointEncSlice

    VAProfileH264StereoHigh : VAEntrypointVLD

    VAProfileH264StereoHigh : VAEntrypointEncSlice

    VAProfileVC1Simple : VAEntrypointVLD

    VAProfileVC1Main : VAEntrypointVLD

    VAProfileVC1Advanced : VAEntrypointVLD

    VAProfileNone : VAEntrypointVideoProc

    VAProfileJPEGBaseline : VAEntrypointVLD

    VAProfileJPEGBaseline : VAEntrypointEncPicture

    VAProfileVP8Version0_3 : VAEntrypointVLD

    VAProfileHEVCMain : VAEntrypointVLD

    VAProfileHEVCMain10 : VAEntrypointVLD

    VAProfileVP9Profile0 : VAEntrypointVLD

    VAProfileVP9Profile2 : VAEntrypointVLD

  • Yes, I have the device at /dev/dri/renderD128


    # ls -l /dev/dri/

    total 0

    drwxr-xr-x 2 root root 80 Jul 1 08:24 by-path

    crw-rw---- 1 root video 226, 0 Jul 1 08:24 card0

    crw-rw---- 1 root render 226, 128 Jul 1 08:24 renderD128

  • Just a guess: is your vdr user part of the "render" group?

    Your guess was right, vdr was not in render group. Now libvdr-softhdvaapi within vdr starts without errors. In my Debian system this output plugin is playing all the channels (SD, HD and UHD) perfectly even the 60 fps playback. No frame dropping or skipping audio.

    Thanks for help. We can close this topic.