Hi to all!
I've been working on getting mali 400 to work on my rk3066 device, but no luck. I'm trying to understand how to implement complete kernel-side drivers (ump secure id, modifications to rk framebuffer driver). That would be great if anyone can give me tips, point to correct resources howbto achieve this.
Thanks in advance,
tjeruzalski
Hi sghazagh,
After some research on the net and in working code I have noted following things:
- ARM provides only generic drivers, so they do not work out-of-box. They need to be configured for target platform (base addresses of GP and PP cores, cache, clock and some hardware management)
- In UMP driver (or if you plan to use DMA. but I even couldn't get to work old r3p1 drivers) you need to specify also base memory address for UMP allocation and its size
- After you are sure, that mali and UMP drivers work correctly (finds cores, brings them up and alloctes memory for any try to read/write to /dev/mali or /dev/ump) you need to add specific (used by library that provides HW acceleratiin) ioctls to LCDC driver and framebuffer driver.
- It is a difference between kernel drivers for Linux and for Android
- The secure ID ioctls are usually implemented in framebuffer driver and the function related to secure ID is in disp_ump module (need to check this)
- There is a difference between kernel drivers for tablet device and for TV Stick (I'm not sure)
- Mali supports only OpenGL ES acceleration not OpenGL (you propably know this), so glxgears will always show you no HW acceleration, unless you install library translating OpneGL calls into OpenGL ES (not sure if such library exists)
Sorry for this imprecise a bit answer but currently I'm not available to check this deeper now.
I was trying to implement HW 3D acceleration for Debian on my tablet device (Tracer OVO 2.0). System runs stable and works fine except HW acceleration. Even this message I am writing using Debian tablet :-D
That's all I know and it NEEDS to be confirmed/tested. Please look at ready kernel sources with integrated mali drivers and find out how they're integrated. For TV Stick I suggest to take a look at Picuntu distribution and its kernel source (https://github.com/aloksinha2001/picuntu-3.0.8-alok). Let me know if this helps or if you are interested in progress of it (I'm still trying to achieve this). Please also post if you're trying to get Mali working on tablet or TV Stick or other rk3066 device that has only HDMI output and if the terget system is Android or Linux distribution (for example Debian/Ubuntu).
Best regards,
TJeruzalski