Mainline Linux on Amlogic S905/S905X/S912 SoCs – 2018 Status Update

BayLibre is working on mainline Linux for Amlogic SoC, and in February of last year, Neil Armstrong gave a presentation entitled “Mainline Linux on AmLogic SoCs” at the Embedded Linux Conference 2017. Neil has recently (actually yesterday) given another presentation about the status of mainline Linux on Amlogic processor at linux.conf.au 2018, so we have some updated information now. He goes through the whole history of upstreaming Linux for Amlogic SoCs, but I’ll provided summary of the new features, and if you have time you can watch the video (25 minutes) embed below, or the slides. Early last year, Linux 4.10 already supported general I/Os, USB host (for S905), Gigabit Ethernet, eMMC/SD/SDIO, PSCI for SMP, and SCPI for DVFS for Amlogic processor, and BayLibre was said to be working on HDMI display support, Mali (as external module), audio input/output, and high-speed eMMC modes. Based on the slide above, with Linux 4.14, the (e)MMC driver now support HS200 @ 50 MHz, …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Open Source Mali-200 / Mali-400 GPU Lima Driver Gets New Commits

The Lima driver, a project aimed at providing an open source driver for ARM Mali-400 and Mali-200 GPUs, was introduced 4 years ago, and after some reverse engineering work, a Quake 3 demo was showcase later in 2013 with an intermediate version of the Lima drivers. However, the main developer (libv) eventually lost interest or lacked time to further work, and the latest commit was made in June 9, 2013. But another developer (oklas) committed some code to limadriver-ng just a few days ago. But don’t get too excited, as the modifications are minor with some build fixes, some other Makefile modifications, and only one C file modified with 6 new lines of code. But maybe that’s just the beginning… We’ll see. Mali-400 GPU is now rather old, so why would somebody work on this? One explanation could be C.H.I.P and Pine A64 boards are both based on Allwinner SoCs with a Mali-400 GPU, but a more likely explanation is …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Preliminary Reverse-Engineered VPU Driver (CedarX) for AllWinner A10 Plays H.264 Videos

Allwinner framework for their Video Processing Unit (VPU) in their Cortex A8 processors (A10, A13, etc..) is called CedarX. It relies on a binary blob that is working just fine for Android, but not so well for Linux. So several developers started to reverse-engineer CedarX a while back, to fix issues with Linux, and provide an open source driver. Yesterday, they upload a video to show the development progress, and show Big Buck Bunny 1080p H.264 playback using libvdpau-sunxi open source driver with mplayer, and without any binary blobs.  The video resize function are not been implemented yet, which is why we can only see the left corner of video, but nevertheless it shows an open source hardware video decoder is on the way. That means once the Lima driver for Mali-400 GPU, and libvdpau-sunxi driver for AllWinner VPU are implemented (which may still take a while), AllWinner A10 SoC will be mostly open source, and the only SoC with …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Open ARM GPU Drivers FOSDEM 2013 Video and Call to ARM Management

As I previously wrote, FOSDEM organizers are slowly uploading FOSDEM 2013 videos. One of the most interesting talk “Open ARM GPU Drivers” is now available. I’ve also uploaded it to YouTube (embedded below) to give it more exposure. Luc Verhaegen has also written a recent blog post entitled “Hey ARM!” where he announces the release of the modified source for Quake 3 Arena demo, and asks ARM to join them in making an open source driver. Open ARM GPU Drivers @ FOSDEM2013 This session covers the following key points: Problem – Binary drivers are mainly designed to run in Android, and it’s very difficult to have proper GPU drivers for Linux, and companies are not interested to release open source drivers or even just documentation, as they are not convinced it will benefit them in any way. Legal – This is actually the main issue, as open sourcing existing driver is a legal nightmare, and may cost a lot of …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Quake 3 Arena Demo Using Lima Driver is (Slightly) Faster than Mali-400 Binary Driver

As mentioned previously, Luc Verhaegen was to give a talk about the status of Lima driver (reverse-engineered Mali-200/400 GPU driver), as well as other GPU open source implementation, at FOSDEM 2013. This is now done, and part of the talk included a demo of Quake 3 Arena (q3a timedemo) running on tablet featuring AllWinner A10 SoC (Cortex A8 @ 1Ghz, Mali-400MP1 GPU @ 320 Mhz, and DDR3 memory @ 360MHz), and a 1024×600 LCD. The fact it works is already a great achievement in itself, but this demo runs at 47.2fps with Lima driver (limare), whereas it can be rendered at 46.2fps using the binary driver. In his blog, Luc also explains that apart from being 2% faster, it also uses 3% less cpu than the binary driver! Take that binary blobs! There’s still more work to do however, as this Quake 3 Arena port is not playable yet for 2 reasons: There’s no input support via the touchscreen driver yet. …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Open Source Mali 200/400 Drivers (LIMA) Demo on Android Tablet

Luc Verhaegen, the lead developer of LIMA open source project, provided an update at LinuxTag 2012 last week-end. This open-source MALI GPU driver isn’t ready for consumers yet, but the LIMA team has made some progress and showcased an OpenGL ES demos running on a Chinese tablet running Android. Luc said the tablet used for the demo is the same hardware as the Spark KDE/Vivaldi tablet, so the video demo below must be running on an AMLogic 8726-M processor with a Mali 400 GPU. The drivers already (partially) work on both Mali-200 and Mali-400 GPUs. The fragment shader instructions set is fully known and they have disassembler and assembler fully implement, but they still need to work on the compiler. The vertex shader instruction set is 80% known, they have a simple shader disassembler and are working on the assembler. You can also watch the 40 minute presentation at LinuxTag 2012 for more details on Mali-400 GPU,  the work required …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

ARM Mali-200 and Mali-400 GPU Open Source Driver Released

There has been a lot of controversy around GPU drivers and open source, as GPU drivers usually come with a blob (a binary file). If you have been lurking in Raspberry Pi forums you’ll know what I mean. But this will change thanks to Lima. No, not the capital of Peru but the open source graphics driver for ARM Mali GPUs (Mali-200 and Mali-400) also called Lima whose goal is stated as follows: The aim of this driver is to finally bring all the advantages of open source software to ARM SoC graphics drivers. Currently, the sole availability of binary drivers is increasing development and maintenance overhead, while also reducing portability, compatibility and limiting choice. Anyone who has dealt with GPU support on ARM, be it for a Linux with a GNU stack, or for an Android, knows the pain of dealing with these binaries. Lima is going to solve this for you, but some time is needed still to …

Support CNX Software – Donate via PayPal or become a Patron on Patreon