LibreELEC on Rockchip RK3288 


Due to various reasons, it has been ages since I last wrote something here. I've been working on several projects, which pretty much consumed all my spare time. I won't bother you with all the boring details.

I'm currently using a custom made Kodi distro on a couple of RK3128 and RK3229 devices, which is what I use at home as media player on daily basis. I must say, these low-end devices work pretty well. They are Android based, which adds somewhat of overhead, since I'm only using Kodi most of the time. As a media player, for me it pretty much plays eveything that I throw at it. Of course, these aren't top notch devices, but my requirements aren't top notch as well. As long as it streams 1080p HD content without too much problems, I'm happy. My huge full fledged Intel i3 HTPC hasn't been powered on for quite a while, which is an indication these small devices are a good replacement.

I've been fiddling a lot with low-end RK3128 and RK3229 devices for quite some time, and by now the RK3228 is becoming more or less the new low-end so it seems. Prices have dropped significantly, which will probably mean more RK3228-based devices will show up. Interestingly, Rockchip has started to become a little more open in terms of community support. More and more source code can be found on github, and some Rockchip employees are actively participating on IRC, which I think is a really good development. Now big-name PC vendor Asus has quietly released the Tinker Board, a Raspberry Pi-like development board, available for around EUR 60 as I write this. Hopefully that means more developers will join in to make support for Rockchip better.

As said, my current media players are still running Android. I looked into ways to get rid of that, since I only use Android to launch Kodi. It would be nice to replace Android with a more dedicated, media centric platform. I fiddled with AndroidTV for a while, but dropped it, since I couldn't fit all the pieces together to get it working. One of my long-time favorite media platform is OpenELEC. The Intel i3 HTPC I mentioned is running it. On all the previous attempts I did to get OpenELEC running on Rockchip devices, I only partially succeeded.

This time I started with LibreELEC, which is 'an evolution of the popular OpenELEC project' according to the project 'About' page. It has the same build system that I know from previous OE endeavors. I like the simplicity of it, it is easy to extend and/or adjust.

Most of the LE distro builds without any problems. I had a basic linux distro up and running in no time on my RK3128. That is, using a serial console I was able to boot into a linux command line. Kodi didn't start since it needs hardware acceleration. For the RK3128 as well as the RK3229 this means it needs support for the Mali-400 (Utgard) GPU. Both these SOCs still use the 3.10 kernel, which seems to be no longer supported by Rockchip, and although there is support in the Linux mainline kernel, there are parts that still need closed source proprietary drivers. This makes it difficult to develop on. Therefore I switched to the RK3228 as a target. This SOC uses a Mali-T764 (Midgard) GPU. A Linux 4.4 kernel is available on github as well as Mali user space binaries matching the kernel driver.

I used the Ugoos UT3+ as a target, which was kindly donated to me by Ugoos long ago. I got a serial console working by soldering wires onto the serial pads as described here, and connecting it to my USB to Serial breakout board. The stock Ugoos Android still uses the old 3.10 linux kernel. Since source code for the 4.4 linux kernel is available with proper RK3228 support, I wanted to use that. This means that the serial console was pretty much essential. Without one, you're totally blind in *ANY* kernel development. I decompiled the kernel device tree from the 3.10 kernel, and used that as a base for the 4.4 kernel. After some fiddling that gave me a working 4.4 kernel. There were still things that needed to be fixed and improved here and there, but it was good enough to continue work on LibreELEC.

Having a kernel in place, the basic LE distro was up and running on the Ugoos in no time. Like on the RK3128, it booted into a text-only terminal console. In order for Kodi to work, Mali hardware acceleration support was needed. It took me some time to figure out how to fit the pieces together, but as always, if you know how to do this, it turns out to be quite simple.



As you can see on the screenshot, LibreELEC is running nicely on my Ugoos now. I haven't tested everything yet, but first looks show that full HD movie playback is smooth, sound works, Ethernet, touch screen. Kernel needs some more love, because Wifi isn't working yet, among other things. But apart from that I think LibreELEC has a lot of potential on the RK3288.

I need to clean up my code, but then I'll upload the code on github so you can give it a try as well if you want.

[ 6 comments ] ( 1735 views )   |  permalink  |   ( 2.9 / 9839 )

<Back | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Next> Last>>