Jump to content

The VPU driver


Myy

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:
https://github.com/xmixahlx/pbp-tools/blob/073b0775b48d837103bc0cccde7435cc9900ff6c/pbp-install-libva
(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:
https://github.com/xmixahlx/pbp-tools/blob/073b0775b48d837103bc0cccde7435cc9900ff6c/pbp-install-libva-v4l2-request
(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)
q@tinkerboard:~/vaapi$

 

Link to comment
Share on other sites

Armbian & Khadas are rewarding contributors

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.

Guest
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.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines