With a support entitlement you can also get direct access to our team of highly-qualified Arm experts 24-hours a day
Open a support case
Hello. I've compiled that driver. https://github.com/mripard/sunxi-mali
The kernel is latest Armbian for Orange Pi Lite, its version is 4.14.4, next branch.
I tried to enable included Mali driver, but it's for another device, so I disabled it.
One important note about the driver - I used 145c517 "Fix build against 4.14" commit. Latest commit had some troubles.
There's also note. The dirty hack is present in the source - it's even written in the file, and they say "to be eventually removed".
<../mm/cma.h> Charming. It's created during the patch. And there's even no cma.h in the headers. So I have to copy mm folder from the source and change that string during the build.
After the build, I noticed that there's no ump.ko. It's even disabled in build.sh, USING_UMP=0. Also, the UMP provided is broken, "incompatible pointer" to pagefault or whatever it was. So there's no option to use ump (I don't know which pointers are compatible, I use Python).
Before I ever managed to get a working kernel with mali module, I built libump, fbturbo and libdri2 by that guide https://gist.github.com/kashimAstro/2708a2e420900249e7ae8bc44ff3a875. Well that setup said that access to ump is denied. Of course - there was no ump.
Then i tried libs from mali-blobs. Fbdev one say eglgetdisplay() failed. I didn't mentioned that I've fixed the udev permissions to /dev/mali before.
Setting FRAMEBUFFER won't help. I have /dev/fb0 btw.
DMA_buf, or DMABUF one just crashes the X. Maybe I should try to enable aux display in the kernel.
Now I'm thinking about how to rebuild mali userspace again without libump.
Now to the point. Which userspace and/or kernel tools should be installed additionally, what to check if something goes wrong, and am I using legacy version of the driver which needs to be replaced, finally I just want to have GLES. Also - did I forgot to mention something.
Ah yes, during the Uboot boot I have a warning Cannot setup simplefb: node not found.mali at sunxi repo is r3, mripard's is r6p2. Also README of first says something about "matching version of libump". So I need to find another source.mripard's bundle includes mali_drm, but files isn't enough. Looks like these are just headers. Or don't need at all.
ADD: I got smarter! I catched x11_dma_buf stderr output before it crashed.
It's "XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0" after 11 requests (11 known processed) with 0 events remaining."
ADD: more smarter, I looked in Xorg logs. fbdev driver is unloaded and modesetting driver is loaded instead. Trying to figure out why.
ADD: edited xorg.conf.d, forced fbdev for Card0. Now "fbioputcmap invalid argument" in xorg log.
ADD: how to change screen resolution for fbdev?
It seems that fbturbo had its own xorg conf. Copied that to xorg.conf.d. Now my driver is fbturbo. Bunch of another errors. Here:
[ 14.467] (EE) FBTURBO(0): FBIOPUTCMAP: Invalid argument[ 14.467] (==) FBTURBO(0): DPMS enabled[ 14.467] (II) FBTURBO(0): failed to enable hardware cursor[ 14.490] (II) FBTURBO(0): can't load 'mali_drm' kernel module[ 14.499] (II) FBTURBO(0): can't load 'sunxi_cedar_mod' kernel module[ 14.499] (II) Loading sub module "dri2"[ 14.499] (II) LoadModule: "dri2"[ 14.499] (II) Module "dri2" already built-in[ 14.593] SunxiMaliDRI2_Init: drmOpen failed![ 14.593] (II) FBTURBO(0): failed to enable DRI2 integration for Mali GPU