LE 11 choppy playback with VDPAU and NVidia

  • Hello everybody,

    I was using LibreELEC-Generic.x86_64-10.0.4 on some old laptop with Intel Core2Duo and NVidia Geforce 9300M GS (uses nvidia-legacy-340.180). I have seen, that the NVidia support has been continued in LibreELEC-Generic-legacy.x86_64-11.0.3, so I gave it a try. I am playing H264 on 1280x720. Seemingly HW Acceleration is enabled, I have CPU load about 20-30%, but the playback is choppy. It shows around 25-30 FPS. Same video on LE 10 plays seamless with the same VDPAU acceleration at ~60Hz. CPU load is similar, maybe a bit higher.

    What is the reason for the stuttering on LE 11?

    I am no linux expert, but tried my best to find something. Here are the significant differences of the two systems.

    LibreELEC (official): 11.0.3 (Generic-legacy.x86_64)

    Code
    DMMultiplexK:/etc # vdpauinfo
    display: :0.0   screen: 0
    Segmentation fault

    end of dmesg after running vdpauinfo:

    Code
    [  794.081336] vdpauinfo[819]: segfault at 0 ip 0000000000000000 sp 00007ffd7eb0b378 error 14 in vdpauinfo[400000+3000] likely on CPU 0 (core 0, socket 0)
    [  794.081380] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
    Code
    DMMultiplexK:/etc # vainfo
    Trying display: x11
    libva info: VA-API version 1.17.0
    libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
    vaInitialize failed with error code -1 (unknown libva error),exit
    Code
    DMMultiplexK:/usr/lib/nvidia # find / -name *nvidia*
    /run/kernel-overlays/modules/6.1.38/nvidia/nvidia.ko
    /usr/lib/kernel-overlays/base/lib/modules/6.1.38/nvidia/nvidia.ko
    /usr/lib/nvidia/nvidia.ko
    /usr/lib/nvidia-legacy/nvidia.ko
    /var/lib/nvidia.ko

    The same commands for LibreELEC (official): 10.0.4 (Generic.x86_64)

    nvidia-smi and lspci -kv | sed -n "/VGA compatible controller/,/Kernel modules/p" are the same.

    Code
    DMMultiplexKodi:~ # vainfo
    libva info: VA-API version 1.11.0
    libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
    libva info: va_openDriver() returns -1
    vaInitialize failed with error code -1 (unknown libva error),exit

    Thank you for your help!:)

  • Forgot to mention. If I disable VDPAU HW acceleration, the playback is fine, but of course it results in higher CPU load.

    I have tried to disable C states, but it made no difference in the quality of playback.