Allwinner H2 Linux & Android SDK, and Allwinner XR819 WiFi Driver Released

Orange Pi Zero is an interesting little ARM Linux board thanks to its low price, but also because it features a new Allwinner H2 / H2+ quad core Cortex A7 processor very similar to Allwinner H3 minus the 4K video decoding part, as well as Allwinner XR819 WiFi module, which I have not seen on any other boards so far. But hardware without software is pretty much useless, so developers will be happy to find out that Allwinner H2 SDK with Linux (lichee) and Android has been released or leaked, and it also includes the Allwinner XR819 WiFi driver. You’ll find the SDK on Zoobab server with three main directory / files: Android folder – Android 4.4.2 SDK lichee folder – Linux 3.4.39 source code. However you’d probably better use Linux 3.4.113 currently released by sunxi-linux, or Linux mainline. The latter does have some limitations, and may or may not […]

Linux 4.7 Release – Main Changes, ARM and MIPS Architectures

Linux 4.7 is out: So, after a slight delay due to my travels, I’m back, and 4.7 is out. Despite it being two weeks since rc7, the final patch wasn’t all that big, and much of it is trivial one- and few-liners. There’s a couple of network drivers that got a bit more loving. Appended is the shortlog since rc7 for people who care: it’s fairly spread out, with networking and some intel Kabylake GPU fixes being the most noticeable ones. But there’s random small noise spread all over. And obviously, this means that the merge window for 4.8 is open.Judging by the linux-next contents, that’s going to be a bigger release than the current one (4.7 really was fairly calm, I blame at least partly summer in the northern hemisphere). Linus Linux 4.6 brought USB 3.1 superspeed, OrangeFS distributed file system, 802.1AE MAC-level encryption (MACsec), and BATMAN V protocol support, improved […]

Linux 4.0 Release – Main Changes, ARM and MIPS Architectures

Linus Torvalds “Ima Sheep” released Linux Kernel 4.0 on Sunday: So I decided to release 4.0 as per the normal schedule, because there really weren’t any known issues, and while I’ll be traveling during the end of the upcoming week due to a college visit, I’m hoping that won’t affect the merge window very much. We’ll see. Linux 4.0 was a pretty small release both in linux-next and in final size, although obviously “small” is all relative. It’s still over 10k non-merge commits. But we’ve definitely had bigger releases (and judging by linux-next v4.1 is going to be one of the bigger ones). Which is all good. It definitely matches the “v4.0 is supposed to be a_stable_ release”, and very much not about new experimental features etc. I’m personally so much happier with time-based releases than the bad old days when we had feature-based releases. That said, there’s a few […]

Linux 3.19 Release – Main Changes, ARM and MIPS Architectures

Linus Torvalds released Linux Kernel 3.19 yesterday: So nothing all that exciting happened, and while I was tempted a couple of times to do an rc8, there really wasn’t any reason for it. Just as an example, Sasha Levin used KASan and found an interesting bug in paravirtualized spinlocks, but realistically it’s been around forever, and it’s not even clear that it can really ever trigger in practice. We’ll get it fixed, and mark it for stable, and tempting as it was, it wasn’t really a reason to delay 3.19. And the actual fixes that went in (see appended shortlog) were all fairly small, with the exception of some medium-sized infiniband changes that were all reverting code that just wasn’t ready. So it’s out there – go and get it. And as a result, the merge window for 3.20 is obviously also now open. Linus Linux 3.18 improved performance of […]

Raspberry Pi Gets Open Source 3D Graphics Drivers and Documentation

The Raspberry Pi was launched 2 years ago, and for its birthday, Broadcom decided to release documentation and open source OpenGL ES 1.1 and 2.0 driver for the Videocore IV GPU.  You may remember the Raspberry Pi Foundation already release an open source GPU driver in 2012, but this was only for the part running on the ARM11 core for Broadcom BCM2835 SoC, which is just a few hundred lines of code long, and communicates with a binary blob which does all the work in the GPU itself. This new release however goes much further with a 111 page document entitled “VideoCore IV 3D Architecture Reference Guide“, and open source driver for the 3D System of the GPU. Strangely the release is however not for BCM2835, but instead BCM21553. Broadcom clearly has the source for BCM2835 too, so this must have been made for legal reasons. VideoCoreIV packs a lot […]

Linux Kernel 3.13 Release

Linus Torvalds announced the release of Linux Kernel 3.13 yesterday: The release got delayed by a week due to travels, but I suspect that’s just as well. We had a few fixes come in, and while it wasn’t a lot, I think we’re better off for it. At least I hope so – I’ll be very disappointed if any of them cause more problems than they fix.. Anyway, the patch from rc8 is fairly small, with mainly some small arch updates (arm, mips, powerpc, s390, sparc, x86 all had some minor changes, some of them due to a networking fix for the bpf jit). And drivers (mainly gpu and networking). And some generic networking fixes. The appended shortlog gives more details. Anyway, with this, the merge window for 3.14 is obviously open. Kernel 3.12 brought new features to BTRFS and XFS file systems, PC’s GPU drivers improvements, better memory handling, […]

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 […]

Learn How to Write a Driver for Linux 3.x With The Linux Driver Template

A Linux Driver Template (LDT) has been published to help new Linux kernel developers writing hardware device drivers. Constantine Shulyupin posted the Linux Driver Template (LDT) on the Linux mailing list in order to merge it into the mainline Linux kernel. The code can be used as as a starting point for new drivers, and shows how to use several Linux facilities such as  module, platform driver, file operations (read/write, mmap, ioctl, blocking and nonblocking mode, polling), kfifo, completion, interrupt, tasklet, work, kthread, timer, simple misc device, multiple char devices, Device Model, configfs, UART, hardware loopback, software loopback and  ftracer. This sample has been added to other device drivers samples in And if you want to learn further there’s always the Linux driver bible: “Linux Device Drivers, Third Edition” which can be downloaded for free as PDF, although it’s for 2.6.10 kernel and many parts may not be up-to […]