Mali-400 GPU Is Now Working in Linux for Rockchip RK3188 Devices

Accelerated 3D graphics in Linux with Mali-400 via OpenGL ES has been possible for nearly a year on RK3066 devices,  but there was no such support for RK3188. This week however, both Naoki FUKAUMI and omegamoon have reported OpenGL ES to work in in their respective RK3188 devices. I don’t know which device omegamoon used, but Naoki did so in Radxa Rock, and even posted instructions to build it yourself.

es2gears OpenGL ES demo on Rockchip RK3188
es2gears OpenGL ES demo on Rockchip RK3188

They’ve mostly followed the work done by olegk0 for Rockchip, and Mali drivers build instructions provided in linux-sunxi community, and it can be summarize in 3 main steps:

  1. Cross-compile drm.ko, mali_drm.ko, ump.ko, mali.ko in a Linux machine
  2. Copy and load the four modules to your RK3188 based board or device.
  3. Install dependencies and binary Mali drivers from sunxi-linux in your Rockchip device

Once this is done you can try some OpenGL ES demos such as esgears2 or glmark2-es to test it with the framebuffer. es2gears can be installed with “sudo apt-get install mesa-utils-extra” and glmark2-es2 with “sudo apt-get install glmark2-es2“.

I had a quick try this morning, and the building worked, the four modules could load, but es2gears still rendered by software:


 

I used a different toolchain, and kernel source, so this may be the reason. TBC. A successful es2gears output should look like:


and glmark2-es2:


Further steps would be to enable X11 to use Mali, but I’m not sure this has been tried just yet.

Nevertheless, that should mean you can soon expect Linux images with support for accelerated 3D graphics for your Rockchip RK3188. This does not mean however that hardware video decoding will be possible, as Mali-400 GPU is not a VPU and does not support decoding/encoding. There is, however, a separate effort to brings hardware video decoding support in RK3188, but this should take much more time.

In other news, linux-rochip community has just started a mailing list, so you may want to join if you are interested in software development on Rockchip devices for Linux and Android.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
25 Comments
oldest
newest
Omegamoon
10 years ago

I tested mine on MK908, Radxa Rock and MK802IV so far, but support for more will follow 🙂

onebir
onebir
10 years ago

@Omegamoon A while back we were pondering which RK3188 sticks/boxes had working hardware, esp wifi under Picuntu. It was very tricky to figure out. I was wondering if maybe now there was compatibility table somewhere (which could now include the Mali GPU too)?

Omegamoon
10 years ago

@onebir, I’ve uploaded a more general sheet, not with devices but with chipsets. I hope this helps:
http://www.omegamoon.com/download/moonrock/docs/Rockchip_WiFi_Situation_20140107.pdf

naobsd
naobsd
10 years ago

if stock kernel for your device is 3.0.36+, please use it with compiled modules on my site.

onebir
onebir
10 years ago

@Omegamoon Thanks – looks like wifi support’s really come on a lot!

Omegamoon
10 years ago

This support is soon to be found in a (linux based) device near you 😉

anon
anon
10 years ago

@Omegamoon There really should be some sort of “per chipset combo” site for all those random chipset mixes used for Rockchip systems (at least for both rk3066 and rk3188), as now needing to google half a dozen main sites, and then scanning all those user-generated random sites for misc binaries/kernels/rootfs blobs is just silly. Biggest obstacle for larger Rockchip spreading (IMO) is lack of proper kernel support, Alok’s Linux3188 is an good starting point, but of course the utter lack of any modern Linux kernel, that’s a bit moot point (3.0.x doesn’t really cut it for supporting even all built-in… Read more »

anon
anon
10 years ago

@anon
s/to uniform/more uniform/g

Somebody
Somebody
10 years ago

@Omegamoon . I found the recent MarsBoard RK3066 pretty interesting. Will that one also be supported?

manny
manny
10 years ago

awesome, this is an advancement.

mo123
mo123
10 years ago

@Omegamoon

Will there be support for MT7601 Wifi?
According to your sheet there is MTK RT7601.

Anyway to include this wifi into a kernel that can be compiled for Android as no kernel sources for RK3188 has that MT7601 support at the moment?

Any news about RK3188 3.0.72/3.0.101 kernel sources.
Lots of people are still having boot issues with that and can’t get it to work.

Omegamoon
10 years ago

@anon I’ve tried to create a common base with my 3.0.72 kernel that is up on github, and I will do that again with a 3.0.101 kernel. In there I am currently testing with the devices that I have. Mali already works on MK908, MK802IV and Radxa. I have to check out the MK888/K-R42, NEO-X7 and I also want to try it on my RK3066 based MK808(B) and finally on the Cube UG30-GT2. So this is all using one kernel base, not many, as you state. I always ask people to adopt the kernel, and share the changes in that… Read more »

Omegamoon
10 years ago

@mo123 I’ll try to support multiple chipsets, but since I don’t have devices with all these chipsets I might need help. Contact me through my blog and we’ll see what we can do. Donating one of those devices is also a possibility of course 🙂

onebir
onebir
10 years ago

Anyone know the state of Linux support on something like this?:
http://www.geekbuying.com/item/324259.html

anon
anon
10 years ago

@Omegamoon OK, I have to admit, I’m one of those sad, sad persons that have just git pulled one of the kernel sources, and done only local mods to get them compile on ricer Gentoo (gcc-4.8, armhf, -mfpu=neon, etc. etc.) on one specific stick config, and never sent the fixes upstream… My bad. Of course did the basic tests of “lets diff base the Linux3188 with current Linux head”… After a week of wrangling the spaghetti, called it a lost cause, way too much changed to even get it compile, no way of upstreaming it to anything… Let alone the… Read more »

ben
ben
10 years ago

What is the difference between an graphics processing unit (gpu) and a video processing unit (vpu)? I would think that the RK-3188 (With embedded Mali-400 GPU) could do hardware encoding, no?

Also it would seem that there’s a few layers of support that are needed before this is widely used.. for example the hdmi sticks that run android, are based on a linux kernel, so not only would the android image need to compile support for it, but also the application (ex. xbmc) that runs on top of everything, or is that totally wrong?

tonikasch
10 years ago

Hi to all! I have successfully managed to get some kernel sources to compile having the right version of mali kernel drivers so sunxi-mali userspace libraries and xf86-driver-fbturbo would agree, so I have succeeded in running es2gears with around 400.000 FPS. I have to note: “Contrary to GPUs in the PC world, embedded GPUs only take care of 3D, and sometimes 2D graphics, and leave video encoding and/or decoding to another block called Video Processing Unit (VPU)” “Let’s give another short example. AllWinner A20 features a Mali-400 (MP2) GPU with 3D graphics and OpenVG support, a separate 2D engine, and… Read more »

linuxium
linuxium
10 years ago

If you just want to try then I’ve created an updated Ubuntu 12.04 RFS with the necessary kernel modules and binary userspace drivers which you can download and boot from on https://plus.google.com/109451178006683865932/posts/NEWG6Mtz5U7

Shant
Shant
10 years ago

Hello,
Can I ask what do you mean with “I used a different toolchain, and kernel source, so this may be the reason.” ? 🙂
Thank you

Shant
Shant
10 years ago

Ahhh okayy Thank you for your help…
So what is the rootfs that you are using with this kernel ?

Dan 73
Dan 73
10 years ago

There is company claiming that they are selling the m8 with the S802DD, I’m bit skeptical that it is a fake

especially when this person keeps talking to you like hey “bro” you there “bro”

http://www.dhgate.com/product/m8-em8-smart-android-4-4-kitkat-live-tv-channels/186251339.html#myaccount_orderdetail-1-null

anyone have experiences from this mob i think there fake

Shant
Shant
10 years ago

Btw Which bootloader are you using ?

Khadas VIM4 SBC