I'm establishing a startup company and decided to use ARM devices as thin clients for my company's VDI solution. I have recently bought an RK3288-based device which uses a MALI-764 GPU. The device has Ubuntu 14.04 installed, but it is missing the 3D Hardware Acceleration functionality due to missing MALI 764 drivers.
However, I found the drivers available on Developer.
My question is: How can I compile these drivers to gain full 3D hardware acceleration on my linux-based device?
You will need to get drivers from Rockchip (both the user-space and kernel parts). The open source drivers on Mali Developer are only the GPL kernel parts from ARM, and therefore exclude vendor-specific chip integration (such as power management and DVFS).
I also contacted Rockchip and the response I received was:
Sorry， We can't release anything about mali without ARM's permission, even the binary.
So we end up with a vicious cycle of no one claiming responsibility. Unfortunately Linux GPU drivers/support is currently one of the achilles heel for ARM SOC's. Having spent the last few years developing under ARM I can now see why there is renewed interest in the newer generation of low cost Intel SOC's where its possible to get out-of-box GPU (and VPU) support for Linux.
I try to compile Qt5 for rk3288,but Qt5 GUI is depend on opengl .....
Then,I see this, I can't find any method to solve the rk3288 GPU driver....
if you have any suggestion,please tell me ,thank you.
Assuming you mean OpenGL ES, then the BSP you got from Rockchip should contain the Mali GPU drivers. If it does not, you need to contact Rockchip and ask if/when they plan to release the binaries for that device.
Many thanks for the response Chris, what would be very useful if ARM made this clear to Rockchip (or other licencees ) because I don't feel the message about their ability (and/or responsibility) to distribute is clear.
As a side note, some of our customers initially had high hope of using ARM for the commercial products. The lack (and frustration) of Linux GPU support has meant they moved to x86.
Companies always tend to understand very late, after they lose a lot of their customers because of such issues.
I will keep looking at this issue for a while, then I'll have to move to x86 if I don't achieve any progress.
Thank you for the feedback on you and your customers experience, it is very valuable indeed. Hopefully this is resolved in time.
There is a development board based on the RK3288 called Firefly. This wiki page explains how to build the Linux kernel with the Mali driver r4p1 already integrated, and it might be easy to get it to boot on your platform:
Build Kernel - Firefly wiki
We also have a web page where we publish binary user-side drivers.
It doesn't currently have the Mali-T76x flavours but we're planning to add it for Linux (fbdev and X11) by the end of January.
Guillaume thanks for the update. Just to clarify, the user space drivers that are planned to be delivered are they compatible to run any SOC which has Mali-T76x or are we expected to request these binaries from the Licencee?
The binaries on our website guillaume.tucker mentioned have been tested on the Nexus 10, Samsung Chromebooks, and Arndales. There is a chance that these binaries will work on other platforms, but as we have not tested them, we cannot guarantee that they will work.
Linux is more forgiving than Android, as Android may have more customisations that each separate device may rely on, which isnt part of the generic builds we have in house.
In short, binaries we produce on the website 'may' work on your devices, but they may not, or there may be performance issues or bugs as a result due to incompatibilities in the integration layer which we do not control.
For an official and fully supported binary, the best option is to contact the SoC vendor for their binary.
I hope this helps,