whoman Posted March 3, 2020 Posted March 3, 2020 Hello Everyone! What is the kernel config option that I need to set to enable the VPU driver? Background: I'm using the most current RK3328 RENEGADE armbian image (debian non-desktop) on my ROC-RK3328-CC (Libre Renegade). I've compiled a brand new kernel with the armbian build tool. first, I cloned and compiled gstreamer and it's plugins from Github. Everything works fine but no video acceleration... So then I clone, compile, and install libmali, mpp, gstreamer-rockchip and gstreamer-rockchip-extra, and although the new pluggins are now available to gstreamer (specifically mppvideodec), whenever I try to use mppvideodec, I recieve the following error: mpi: mpp version: 14cae9c4 author: Johnson Ding [mpp_platform]: fix wrong device getting problem mpp_rt: NOT found ion allocator mpp_rt: found drm allocator hal_h264d_api: Assertion vcodec_type & ((1 << VPU_CLIENT_RKVDEC) | (1 << VPU_CLIENT_VDPU1) | (1 << VPU_CLIENT_VDPU2)) failed at hal_h264d_init:104 hal_h264d_api: hal_h264d_init hard mode error, value=0 hal_h264d_api: Assertion 0 failed at hal_h264d_init:154 mpp_device: mpp_device_init failed to find device for coding 7 type 0 Caught SIGSEGV After searching for a while, I came across this bug report in Chinese which suggests that I don't have the RK3328 VPU driver installed:https://translate.googleusercontent.com/translate_c?depth=1&hl=en&pto=nl&rurl=translate.google.com&sl=zh-CN&sp=nmt4&tl=en&u=https://github.com/rockchip-linux/mpp/issues/52&usg=ALkJrhiZFAGMkTKx7lz28OCXBQAmjeA8mw I checked the kernel config (I'm using the armbian build tool to compile the newest kernel), and I do see "V4L platform devices" however this doesn't seem to be anything rockchip specific. Since the default Armbian desktop versions seem to have video accel already enabled, I am hoping someone might be able to give me a hint as to what process I should follow in order to properly build the correct vpu-codec kernel driver for the RK3328 I see that in the RK3328 Media Script (Rock64, Renegade) post by JMMC, he has a precompiled DEB package for librockchip-vpu0... Is this what I'm missing here? If so, can anyone point me to the source so I could build my own? So 2 questions: 1. Is there a kenrel option I should be setting in order to compile the VPU driver? 1. if not, which VPU driver code should I be compiling for mpp to work? Thanks so much for your time in reading this. 1
whoman Posted March 3, 2020 Author Posted March 3, 2020 So after looking through the device tree, I see that it's called 'video-codec' however modprobe cant find the module... I only see it in these locations: /sys/devices/platform/ff350000.video-codec /sys/bus/platform/devices/ff350000.video-codec /sys/firmware/devicetree/base/video-codec@ff350000 it doesn't appear that I have the kernel module. Any ideas where I can find the source code for the 'video-codec' kernel module? 1
whoman Posted March 4, 2020 Author Posted March 4, 2020 It turns out that it's been renamed to 'hantro-vpu' starting with 5.3. I got the kernel module compiled but now I realize there's a bunch of patches that update everything for this name changed that were not applied while using the armbian build tool. I'll open up a new thread regarding that since it's a different issue. 1
Recommended Posts