GPU on Ubuntu 15.04 OS, DragonBoard™ 410c

Hello.I want to use OPENGL in linux. Does the gpu drivrs works on Ubuntu?

hi,

the GPU on the APQ8016 (e.g. the SoC on this board) is an Adreno 306. There is support for this GPU in the open source freedreno driver, which is included in the Ubuntu-based releases (based on Mesa 10.6.2).

cheers

Is OpenCL supported, too? I don’t see an icd file. Is there another package to install, or do I just create the file manually? (BTW, I’m still on release 15.06.) Here’s what I tried so far:

I installed the opencl-headers and ocl-icd-opencl-dev packages and created /etc/OpenCL/vendors/test.icd manually. For the contents of test.icd, I tried both “libOpenCL.so” (w/o the quotes) as well as the full path “/usr/lib/aarch64-linux-gnu/libOpenCL.so”. In both cases, my little test program links to the library but says the number of platforms is 0.

This link shows the contents of a freedreno icd file that contains “libMesaOpenCL.so” but I haven’t found that library on the system or in any packages to install. Running ldconfig -p | grep -i mesa only turns up what appear to be OpenGL libraries plus one called “libOSMesa.so.8”.

Any help will be much appreciated :slight_smile:

OpenCL is not supported in Mesa/Gallium for freedreno driver.
cheers

Any suggestions for using OpenCL with Ubuntu on the Dragonboard 410c? I didn’t get anywhere yet with the Qualcomm Adreno SDK, which is geared toward OpenGL and Android. Supposedly, the Adreno 306 supports OpenCL 1.1.

What is the procedure of initialization GPU driver for linux. How can i check that GPU is running?

As far as I can tell, there’s no extra step needed to initialize the driver. If I type glxinfo | grep -i open I get back info about the driver version. I assume this means the GPU is working.

Any progress working with OpenCL on the DragonBoard? I’m facing the same problem at the moment and can not find the proper libraries to make this work. Any information would be useful. Thanks

1 Like

@vrmax I’m afraid not. I gave up on trying to get OpenCL working and switched to OpenGL ES and the EGL API.

Any update on OpenCL support?

From my limited playing with DragonBoard 410c, OpenCL is supported on Android but not on Linux. Does anyone know if there’s any chance of getting OpenCL supported on Linux too?

hi,

there is no support for OpenCL in the open source freedreno driver at the moment, so it is not available in the Linux releases which are based on freedreno. There is some work around OpenCL in freedreno/mesa, but nothing ready for us to use.

Thanks ndec. It’s a shame that Qualcomm do not provide Adreno drivers for Linux for this board (or indeed any Adreno-powered board?) Ah well, I’ll cross it out from my list of OpenCL-capable Linux devices, and will re-flash the board back to Android…

It also has a Qualcomm Adreno 306 400MHz GPU with a Freedreno[1] open source Linux driver for PC-class graphics with support for advanced APIs, including OpenGL ES 3.0, OpenCL, and DirectX.
Source

Does this mean OpenCL is now an option? if so can anybody provide some guidance?

hi,

i am sorry, but no… the blog post is not correct. while the adreno hardware on that CPU is capable, there is no OpenCL s/w support in mesa/freedreno. i will try to get the blog post fixed.

thanks

Thank you for the quick reply!

Do you know if there are plans to support OpenCL any any other OS (Linux or Windows) or is this confined to Android?

OpenCL is occasionally discussed on the Freedreno mailing lists but isn’t “planned”; AFAIK no-one is currently working on it and no specific date when that might change.

So you say no OpenCL but there is OpenGL.
Does the OpenGL helps to add or multiply large matrices together? Like adding two images, or squaring images?

There are some techniques that allow you to do limited GPGPU activities using just the OpenGL API. There is a high level intro here: http://jrom.ece.gatech.edu/wp-content/uploads/sites/466/2012/09/mpgoptional_f11_gpgpu.pdf .

However I should also warn you that the DB410C hardware isn’t actually designed for OpenGL it is designed for the cut-down embedded version, OpenGL ES. The Freedreno driver puts in some effort to emulate the unsupported OpenGL operations (because that allows much more standard Debian packages to run without any modification) but I believe that emulation comes with a performance penalty compared to a fully fledged OpenGL graphics card.

Put another way there is a warning in the slides: “Usually 32-bit floats (used to be worse!)”. I’m pretty sure that OpenGL ES is in the “used to be worse” category which further limits things. After reading up on the concepts you should probably look for OpenGL ES specific examples (such as this one).