Bootlin Releases Open Source VPU Driver for Allwinner Processors with MPEG2 and H.264 Video Decoding


At the beginning of the year, Bootlin – formerly Free Electrons – launched a crowdfunding campaign to bring open source Allwinner VPU driver to mainline Linux. VPU (Video Processing Unit) drivers are used to encode and decode videos. They were successfully in raising enough money from small donors, as well as several companies manufacturing Allwinner development boards including Olimex, Pine64, Libre Computer, FriendlyELEC, and Xunlong Software (Orange Pi). The amount raised (€31,612) was enough to assign two engineers to work on the main goals, as well as some stretch goals namely support for newer Allwinner H3, H5, and A64 processors, and H.265 video decoding. The good news is the company has now delivery the first release for their work on the main goals. The photo above illustrated a demo of Kodi running with bootlin open source Cedrus VPU driver on top of Linux 4.18-rc kernel. Both MPEG2 and H264 are supported, and they’ve gone a little beyond one of their […]

Bootlin Wants to Bring Allwinner VPU Support to Mainline Linux (Crowdfunding)

I wrote about Free Electrons several times in the past due to their work on porting Arm SoCs to mainline Linux. Free Electrons is no more. But don’t be sad, as it’s not because they closed shop, but instead they changed their name to Bootlin due to trademark trolls. Free Electrons Bootlin intensively worked on Allwinner processors, for example working with Next Things Co. to add CHIP board to mainline Linux, or more recently adding support for OpenGL ES in mainline Linux, albeit with closed-source user space binary blobs. The company normally work with partners for their work, but for their latest initiative aiming to bring Allwinner VPU (Video Processing Unit) to the official Linux kernel there’s asking funding from the community through a Kickstarter campaign. For those who do not know, the VPU is the IP block within the SoC used for hardware video decoding of codecs such as MPEG2, MPEG4 or H264.Bootlin already showcased a demo with Cedrus open […]

Intel Introduces Movidius Myriad X Vision Processing Unit with Dedicated Neural Compute Engine

Intel has just announced the third generation of Movidius Video Processing Units (VPU) with Myriad X VPU, which the company claims is the world’s first SoC shipping with a dedicated Neural Compute Engine for accelerating deep learning inferences at the edge, and giving devices the ability to see, understand and react to their environments in real time. Movidius Myraid X VPU key features: Neural Compute Engine – Dedicated on-chip accelerator for deep neural networks delivering over 1 trillion operations per second of DNN inferencing performance (based on peak floating-point computational throughput). 16x programmable 128-bit VLIW Vector Processors (SHAVE cores) optimized for computer vision workloads. 16x configurable MIPI Lanes – Connect up to 8 HD resolution RGB cameras for up to 700 million pixels per second of image signal processing throughput. 20x vision hardware accelerators to perform tasks such as optical flow and stereo depth. On-chip Memory – 2.5 MB homogeneous memory with up to 450 GB per second of internal […]

LibreELEC is Now Running on Ugoos UT3+ (Rockchip RK3288) TV Box

Rockchip RK3288 may have launched over two years ago, but the quad core 32-bit processor is still much more powerful than many 64-bit platforms on the market, and ASUS selected the processor for their upcoming – and not officially launched – Tinker Board. The processor was found in several Android TV boxes, but people also installed Linux on the devices, and ported Kodi 14.2 Linux to RK3288 with hardware video decoding back in 2015. The news here is that Omegamoon has recently started working on LibreELEC 8.0 port for RK3288 with a Linux 4.4 kernel, and tested it on Ugoos UT3+ TV box. Full HD movie playback is said to be smooth, Ethernet, and sound work, but WiFi still needs to be worked on. Omegamoon has released an update.img firmware which can be flashed with upgrade_tool in Linux, or AndroidTool in Windows, replaces whatever operating system you have on the eMMC flash, and works only on Ugoos UT3+ at this […]

