Allwinner VPU support in mainline Linux status update (week 37)

Even though the bulk of the development on the Allwinner VPU support is done, we are still working on completing the upstreaming of the kernel driver, and some progress has been made recently on this topic:

  • On September 10, core Video4Linux developer Hans Verkuil sent a pull request to Video4Linux maintainer Mauro Carvalho Chehab to get the Cedrus driver merged. This means we’re getting closer and closer to have the driver merged. Unfortunately, some last minute issues were found in the patch series, so this pull request wasn’t merged.
  • On September 13, Bootlin engineer Maxime Ripard sent a new iteration of the Cedrus driver, version 10, which addresses those issues.
  • In addition, as the Allwinner platform maintainer, Maxime Ripard has merged the patches adding the Device Tree description of the Allwinner VPU, which reduces the Cedrus patch series to just 5 patches. They are now in the branch sunxi/dt-for-4.20, which should be part of the upcoming 4.20 Linux release.
T-Shirt for Allwinner VPU campaign supporters
T-Shirt for Allwinner VPU campaign supporters

In addition to this progress on the Linux kernel driver upstreaming process, we also moved forward with delivering the perks to the companies and individuals who supported our campaign:

  • A CREDITS file has been added to the libva-v4l2-request base, thanking all our backers who pleged more than 16 EUR.
  • The T-Shirts for the backers who pledged more than 128 EUR have been sent to those in the EU. We are also working on sending the t-shirts to those outside the EU, but it takes a bit more time due to the need for customs declarations. Don’t hesitate to take a picture of you with the T-Shirt, and post it on Twitter with the hashtag #VPULinuxDriverSupporter.

Author: Thomas Petazzoni

Thomas Petazzoni is Bootlin's co-owner and CEO. Thomas joined Bootlin in 2008 as a kernel and embedded Linux engineer, became CTO in 2013, and co-owner/CEO in 2021. More details...

6 thoughts on “Allwinner VPU support in mainline Linux status update (week 37)”

  1. Is it then just a matter of having a Linux distro with 4.20 then and VLC or Kodi and it plays fine or do they need to do more on their end to support the VPU when these drivers are out?

    I’m thinking also about the various Kodi forks (just enough operating system) such as OpenELEC and OSMC.

    1. For Kodi, we had to do some additional integration to make it work with the libva-v4l2-request VA-API implementation, see the commits from Paul Kocialkowski at https://github.com/bootlin/xbmc/commits/master. We know Kodi upstream is working on integrating those changes, but they were waiting for at least one VPU driver to be very stable and capable to decode a wide range of videos, before merging this support.

      VLC is more complicated, because doing the composition in a X.org context is not straightforward. See our explanations at https://bootlin.com/blog/final-weekly-status-update-allwinner-vpu-support/ for details.

  2. First of all I want to say thank you for everybody who works under this project! Great job done!
    I need to launch Qt qml application on Orange Pi with H3 SoC. Armbian OS + X11 desktop. Am I understand right, this will work form a box after 4.20 kernel released?

    1. Your Qt QML application is using OpenGL, which requires the GPU. Our project is about supporting the VPU, that helps with video decoding. Hence, unless your Qt QML application does video decoding+rendering, the VPU is totally useless for you.

      However, your Qt QML application can already work with the mainline Linux kernel. We have done some integration of the Mali kernel drivers and we provide Mali userspace blobs that work with the upstream Linux kernel. See https://bootlin.com/blog/mali-opengl-support-on-allwinner-platforms-with-mainline-linux/ and https://bootlin.com/blog/more-opengl-binaries-for-the-mali-support-on-allwinner-platforms-with-mainline-linux/ for more details.

  3. First of All Thank you for everybody. I have a question. I want to use VPU on Allwinnwer A13 .Debian OK. but I want to use on Buildroot. How Can I add libcedrus ? Is there any doc for this ?

Leave a Reply