Hello,
Is it possible to use the Mali user space drivers on the Nexus 10 available at http://malideveloper.arm.com/develop-for-mali/drivers/mali-t6xx-gpu-user-space-drivers/ with stock Google firmware for OpenCL development? I don't want to change/debug the OS itself, so I don't think I should follow the guide at http://community.arm.com/docs/DOC-10124
If so, which exact firmware version is required for the r5p0-06rel0 drivers? The device has 3 different flavors of Android 5.0 available by Google (here: https://developers.google.com/android/nexus/images#mantaray - 5.0, 5.0.1 and 5.0.2), none of them seem to work with this driver properly, I get errors when calling OpenCL functions (usually CL_OUT_OF_HOST_MEMORY when calling clGetDeviceID), a similar thing I encountered when using nonworking Linux kernel + user space driver combination on a Samsung Chromebook 2, so I think (hope) the same happens here, and just need the correct combination.
What about the older r4p1-00rel0 / r4p0-02rel0 drivers, what exact firmware version should they work with?
My program works on both a Qualcomm-based Samsung Galaxy S5, and on a Samsung Chromebook 2, so both Android and Mali work (separately..), I am just missing a proper driver on the Nexus.
Thank you for your help,Robert
Hi Robert,
The drivers consist of two parts, the Kernel Module, and the user-space drivers. Both parts are available separately through Developer for you to use and the Nexus 10 is supported. The userspace drivers are available as prebuilt binaries ARM Mali Midgard GPU User Space Drivers - Mali Developer Center, the kernel side is available as source from Open Source Mali-T6xx, Mali-T7xx & Mali-T860/T880 GPU Kernel Device Drivers which needs to be built against the kernel of the device you are running on.
The version of userspace and kernel side need to match in order to work.
In this case I would suggest following the Android from scratch guide Android from scratch on Google Nexus 10 with ARM Mali GPU is the easiest way to get this working for you, unless you feel able to do the kernel side driver/kernel integration, build and deploy onto the device yourself.
Hope this Helps,
Rich
The Mali driver has a Renderscript front-end to support compute in Android and this doesn't allow native OpenCL applications to run directly. Stock drivers for Android usually come with only Renderscript support, although some also support OpenCL depending on the vendor. The next public binaries r6p0 for Nexus 10 to be published on malideveloper.arm.com as Rich mentioned above will contain both Renderscript and OpenCL front-ends.
Guillaume