On 13 May 2015 at 18:16, Michal Suchanek <hramrach@gmail.com> wrote:
Hi Michal, 
Thank you very much for your reply. It does make much sense:-)
I fix the "DMA: Out of SW-IOMMU space"  issue by adding a "dma-coherent;" property to both display drm and gpu driver dts node.

There are two dma_map_ops implementations of swiotlb for arm64, that are: noncoherent_swiotlb_dma_ops and coherent_swiotlb_dma_ops.
By default,device driver use the noncoherent one. In our case, the buffers, which allocated in display drm driver, are coherent. 
So we need to add a "dma-coherent;" property to both display drm and gpu driver dts node to make sure our drm and gpu driver use the coherent one.
Now i can run OpenGL ES application now, such as es2gears.

On 12 May 2015 at 15:03, Guillaume Tucker <guillaume.tucker@arm.com> wrote:
>> Then i run  startx, i can see the desktop on the monitor.
>> But i found that the X process doesn't load any EGL and GLES libs by
>> seeing the info of /proc/X process ID/task/*/smaps file.
>
> Most X11 desktop environments use OpenGL, not OpenGL ES.  Then like most
> embedded GPUs, Mali-450 only supports OpenGL ES so the X11 desktop is
> not hardware-accelerated.

This is somewhat unrelated to the issue of the armsoc driver being a
bug pile that makes your system crash.

However, both GNOME and KDE can use OpenGL ES for desktop acceleration.

Do you know if Debian desktop can use  OpenGL ES for acceleration? And how?

Other desktops use Render or whatever acceleration which is actually
faster for small scale effects when done in software but can be a bit
sluggish for large window moves/resizes on slow CPUs.

>
>> [    23.793] (II) GLX: no usable GL providers found for screen 0
>
> This means that although X11 found a valid armsoc driver and is enabled
> to run OpenGL ES apps it won't run desktop-like OpenGL apps or desktop
> environments that need OpenGL.

There is a shim library to translate OpenGL calls to OpenGL ES calls
so you can run desktop OpenGL applications that use OpenGL features
for which the translation was already added.
I don't remember the exact library name, unfortunately.
I have searched for it on the internet, but i can find it. If you remember the lib name please tell me.


Thanks

Michal
Best regards,
Xinliang