Jump to content

The VPU driver


Recommended Posts

I'm using Tinker Board (old one) with kernel `linux-image-current-rockchip`:

$ uname -a
Linux tinkerboard 5.8.18-rockchip #20.11 SMP PREEMPT Mon Nov 23 15:00:32 CET 2020 armv7l armv7l armv7l GNU/Linux

I builded libva with this script:
(with changes from `--libdir=/usr/local/lib/aarch64-linux-gnu` to `--libdir=/usr/local/lib/arm-linux-gnueabihf`)
Builded and installed without errors:

$ file /usr/local/lib/arm-linux-gnueabihf/libva.so.2.1000.0 
/usr/local/lib/arm-linux-gnueabihf/libva.so.2.1000.0: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=432f2294306d050356ab992ab286af1ab16f0eac, not stripped

Then I builded libva-v4l2-request with this script:
(with same changes from `--libdir=/usr/local/lib/aarch64-linux-gnu` to `--libdir=/usr/local/lib/arm-linux-gnueabihf`)
Builded and installed without errors:

$ file /usr/local/lib/arm-linux-gnueabihf/dri/v4l2_request_drv_video.so 
/usr/local/lib/arm-linux-gnueabihf/dri/v4l2_request_drv_video.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=4beee597e8643682867c9558e100e498c534f845, not stripped

Then I builded mvp with this commands:

$ git clone https://github.com/mpv-player/mpv-build.git
$ cd mpv-build
$ sudo apt-get install devscripts equivs fakeroot
$ mk-build-deps -s sudo -i
$ dpkg-buildpackage -uc -us -b -rfakeroot -j4

I got `mpv_2020.12.04.7c4465cefb_armhf.deb` and installed it.
vainfo looks ok, mpv linked with new compiled libva, but mpv gives me errors. How can I fix it? Did I need custom kernel patches to get h264 working with mpv?

q@tinkerboard:~/vaapi$ LIBVA_DRIVER_NAME=v4l2_request vainfo 
libva info: VA-API version 1.10.0
libva info: User environment variable requested driver 'v4l2_request'
libva info: Trying to open /usr/local/lib/arm-linux-gnueabihf/dri/v4l2_request_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.10 (libva 2.6.0)
vainfo: Driver version: v4l2-request
vainfo: Supported profile and entrypoints
q@tinkerboard:~/vaapi$ ldd /usr/bin/mpv | grep libva
	libva.so.2 => /usr/local/lib/arm-linux-gnueabihf/libva.so.2 (0xb53ce000)
	libva-drm.so.2 => /usr/local/lib/arm-linux-gnueabihf/libva-drm.so.2 (0xb4883000)
	libva-x11.so.2 => /usr/local/lib/arm-linux-gnueabihf/libva-x11.so.2 (0xb486e000)
	libva-wayland.so.2 => /usr/local/lib/arm-linux-gnueabihf/libva-wayland.so.2 (0xb41cd000)
q@tinkerboard:~/vaapi$ LIBVA_DRIVER_NAME=v4l2_request mpv --hwdec kodi_H.264-FPS_test_1080p24_L4.1.mkv
 (+) Video --vid=1 (*) (h264 1920x1080 24.000fps)
 (+) Audio --aid=1 --alang=eng (*) (mp3 2ch 48000Hz)
libEGL warning: DRI2: failed to authenticate
[vo/gpu/opengl] Suspected software renderer or indirect context.
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[vo/vdpau] Error when calling vdp_device_create_x11: 1
[vo/xv] No Xvideo support found.
[vo/vaapi] OSD format not supported. Disabling OSD.
[vo/vaapi] vaQueryDisplayAttributes() failed (the requested function is not implemented)
[vo/vaapi] Warning: this compatibility VO is low quality and may have issues with OSD, scaling, screenshots and more.
[vo/vaapi] vo=gpu is the preferred choice in any case and includes VA-API support via hwdec=vaapi or vaapi-copy.
[ffmpeg/video] h264: No support for codec h264 profile 100.
[autoconvert] Converting yuv420p -> nv12
AO: [pulse] 48000Hz stereo 2ch float
VO: [vaapi] 1920x1080 nv12
[vaapi] vaCreateSurfaces() failed (operation failed)
Could not initialize video chain.
Video: no video
A: 00:00:00 / 00:10:05 (0%)

Exiting... (Interrupted by error)


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines