Project

General

Profile

Library libvdpau.so.1 missing (no Nvidia GPU)

Added by Ron Hermsen 7 months ago

TVHeadend Server 4.2 installed from the LibreELEC Repo gives the following error:

cat ~/.kodi/userdata/addon_data/service.tvheadend42/service.log

/storage/.kodi/addons/service.tvheadend42/bin/tvheadend: 
error while loading shared libraries: libvdpau.so.1: 
cannot open shared object file: No such file or directory

I'm using a LibreELEC community build (link) that doesn't include Nvidia drivers.
(used image: RetroELEC-Generic.x86_64-9.2-devel-20200117095917-28eddc2.img.gz)

Is there a solution/workaround to use TVHeadend Server 4.2 without having Nvidia drivers installed?

The system I use has an integrated Intel GPU:

# lspci -v -s 00:02.0
00:02.0 VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 22) (prog-if 00 [VGA controller])
        DeviceName:  Onboard IGD
        Subsystem: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller
        Flags: bus master, fast devsel, latency 0, IRQ 118
        Memory at 90000000 (64-bit, non-prefetchable) [size=16M]
        Memory at 80000000 (64-bit, prefetchable) [size=256M]
        I/O ports at f000 [size=64]
        [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
        Capabilities: [d0] Power Management version 2
        Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [b0] Vendor Specific Information: Len=07 <?>
        Kernel driver in use: i915


Replies (2)

RE: Library libvdpau.so.1 missing (no Nvidia GPU) - Added by saen acro 7 months ago

This library need to come with your OS, it's not connected to TVH.
Search in OS support forums of LibreELEC/ RetroELEC

Shortly this library make GPU hardware acceleration accessible to Kodi video player.

RE: Library libvdpau.so.1 missing (no Nvidia GPU) - Added by Ron Hermsen 7 months ago

Saen thanks for your reply.

TVH is compiled with this library as a dependency:

ldd ~/.kodi/addons/service.tvheadend42/bin/tvheadend
        linux-vdso.so.1 (0x00007fffc11e3000)
        libhdhomerun.so => /usr/lib/libhdhomerun.so (0x00007f128aeb7000)
        libssl.so.1.1 => /usr/lib/libssl.so.1.1 (0x00007f128ae1b000)
        libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x00007f128ab2e000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007f128ab13000)
        libavahi-common.so.3 => /usr/lib/libavahi-common.so.3 (0x00007f128ab05000)
        libavahi-client.so.3 => /usr/lib/libavahi-client.so.3 (0x00007f128aaf1000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007f128a9a5000)
        libva.so.2 => /usr/lib/libva.so.2 (0x00007f128a980000)
        libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f128a96d000)
        libgnutls.so.30 => /usr/lib/libgnutls.so.30 (0x00007f128a7c0000)
        libva-drm.so.2 => /usr/lib/libva-drm.so.2 (0x00007f128a7bc000)
        libvdpau.so.1 => not found
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f128a694000)
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f128a68f000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f128a66d000)
        librt.so.1 => /usr/lib/librt.so.1 (0x00007f128a663000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f128a483000)
        libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f128a432000)
        libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007f128a383000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f128d2fd000)
        libnettle.so.6 => /usr/lib/libnettle.so.6 (0x00007f128a34a000)
        libhogweed.so.4 => /usr/lib/libhogweed.so.4 (0x00007f128a311000)
        libgmp.so.10 => /usr/lib/libgmp.so.10 (0x00007f128a29c000)
        libidn2.so.0 => /usr/lib/libidn2.so.0 (0x00007f128a24e000)
        libatomic.so.1 => /usr/lib/libatomic.so.1 (0x00007f128a244000)
        libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007f128a232000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f128a20b000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f128a206000)

And unfortunately a Nvidia driver is currently not included in the RetroELEC image.

From what I have found this library is for hardware acceleration specifically for Nvidia GPU's.

VDPAU (Video Decode and Presentation API for Unix) is an open source library (libvdpau) and API originally designed by Nvidia for its GeForce 8 series and later GPU hardware
 targeted at the X Window System This VDPAU API allows video programs to offload portions of the video decoding process and video post-processing to the GPU video-hardware.

Currently, the portions capable of being offloaded by VDPAU onto the GPU are motion compensation (mo comp), inverse discrete cosine transform (iDCT), VLD (variable-length decoding)
and deblocking for MPEG-1, MPEG-2, MPEG-4 ASP (MPEG-4 Part 2), H.264/MPEG-4 AVC and VC-1, WMV3/WMV9 encoded videos. Which specific codecs of these that can be offloaded to the GPU
depends on the version of the GPU hardware; specifically, to also decode MPEG-4 ASP (MPEG-4 Part 2), Xvid/OpenDivX (DivX 4), and DivX 5 formats, a GeForce 200M (2xxM) Series (the 
eleventh generation of Nvidia's GeForce graphics processing units) or newer GPU hardware is required.
    (1-2/2)