ARM Introduces Bifrost Mali-G51 GPU, and Mali-V61 4K H.265 & VP9 Video Processing Unit

Back in May of this year, ARM unveiled Mali-G71 GPU for premium devices, and the first GPU of the company based on Bifrost architecture. The company has now introduced the second Bifrost GPU with Mali-G51 targeting augmented & virtual reality and higher resolution screens to be found in mainstream devices in 2018, as well as Mali-V61 VPU with 4K H.265 & VP9 video decode and encode capabilities, previously unknown under the codename “Egil“. Mali-G51 GPU ARM Mali-G51 will be 60% more energy efficiency, and have 60% more performance density compared to Mali-T830 GPU, making the new GPU the most efficient ARM GPU to date. It will also be 30% smaller, and support 1080p to 4K displays. Under the hood, Mali-G51 include an updated Bifrost’s low level instruction set, a dual-pixel shader core per GPU core to deliver twice the texel and pixel rates, features the latest ARM Frame Buffer Compression (AFBC) 1.2, and supports Vulkan, OpenGL ES 3.2, and OpenCL […]

C.H.I.P Board and Allwinner A13/R8 SoCs To Get VPU Support in Linux Mainline

Allwinner has mixed relationships with open source communities such as Kodi, especially due to issues with its closed-source CedarX VPU drivers, and some GPL violations. However to address the former, linux-sunxi community has been working on open source Cedrus library for the video processor unit on Allwinner processors, that’s been successfully tested on boards such as Orange Pi One. Free Electrons has gone  further, as they’ve made sure Cedrus now works with Linux mainline kernel, currently Linux 4.8, and tested it on Allwinner R8 based Pocket CHIP. The work has been done by Florent Revest, a 19 years old intern at the company, who delivered a new sunxi-cedrus driver, a Video4Linux (V4L2) memory-to-memory decoder kernel driver, and corresponding VA-API backend, with the implementations currently available on Github here and there respectively. Currently only MPEG2 and MPEG4 are working, but adding other codecs such as H.264, and video encoding is possible using the current framework. The short demo below shown VideoLAN […]

Preliminary Open Source Bootloader for Raspberry Pi Boards Released

Raspberry Pi boards require a closed-source binary to boot. I understand it this is handled by VideoCore IV GPU,  and so  far the Raspberry Pi foundation are not release source code for the bootloader, possibly due to legal reason (e.g. NDA to Broadcom). But I noticed people chatting about an open source bootloader for Raspberry Pi on sunxi-linux IRC channel. The bootloaded called rpi-open-firmware has been developed by Kristina Brooks (christinaa), who previously did some work on the VideoCore IV GPU, as you can see on her blog and github account. Kristina describe the project as follows: This is a small firmware for RPi VPU (VideoCore4) versions 1/2/3 that is capable of initializing VPU PLL (PLLC), UART, SDRAM and ARM itself. It’s intended to be used instead of stock bootcode.bin on RPi’s SD card. You need to have UART to see anything meaningful as far as output goes. This has been tested on RPi1 Model B (Hynix PoP DDR), RPi […]

Latest Ubuntu 14.10 Image for Tronsmart Draco AW80 Supports Hardware Video Decoding

Tronsmart Draco AW80 is one of the most powerful ARM mini PC on the market thanks to Allwinner A80 octa core processor, and the company also released an early Linux (Ubuntu) image at the end of last year. However, this firmware could not support hardware video decoding nor 2D/3D graphics acceleration. Since then progress has been made, and Tronsmart has just released an image with hardware video decoding. There’s still some work to be done as 4K and H.265 are not supported, and support for Kodi also needs to be implemented. At least for now you should be able to play 1080p video with VLC without issues, and the company also claims online video will play without lags. If you’d like to give it a try, download and extract Then follow Allwinner A80 firmware upgrade instructions with PhoenixSuit (Windows) or LiveSuit (Linux) firmware tool to complete the process. You need to connect a USB cable cable between the USB […]