[SailfishDevel] opengl support in the sailfish emulator?

Thomas Perl th.perl at gmail.com
Tue Jul 9 19:58:01 UTC 2013


Hi,

On Jul 9, 2013, at 2:06 PM, Wim de Vries <wsvries at xs4all.nl> wrote:
> I have asked this question before, but got no answer.
> Now the issue becomes more urgent for my project.
> Trying again:
> does/should the sailfish emulator support openGL (ES)?
> thanks.

Yes, OpenGL ES 1.1 and OpenGL ES 2.0 are supported in the Sailfish Emulator:

[root at SailfishEmul ~]# rpm -qa | egrep '(GLES|EGL)'
mesa-llvmpipe-libEGL-9.0.2-1.2.i486
mesa-llvmpipe-libGLESv1-devel-9.0.2-1.2.i486
mesa-llvmpipe-libGLESv2-9.0.2-1.2.i486
mesa-llvmpipe-libGLESv1-9.0.2-1.2.i486
mesa-llvmpipe-libGLESv2-devel-9.0.2-1.2.i486
mesa-llvmpipe-libEGL-devel-9.0.2-1.2.i486

(note that the -devel packages are only needed for development, so on the Emulator you don't need them)

OpenGL ES 2.0 can be used directly with Qt (QGLWidget in QtOpenGL), OpenGL ES 1.1 can be used via Xlib + EGL, an example on how to do this is here:

http://wiki.maemo.org/SimpleGL_Example

This example uses OpenGL ES 2.0, but you can easily modify it to use OpenGL ES 1.1 instead (untested):

Instead of linking against GLESv2, you link against GLESv1_CM, instead of including GLES2/gl2.h, you include GLES/gl.h and instead of using the EGL_OPENGL_ES2_BIT attribute, you use EGL_OPENGL_ES_BIT. You obviously also have to replace the shader usage with fixed function pipeline equivalents, but if you do OpenGL ES programming, you know how to do that.

This even works with Python - make sure you have python-pyside and python-imaging installed, and you should be able to run OpenGL ES 2.0 examples like SwipEout (http://thp.io/2011/swipeout/) directly from the console - no compiler needed, just ssh into the emulator (export DISPLAY=:0; python swipeout.py).


HTH :)
Thomas


More information about the Devel mailing list