Friday, May 24, 2013

New 3.0.36+ kernel for Linux on RK3066 devices

The kernel you can find on Picuntu releases is 3.0.8-alok+, but a few weeks ago I found a 3.0.36 kernel for RK devices in github, which was released by Spanish tablet maker bq (support them if you can by buying their devices).

I soon set out to compile it for use with Linux, with some help from fellow developer Omegamoon, who is also doing a great work on OpenELEC XBMC Linux for RK devices.

Then, after adding some of the kernel fixes I've published in previous blogposts (to me the most important is the one that fixes support for 1080p monitors) as well as adding Mali 3D HW acceleration support (thanks Olegk0 for your great work!) I tested this kernel and it's more stable than the previous.

I've also noticed that an issue with USB has disappeared (on kernel 3.0.8 I experienced USB dis-/re-connects very often, which disabled USB devices for several seconds).

Please note that I am so in love with the extreme low power nature of these devices and their noiselessness that I am using my Measy U2C as a "PC stick" and work with it as much as I can (using the excellent lightweight XFCE windows manager), since you can install all the SW in the Ubuntu Software Center plus any other programs can be compiled straight away for ARM from within Picuntu itself (no need for cross-compilers).

Xubuntu on kernel 3.0.36+ running with Mali 3D on my RK3066 stick

All my code changes and fixes are publicly available in my github repositories (in this case here) but, since many people are not too comfortable compiling the kernel from sources, I've decided to release a generic 3.0.36+ image and modules+firmware so you can enjoy too this new level of stability and performance with your Linux.

You can find the 1080p kernel 3.0.36+ for RK3066 recovery image here (compressed with .7z)
and the 720p kernel 3.0.36+ for RK3066 recovery image here (compressed with .7z)
And the modules+firmware here (also .7z to be decompressed in the root folder of your Picuntu MicroSD).

My recommendation is to also install the following enhancements to your MicroSD filesystem:
- Flash support for Chromium web browser
- Mali 3D HW XF86 drivers (the above kernel includes the necessary Mali modules, but to enable them you also need these steps, except the last step of kernel compilation!)
- If you are going to use your stick as a PC, I strongly recommend adding a swap file to avoid "deadlocking" your Linux due to lack of RAM, look for "swap" here

BTW, I've enabled RK903 Wifi driver on the kernel configuration. However, I don't own a stick with the RK903, so I can't test if it works. In any case don't expect Wifi chips that didn't work with previous kernel to work with this one, since nothing has changed there, afaik.

If you find any troubles, I usually answer questions on Miniand's Linux forum, so don't hesitate to post your issues there :)