Jump to content

Recommended Posts

Posted

Hello,

I'm trying to get the gstreamer pipeline to work with the i.MX h.264 hardware encoder and decoder. I've installed Trusty Vinilla http://mirror.igorpecovnik.com/Armbian_4.90_Cubox-i_Ubuntu_trusty_4.4.1.zip on a Hummingboard-Gate and followed the instructions for setting up the i.MX Gstreamer plugins here: 

https://github.com/Freescale/gstreamer-imx/blob/master/docs/debian-ubuntu.md 

 

gst-inspect-1.0 reports...

$ gst-inspect-1.0 | grep imx
imxvpu:  imxvpudec: Freescale VPU video decoder
imxvpu:  imxvpuenc_h263: Freescale VPU h.263 video encoder
imxvpu:  imxvpuenc_h264: Freescale VPU h.264 video encoder
imxvpu:  imxvpuenc_mpeg4: Freescale VPU MPEG-4 video encoder
imxvpu:  imxvpuenc_mjpeg: Freescale VPU motion JPEG video encoder
imxv4l2videosrc:  imxv4l2videosrc: V4L2 CSI Video Source
imxg2d:  imxg2dvideosink: Freescale G2D video sink
imxg2d:  imxg2dvideotransform: Freescale G2D video transform
imxg2d:  imxg2dcompositor: Freescale G2D video compositor

But when I try to run a pipeline with gst-launch-1.0 that includes imxvpudec I get the error message:

[ERR]	Can't open /dev/mxc_vpu: No such file or directory
[ERR]	IOSystemInit() failure.
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstImxVpuDecoder:imxvpudecoder0: Could not initialize supporting library.
Additional debug info:
gstvideodecoder.c(2131): gst_video_decoder_change_state (): /GstPipeline:pipeline0/GstImxVpuDecoder:imxvpudecoder0:
Failed to start decoder
Setting pipeline to NULL ...
Freeing pipeline ...

I have tried rebooting, but the driver still isn't listed. I've made sure to have followed the step to install the firmware...

$ ls -al /lib/firmware/vpu
total 512
drwxr-xr-x 2 root root   4096 Feb  7 07:33 .
drwxr-xr-x 8 root root   4096 Feb  7 07:32 ..
-rw-r--r-- 1 root root 253968 Feb  7 07:33 vpu_fw_imx6d.bin
-rw-r--r-- 1 root root 253968 Feb  7 07:33 vpu_fw_imx6q.bin

 What step am I missing? How do I get the proper device driver loaded? 

Posted

I am almost sure that this is not supported under Vanilla kernel. Next. You need to use the exact kernel which support bins were build for. Unfortunately kernel, for which support currently exists, is broken in some other areas - wireless, pci. If this is not a problem, than proceed with this guide and make sure you activate boot from kernel which will install with this process. It's not a perfect not fully tested solution and working only under Debian Jessie.

Posted

SolidRun official images are built on that semi broken kernel ... of course mentioned bugs are present ;) They are aware of the problems and things are in motion.

 

I am not switching working kernel on behalf of VPU while loosing PCI and wireless. Armbian primary focus is headless stable base.

 

As soon as things are fixed, we are switching to this kernel for which they are building VPU support. In the mean time it will become available (in few days) in repository under name: linux-image-dev-cubox ... so kernel switching and testing will be easy.

Posted

Thaks! That would be great. I'll keep an eye out for it. Will you announce it here when it is ready? By "repository" do you mean we can get it by just doing an apt-get? Will it will be documented here http://www.armbian.com/kernel/(I don't see a linux-image-dev-* for hummingboard listed) or is there a github or something?

Posted

Yes, it's undocumented since it was built first time yesterday and I have plans for auto weekly builds of all DEV kernels.

 

You will be possible to use VPU upgrades but you loose onboard wifi and PCI ... and I haven't test this build.

apt-get install linux-image-dev-cubox linux-dtb-dev-cubox

Use on your own risk.

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines