BPI-M2U Kernel/Mali discussion

What do we need to do? Do we have all the pieces?

Mali (same lib executable) works on both my BPi-M1(A20) and my OPI-2E+(H3) both running 3.4 kernel series.

All M2U images are 3.10 kernel series. Is there a different libMali.so for this kernel series? When editing 3.10 kernel config, you are unable to compile mali as a module as you would in 3.4. Rather the only option is to compile it into the kernel.

What changed between kernel version 3.4 series and 3.10?

Here are my various libMali.so’s from a few different distros


-rw-r–r-- 1 root root 1008014 Jan 9 2016 /usr/lib/libMali.so

-rw-r–r-- 1 root root 1706364 Feb 25 2016 /usr/lib/mali/libMali.so

-rw-rw-r-- 1 root root 1441057 Oct 27 2016 /usr/local/lib/libMali.so

-rw-r–r-- 1 root root 1008014 Jan 9 2016 /var/lib/bananapi/others/usr/lib/libMali.so

-rw-r–r-- 1 root root 1706364 Feb 25 2016 /var/lib/bananapi/others/usr/lib/mali/libMali.so

Armbian - OPI+2E

-rw-r–r-- 1 root root 1706364 Jun 14 18:58 /usr/lib/arm-linux-gnueabihf/mali-egl/libMali.so

Things moved to safe storage…

-rw-r–r-- 1 root root 1706364 Jan 1 2017 /disk2/PI-STORAGE/BPI-SDD/usr/lib/mali/libMali.so

-rw-r–r-- 1 root root 811116 Jan 1 2017 /disk2/PI-STORAGE/BPI-SDD/usr/src/sunxi-mali/lib/mali/r2p4/armel /framebuffer/libMali.so

-rw-r–r-- 1 root root 3369116 Jan 1 2017 /disk2/PI-STORAGE/BPI-SDD/usr/src/sunxi-mali/lib/mali/r2p4/armhf /x11/libMali.so

-rw-r–r-- 1 root root 979780 Jan 1 2017 /disk2/PI-STORAGE/BPI-SDD/usr/src/sunxi-mali/lib/mali/r3p0/armel/android/libMali.so

-rw-r–r-- 1 root root 999880 Jan 1 2017 /disk2/PI-STORAGE/BPI-SDD/usr/src/sunxi-mali/lib/mali/r3p0/armhf/framebuffer/libMali.so

-rw-r–r-- 1 root root 1706364 Jan 1 2017 /disk2/PI-STORAGE/BPI-SDD/usr/src/sunxi-mali/lib/mali/r3p0/armhf/x11/libMali.so

-rw-r–r-- 1 root root 1022268 Jan 1 2017 /disk2/PI-STORAGE/BPI-SDD/usr/src/sunxi-mali/lib/mali/r3p1/armhf/framebuffer/libMali.so

-rw-r–r-- 1 root root 1031444 Jan 1 2017 /disk2/PI-STORAGE/BPI-SDD/usr/src/sunxi-mali/lib/mali/r3p1/armhf/x11/libMali.so

-rw-r–r-- 1 root root 610084 Jan 1 2017 /disk2/PI-STORAGE/BPI-SDD/usr/src/sunxi-mali/lib/mali/r3p2-01rel1/armhf/framebuffer/libMali.so

-rw-r–r-- 1 root root 610084 Jan 1 2017 /disk2/PI-STORAGE/BPI-SDD/usr/src/sunxi-mali/lib/mali/r3p2-01rel1/armh/x11/libMali.so

@BPI_Justin @sinovoip, @noralee :

Why are there 3 different versions of libMali.so in your distro’s? Can you take some time and find the proper libMali.so for us. It’s gotta be in the R40 DDK that you got from AllWinner. Or they gave you the materials to build the library.


And, a few links…

Mali GPU Drivers | Open Source Mali Utgard GPU Kernel Drivers – ARM Developer

OrangePI-Kernel/linux-3.4/modules/mali at master · loboris/OrangePI-Kernel

A New Mali-400 Open-Source Graphics Driver Is In Development - Phoronix Forums

edit. sry about the spacing. fracking autowrap

Mali_drm.ko - this is problem))

It’s built into the 3.10 series. There is no option to compile it as a kernel module.

You guys busy? No reply… No gpu…

Maybe someone can test r6p0-01re10 kernel driver ? https://mega.nz/#!rMMXwTzS!LIj7TlEB0j8ifaY8xGUHhUcvqmbYt0m8D8wv39WF8FQ

compiled for kernel 3.10.107

I will test it tonight.

Thanks. When you will insert module (insmod mali.ko command) get dmesg log and attach there.

Here you are

maliko.log (112,1 KB)

Hallo people, I think that the kernel part of the mali driver is already part of the Git-Repository when you follow the path: BPI-M2U-bsp/linux-sunxi/modules/gpu/mali400/kernel_mode/driver/src/devicedrv/mali/ And it seems that it is already build in BPI-M2U-bsp/Makefile#51 in that area is also the ump.ko but it is removed with using_ump=0. It seems that we need the user space lib from arm to this version of mali-kernel driver. But exactly this one cannot be selected on the arm-Homepage. With https://github.com/linux-sunxi/sunxi-mali.git you have a method to select the right libmali.so, but sunxi ends to early with this solution, because you walk on the closed source way which is not the prefered one. If the solution for framebuffer driver is good enough there should be a way to get here, but this will be a single user way mit KODI-alone application.


have problem. I use https://github.com/BPI-SINOVOIP/BPI-M2U-bsp to make .configure. and driver from arm.developer And make this modules mali, mali_drm, ump, umplock.ko https://drive.google.com/drive/folders/1D8UkCxRB3FJzsO2UXzj0CnopTNTE12V7

but when i use command insmod. I get error: Invalid module format. I trying lot of options in command KDIR but without succes. modprobe tell me: module mali.ko not found in /lib/modulex/3.10.108-BPI-M2U-Kernel. nothing happend when I copy modules there.

where I do mistake? in older kernel it will be OK. but now i find driver with mali_drm. Iam not a linux user. I only use google and my head. :slight_smile:

thx for your help OG

share sources of modules. You have compiled it for another kernel version

thx oleks for tips. I compile bsp kernel on my old laptop and update system. I compile last driver from arm.developer site. but mali_drm.ko have some errors in dmesg (i download it from another site). I havent much time for play with banana. Im only study it.