SDL2 + OpelGL ES2 + Freescale i.MX6

Hi all,

I experience somme difficulties to match the good driver and to have a working application.
My application is based on SDL2 and works fine on my computer.
I have compiled :

  • SDL 2.0.1
  • SDL image 2.0.0
  • SDL ttf 2.0.12 (and freetype 2.5.0.1 needed by SDL ttf)

On the embedded platform called Utilite (http://utilite-computer.com/web/utilite-standard-specifications), I get this output from my software :

Num Drivers: 4
Found Driver: opengl
-> ACCELERATED
-> PRESENTVSYNC
-> TARGETTEXTURE
Found Driver: opengles2
-> ACCELERATED
-> PRESENTVSYNC
-> TARGETTEXTURE
Found Driver: opengles
-> ACCELERATED
-> PRESENTVSYNC
Found Driver: software
-> SOFTWARE
-> TARGETTEXTURE
With those errors :

SDL ERROR:No available video device
SDL WINDOW:No available video device
SDL RENDERER:Invalid window
It seems that I have to choose one of the available drivers. But how ? AFAIK I should want to use Open GL ES2. What do you think ?

I found this command :

export SDL_VIDEODRIVER=dummy

And now I have this error :

SDL RENDERER:Couldn’t find matching render driver

When compiling SDL2 I have choosen to configure with --disable-video-x11 to force the use of an accelerated driver. I don’t remember the behaviour with a standard configure/make/make install; I check it now.

Trying to compile SDL2 with ./configure and make, it ends with errors :

/root/SDL/src/video/x11/SDL_x11window.c: In function ‘X11_CreateWindow’:
/root/SDL/src/video/x11/SDL_x11window.c:566:19: error: ‘SDL_VideoDevice’ has no member named ‘egl_data’
/root/SDL/src/video/x11/SDL_x11window.c:572:19: error: ‘SDL_WindowData’ has no member named ‘egl_surface’
/root/SDL/src/video/x11/SDL_x11window.c:572:9: warning: implicit declaration of function ‘SDL_EGL_CreateSurface’ [-Wimplicit-function-declaration]
/root/SDL/src/video/x11/SDL_x11window.c:572:65: error: ‘NativeWindowType’ undeclared (first use in this function)
/root/SDL/src/video/x11/SDL_x11window.c:572:65: note: each undeclared identifier is reported only once for each function it appears in
/root/SDL/src/video/x11/SDL_x11window.c:572:83: error: expected ‘)’ before ‘w’
/root/SDL/src/video/x11/SDL_x11window.c:574:23: error: ‘SDL_WindowData’ has no member named ‘egl_surface’
/root/SDL/src/video/x11/SDL_x11window.c:574:40: error: ‘EGL_NO_SURFACE’ undeclared (first use in this function)
make: *** [build/SDL_x11window.lo] Error 1
Pulled from the Mercurial repo.

Can an admin correct the mistake “OpelGL ES2” in “GLES2” please ? [Laughing]

It may be that you found a bug, please fill one in Bugzilla and attach your
config.log and SDL_config.h files. Thanks!

2013/11/7 romain > Trying to compile SDL2 with ./configure and make, it ends with errors :

Quote:

/root/SDL/src/video/x11/SDL_x11window.c: In function ‘X11_CreateWindow’:
/root/SDL/src/video/x11/SDL_x11window.c:566:19: error: 'SDL_VideoDevice’
has no member named ‘egl_data’
/root/SDL/src/video/x11/SDL_x11window.c:572:19: error: 'SDL_WindowData’
has no member named ‘egl_surface’
/root/SDL/src/video/x11/SDL_x11window.c:572:9: warning: implicit
declaration of function ‘SDL_EGL_CreateSurface’
[-Wimplicit-function-declaration]
/root/SDL/src/video/x11/SDL_x11window.c:572:65: error: ‘NativeWindowType’
undeclared (first use in this function)
/root/SDL/src/video/x11/SDL_x11window.c:572:65: note: each undeclared
identifier is reported only once for each function it appears in
/root/SDL/src/video/x11/SDL_x11window.c:572:83: error: expected ‘)’ before
’w’
/root/SDL/src/video/x11/SDL_x11window.c:574:23: error: 'SDL_WindowData’
has no member named ‘egl_surface’
/root/SDL/src/video/x11/SDL_x11window.c:574:40: error: 'EGL_NO_SURFACE’
undeclared (first use in this function)
make: *** [build/SDL_x11window.lo] Error 1

Pulled from the Mercurial repo.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


Gabriel.

Done. https://bugzilla.libsdl.org/show_bug.cgi?id=2226

Back to what brought me here, how can I choose the “driver” to use to render my software ? [Rolling Eyes]

Thanks :wink:

Use the hint SDL_HINT_RENDER_DRIVER

– Aggelos KolaitisOn 11 ??? 2013, at 6:29 ?.?., “romain” wrote:

Done. https://bugzilla.libsdl.org/show_bug.cgi?id=2226

Back to what brought me here, how can I choose the “driver” to use to render my software ?

Thanks


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Thanks neoaggelos.

I’ve added
Code:
SDL_SetHint(SDL_HINT_RENDER_DRIVER, “opengles2”);

before
Code:
SDL_Init(SDL_INIT_VIDEO);
SDL_CreateWindow(“Screen”,0,0,SCREENWIDTH,SCREENHEIGHT,SDL_WINDOW_BORDERLESS);
SDL_CreateRenderer(SCREEN,-1,SDL_RENDERER_ACCELERATED|SDL_RENDERER_PRESENTVSYNC);

SDL_SetHint() gives no error, but it didn’t change the output of the 3 others :

SDL INIT_VIDEO ERROR:No available video device
SDL WINDOW:No available video device
SDL RENDERER:Invalid window

If I use this command (the only one working, I tried x11 for example, but it’s not recognized) :

export SDL_VIDEODRIVER=dummy
Then I get the output :
SDL RENDERER:Couldn’t find matching render driver
Which I think is better…

When I compiled SDL I could see in the configure log :

checking for OpenGL (GLX) support… yes
checking for EGL support… no
checking for OpenGL ES v1 headers… yes
checking for OpenGL ES v2 headers… yes

And I was wondering : is EGL mandatory for GLES2 ? That could explain why the render driver cannot be used…

checking for OpenGL (GLX) support… yes
checking for EGL support… no
checking for OpenGL ES v1 headers… yes
checking for OpenGL ES v2 headers… yes

And I was wondering : is EGL mandatory for GLES2 ? That could explain why
the render driver cannot be used…

Depends on the platform, but most likely yes.

Ok, this also explains why I couldn’t compile the GLES2 mesa demos (es2gears, glmark2-es2)…

I tried to install some libs, and got errors :

Code:

apt-get install libgles-mesa-dev

[…]
Unpacking libegl1-mesa-dev (from …/libegl1-mesa-dev_7.11-0ubuntu3.2linaro1_armel.deb) …
dpkg: error processing /var/cache/apt/archives/libegl1-mesa-dev_7.11-0ubuntu3.2linaro1_armel.deb (–unpack): trying to overwrite ‘/usr/include/KHR/khrplatform.h’, which is also in package gpu-viv-bin-mx6q 3.0.35
Unpacking libgles2-mesa-dev (from …/libgles2-mesa-dev_7.11-0ubuntu3.2linaro1_armel.deb) …
dpkg: error processing /var/cache/apt/archives/libgles2-mesa-dev_7.11-0ubuntu3.2linaro1_armel.deb (–unpack): trying to overwrite ‘/usr/include/GLES2/gl2ext.h’, which is also in package gpu-viv-bin-mx6q 3.0.35

This package “gpu-viv-bin-mx6q 3.0.35” is the current driver I’m using ? What should I do ?

2013/11/12 romain

Ok, this also explains why I couldn’t compile the GLES2 mesa demos
(es2gears, glmark2-es2)…

I tried to install some libs, and got errors :

Code:

apt-get install libgles-mesa-dev

[…]
Unpacking libegl1-mesa-dev (from
…/libegl1-mesa-dev_7.11-0ubuntu3.2linaro1_armel.deb) …
dpkg: error processing
/var/cache/apt/archives/libegl1-mesa-dev_7.11-0ubuntu3.2linaro1_armel.deb
(–unpack): trying to overwrite ‘/usr/include/KHR/khrplatform.h’, which is
also in package gpu-viv-bin-mx6q 3.0.35
Unpacking libgles2-mesa-dev (from
…/libgles2-mesa-dev_7.11-0ubuntu3.2linaro1_armel.deb) …
dpkg: error processing
/var/cache/apt/archives/libgles2-mesa-dev_7.11-0ubuntu3.2linaro1_armel.deb
(–unpack): trying to overwrite ‘/usr/include/GLES2/gl2ext.h’, which is
also in package gpu-viv-bin-mx6q 3.0.35

This package “gpu-viv-bin-mx6q 3.0.35” is the current driver I’m using ?
What should I do ?

Looking at this:
https://github.com/Freescale/meta-fsl-arm/tree/master/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q

It seems that gpu-viv-bin-mx6q ought to provide everything you need. What
do you get from: dpkg -S egl.h–
Gabriel.

Hum, yes it should…> r$ dpkg -S egl.h

gpu-viv-bin-mx6q: /usr/include/GLES/egl.h
gpu-viv-bin-mx6q: /usr/include/EGL/egl.h

Can you post your configure line and config.log ?

2013/11/12 romain > Hum, yes it should…

Quote:

r$ dpkg -S egl.h
gpu-viv-bin-mx6q: /usr/include/GLES/egl.h
gpu-viv-bin-mx6q: /usr/include/EGL/egl.h


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


Gabriel.

Hi all, the last post didn’t reach the mailing list because of it’s length. You can read it here : http://forums.libsdl.org/viewtopic.php?t=9713#40613

Configure call :

$ ./configure --enable-gles2 --enable-egl

And the config.log in a nutshell :> configure:16611: checking for EGL

configure:16618: $PKG_CONFIG --exists --print-errors "egl"
Package egl was not found in the pkg-config search path.
Perhaps you should add the directory containing `egl.pc’
to the PKG_CONFIG_PATH environment variable
No package ‘egl’ found

It seems that some guys have successfully run (compiled?) es2_info on Utilite.
I tried to compile mesa demos (es2gears, es2_info, …) on the Utilite but the configure cannot find neither EGL or GLES2… Those headers should be included in the Vivante drivers… How can I verify that ?

4 days later and still trying to find a solution.

I found that bug reported in 09/2013 related to the lack of OpenGL headers in the Vivante drivers : https://bugzilla.yoctoproject.org/show_bug.cgi?id=5098
Is EGL part of OpenGL ?
And do I need EGL to have a working SDL and to run my OpenGL/GLES2 - based application ?

Thanks :wink:

Thanks to the Utilite team, here is the result of some commands :

$ lsb_release -a
No LSB modules are available.
Distributor ID: Linaro
Description: Linaro 11.10 (development branch)
Release: 11.10
Codename: oneiric

$ glxinfo
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event,
GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGIS_multisample,
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_make_current_read
client glx vendor string: Vivante Corp
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGI_make_current_read
GLX version: 1.4
GLX extensions:
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_make_current_read
OpenGL vendor string: Vivante Corporation
OpenGL renderer string: GC2000 Graphics Engine
OpenGL version string: 2.1 2.0.1
OpenGL shading language version string: 1.20
OpenGL extensions:
GL_ARB_depth_texture, GL_ARB_fragment_program_shadow,
GL_ARB_fragment_shader, GL_ARB_imaging, GL_ARB_multisample,
GL_ARB_multitexture, GL_ARB_pixel_buffer_object, GL_ARB_shader_objects,
GL_ARB_texture_compression, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_non_power_of_two,
GL_ARB_texture_rectangle, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_shader, GL_ARB_window_pos, GL_ATI_draw_buffers,
GL_ATI_element_array, GL_ATI_separate_stencil,
GL_ATI_texture_env_combine3, GL_ATI_vertex_array_object, GL_EXT_abgr,
GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate,
GL_EXT_blend_func_separate, GL_EXT_color_table, GL_EXT_convolution,
GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements,
GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample,
GL_EXT_framebuffer_object, GL_EXT_histogram, GL_EXT_pixel_buffer_object,
GL_EXT_polygon_offset, GL_EXT_rescale_normal, GL_EXT_secondary_color,
GL_EXT_separate_specular_color, GL_EXT_stencil_two_side,
GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
GL_EXT_texture_array, GL_EXT_texture_buffer_object,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_timer_query,
GL_EXT_vertex_array, GL_NV_texture_rectangle, GL_SGIS_generate_mipmap,
GL_SGIS_texture_lod, GL_SGI_color_matrix, WGL_ARB_extensions_string,
WGL_EXT_extensions_string, WGL_EXT_swap_control

$ ldd which glxinfo
libGL.so.1 => /usr/lib/libGL.so.1 (0x40355000)
libX11.so.6 => /usr/lib/arm-linux-gnueabi/libX11.so.6 (0x40184000)
libc.so.6 => /lib/arm-linux-gnueabi/libc.so.6 (0x403a0000)
libXdamage.so.1 => /usr/lib/arm-linux-gnueabi/libXdamage.so.1 (0x400a5000)
libXfixes.so.3 => /usr/lib/arm-linux-gnueabi/libXfixes.so.3 (0x400af000)
libXext.so.6 => /usr/lib/arm-linux-gnueabi/libXext.so.6 (0x400bb000)
libpthread.so.0 => /lib/arm-linux-gnueabi/libpthread.so.0 (0x40038000)
libxcb.so.1 => /usr/lib/arm-linux-gnueabi/libxcb.so.1 (0x400ce000)
libdl.so.2 => /lib/arm-linux-gnueabi/libdl.so.2 (0x4001c000)
/lib/ld-linux.so.3 (0x40086000)
libXau.so.6 => /usr/lib/arm-linux-gnueabi/libXau.so.6 (0x4004f000)
libXdmcp.so.6 => /usr/lib/arm-linux-gnueabi/libXdmcp.so.6 (0x40027000)

$ ldd /opt/viv_samples/vdk/tutorial3_es20
libVDK.so => /usr/lib/libVDK.so (0x401e0000)
libGAL.so => /usr/lib/libGAL.so (0x400f3000)
libEGL.so.1 => /usr/lib/libEGL.so.1 (0x401bd000)
libGLESv2.so.2 => /usr/lib/libGLESv2.so.2 (0x401ec000)
libpthread.so.0 => /lib/arm-linux-gnueabi/libpthread.so.0 (0x40001000)
libdl.so.2 => /lib/arm-linux-gnueabi/libdl.so.2 (0x40075000)
libstdc++.so.6 => /usr/lib/arm-linux-gnueabi/libstdc++.so.6 (0x40223000)
librt.so.1 => /lib/arm-linux-gnueabi/librt.so.1 (0x402ce000)
libm.so.6 => /lib/arm-linux-gnueabi/libm.so.6 (0x402dc000)
libgcc_s.so.1 => /lib/arm-linux-gnueabi/libgcc_s.so.1 (0x400a7000)
libc.so.6 => /lib/arm-linux-gnueabi/libc.so.6 (0x40348000)
libXdamage.so.1 => /usr/lib/arm-linux-gnueabi/libXdamage.so.1 (0x401d4000)
libXfixes.so.3 => /usr/lib/arm-linux-gnueabi/libXfixes.so.3 (0x40429000)
libXext.so.6 => /usr/lib/arm-linux-gnueabi/libXext.so.6 (0x400b8000)
libX11.so.6 => /usr/lib/arm-linux-gnueabi/libX11.so.6 (0x40435000)
/lib/ld-linux.so.3 (0x4002d000)
libxcb.so.1 => /usr/lib/arm-linux-gnueabi/libxcb.so.1 (0x4051c000)
libXau.so.6 => /usr/lib/arm-linux-gnueabi/libXau.so.6 (0x40015000)
libXdmcp.so.6 => /usr/lib/arm-linux-gnueabi/libXdmcp.so.6 (0x40534000)

[Wink]

EGL is a system designed to support OpenGL (it’s the middle man between the
hardware and system specific implementations and the OpenGL API). Whether
you need EGL or not depends on the platform you want to run on, but most
likely, yes, you need it.

From your earlier messages, it seemed like the configure script couldn’t
find egl.pc, the package config specification for EGL.

What’s the full output of dpkg -S gpu-viv-bin-mx6q ?

2013/11/19 romain > 4 days later and still trying to find a solution.

I found that bug reported in 09/2013 related to the lack of OpenGL headers
in the Vivante drivers :
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5098
Is EGL part of OpenGL ?
And do I need EGL to have a working SDL and to run my OpenGL/GLES2 - based
application ?

Thanks [image: Wink]

Thanks to the Utilite team, here is the result of some commands :

Quote:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Linaro
Description: Linaro 11.10 (development branch)
Release: 11.10
Codename: oneiric

Quote:

$ glxinfo
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event,
GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGIS_multisample,
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_make_current_read
client glx vendor string: Vivante Corp
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGI_make_current_read
GLX version: 1.4
GLX extensions:
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_make_current_read
OpenGL vendor string: Vivante Corporation
OpenGL renderer string: GC2000 Graphics Engine
OpenGL version string: 2.1 2.0.1
OpenGL shading language version string: 1.20
OpenGL extensions:
GL_ARB_depth_texture, GL_ARB_fragment_program_shadow,
GL_ARB_fragment_shader, GL_ARB_imaging, GL_ARB_multisample,
GL_ARB_multitexture, GL_ARB_pixel_buffer_object, GL_ARB_shader_objects,
GL_ARB_texture_compression, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_non_power_of_two,
GL_ARB_texture_rectangle, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_shader, GL_ARB_window_pos, GL_ATI_draw_buffers,
GL_ATI_element_array, GL_ATI_separate_stencil,
GL_ATI_texture_env_combine3, GL_ATI_vertex_array_object, GL_EXT_abgr,
GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate,
GL_EXT_blend_func_separate, GL_EXT_color_table, GL_EXT_convolution,
GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements,
GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample,
GL_EXT_framebuffer_object, GL_EXT_histogram, GL_EXT_pixel_buffer_object,
GL_EXT_polygon_offset, GL_EXT_rescale_normal, GL_EXT_secondary_color,
GL_EXT_separate_specular_color, GL_EXT_stencil_two_side,
GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
GL_EXT_texture_array, GL_EXT_texture_buffer_object,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_timer_query,
GL_EXT_vertex_array, GL_NV_texture_rectangle, GL_SGIS_generate_mipmap,
GL_SGIS_texture_lod, GL_SGI_color_matrix, WGL_ARB_extensions_string,
WGL_EXT_extensions_string, WGL_EXT_swap_control

Quote:

$ ldd which glxinfo
libGL.so.1 => /usr/lib/libGL.so.1 (0x40355000)
libX11.so.6 => /usr/lib/arm-linux-gnueabi/libX11.so.6 (0x40184000)
libc.so.6 => /lib/arm-linux-gnueabi/libc.so.6 (0x403a0000)
libXdamage.so.1 => /usr/lib/arm-linux-gnueabi/libXdamage.so.1 (0x400a5000)
libXfixes.so.3 => /usr/lib/arm-linux-gnueabi/libXfixes.so.3 (0x400af000)
libXext.so.6 => /usr/lib/arm-linux-gnueabi/libXext.so.6 (0x400bb000)
libpthread.so.0 => /lib/arm-linux-gnueabi/libpthread.so.0 (0x40038000)
libxcb.so.1 => /usr/lib/arm-linux-gnueabi/libxcb.so.1 (0x400ce000)
libdl.so.2 => /lib/arm-linux-gnueabi/libdl.so.2 (0x4001c000)
/lib/ld-linux.so.3 (0x40086000)
libXau.so.6 => /usr/lib/arm-linux-gnueabi/libXau.so.6 (0x4004f000)
libXdmcp.so.6 => /usr/lib/arm-linux-gnueabi/libXdmcp.so.6 (0x40027000)

Quote:

$ ldd /opt/viv_samples/vdk/tutorial3_es20
libVDK.so => /usr/lib/libVDK.so (0x401e0000)
libGAL.so => /usr/lib/libGAL.so (0x400f3000)
libEGL.so.1 => /usr/lib/libEGL.so.1 (0x401bd000)
libGLESv2.so.2 => /usr/lib/libGLESv2.so.2 (0x401ec000)
libpthread.so.0 => /lib/arm-linux-gnueabi/libpthread.so.0 (0x40001000)
libdl.so.2 => /lib/arm-linux-gnueabi/libdl.so.2 (0x40075000)
libstdc++.so.6 => /usr/lib/arm-linux-gnueabi/libstdc++.so.6 (0x40223000)
librt.so.1 => /lib/arm-linux-gnueabi/librt.so.1 (0x402ce000)
libm.so.6 => /lib/arm-linux-gnueabi/libm.so.6 (0x402dc000)
libgcc_s.so.1 => /lib/arm-linux-gnueabi/libgcc_s.so.1 (0x400a7000)
libc.so.6 => /lib/arm-linux-gnueabi/libc.so.6 (0x40348000)
libXdamage.so.1 => /usr/lib/arm-linux-gnueabi/libXdamage.so.1 (0x401d4000)
libXfixes.so.3 => /usr/lib/arm-linux-gnueabi/libXfixes.so.3 (0x40429000)
libXext.so.6 => /usr/lib/arm-linux-gnueabi/libXext.so.6 (0x400b8000)
libX11.so.6 => /usr/lib/arm-linux-gnueabi/libX11.so.6 (0x40435000)
/lib/ld-linux.so.3 (0x4002d000)
libxcb.so.1 => /usr/lib/arm-linux-gnueabi/libxcb.so.1 (0x4051c000)
libXau.so.6 => /usr/lib/arm-linux-gnueabi/libXau.so.6 (0x40015000)
libXdmcp.so.6 => /usr/lib/arm-linux-gnueabi/libXdmcp.so.6 (0x40534000)

[image: Wink]


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


Gabriel.

Here is the full output :

$ dpkg -S gpu-viv-bin-mx6q
gpu-viv-bin-mx6q: /usr/share/doc/gpu-viv-bin-mx6q/changelog.gz
gpu-viv-bin-mx6q: /usr/share/doc/gpu-viv-bin-mx6q

Apparently the Vivante GC2000 GPU supports both OpenGL and GLES2, so SDL should be able to handle both, isn’t it ?
I’m also playing with environment variables, but the manual isn’t rich in what I should put in them (I tested with dummy/x11/opengl/software…)
SDL_RENDER_DRIVER
SDL_VIDEO_DRIVER

I’m sorry, I pasted the wrong command :slight_smile:

Try: dpkg-query -L gpu-viv-bin-mx6q

2013/11/19 romain > Here is the full output :

Quote:

$ dpkg -S gpu-viv-bin-mx6q
gpu-viv-bin-mx6q: /usr/share/doc/gpu-viv-bin-mx6q/changelog.gz
gpu-viv-bin-mx6q: /usr/share/doc/gpu-viv-bin-mx6q

Apparently the Vivante GC2000 GPU supports both OpenGL and GLES2, so SDL
should be able to handle both, isn’t it ?
I’m also playing with environment variables, but the manual isn’t rich in
what I should put in them (I tested with dummy/x11/opengl/software…)
SDL_RENDER_DRIVER
SDL_VIDEO_DRIVER


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


Gabriel.

No problem [Wink]

Here it is :> $ dpkg-query -L gpu-viv-bin-mx6q

/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/gpu-viv-bin-mx6q
/usr/share/doc/gpu-viv-bin-mx6q/changelog.gz
/usr/include
/usr/include/vdk.h
/usr/include/CL
/usr/include/CL/cl_ext.h
/usr/include/CL/cl_platform.h
/usr/include/CL/cl_gl_ext.h
/usr/include/CL/opencl.h
/usr/include/CL/cl_gl.h
/usr/include/CL/cl.hpp
/usr/include/CL/cl.h
/usr/include/CL/cl_d3d10.h
/usr/include/GLES
/usr/include/GLES/glplatform.h
/usr/include/GLES/egl.h
/usr/include/GLES/gl.h
/usr/include/GLES/glunname.h
/usr/include/GLES/glrename.h
/usr/include/GLES/glext.h
/usr/include/HAL
/usr/include/HAL/gc_hal_version.h
/usr/include/HAL/aqHal.h
/usr/include/HAL/gc_hal_rename.h
/usr/include/HAL/gc_hal_raster.h
/usr/include/HAL/gc_hal_vg.h
/usr/include/HAL/gc_hal_options.h
/usr/include/HAL/gc_hal_enum.h
/usr/include/HAL/gc_hal_eglplatform.h
/usr/include/HAL/gc_hal_statistics.h
/usr/include/HAL/gc_hal_types.h
/usr/include/HAL/gc_hal_base.h
/usr/include/HAL/gc_hal_profiler.h
/usr/include/HAL/gc_hal_engine_vg.h
/usr/include/HAL/gc_hal_dump.h
/usr/include/HAL/gc_hal_eglplatform_type.h
/usr/include/HAL/gc_hal_engine.h
/usr/include/HAL/gc_hal_driver.h
/usr/include/HAL/gc_hal.h
/usr/include/HAL/gc_hal_driver_vg.h
/usr/include/EGL
/usr/include/EGL/egl.h
/usr/include/EGL/eglunname.h
/usr/include/EGL/eglrename.h
/usr/include/EGL/eglplatform.h
/usr/include/EGL/eglext.h
/usr/include/EGL/eglvivante.h
/usr/include/wayland-viv
/usr/include/wayland-viv/gc_wayland_protocol.h
/usr/include/wayland-viv/wayland-viv-server-protocol.h
/usr/include/wayland-viv/wayland-viv-client-protocol.h
/usr/include/gc_vdk_hal.h
/usr/include/gc_vdk_types.h
/usr/include/VG
/usr/include/VG/vgrename.h
/usr/include/VG/vgunname.h
/usr/include/VG/vgplatform.h
/usr/include/VG/vgu.h
/usr/include/VG/vgext.h
/usr/include/VG/openvg.h
/usr/include/KHR
/usr/include/KHR/khrplatform.h
/usr/include/KHR/khrvivante.h
/usr/include/GLES2
/usr/include/GLES2/gl2rename.h
/usr/include/GLES2/gl2unname.h
/usr/include/GLES2/gl2.h
/usr/include/GLES2/gl2ext.h
/usr/include/GLES2/gl2platform.h
/usr/include/gc_vdk.h
/usr/lib
/usr/lib/libGLESv2.so.2.0.0
/usr/lib/libwayland-viv.so.0.0.0
/usr/lib/libEGL-wl.so
/usr/lib/libEGL-fb.so
/usr/lib/libVDK.so
/usr/lib/libGLESv1_CL.so.1.1.0
/usr/lib/libEGL-x11.so
/usr/lib/libVIVANTE-dfb.so
/usr/lib/libGAL-dfb.so
/usr/lib/libOpenCL.so
/usr/lib/libVIVANTE-x11.so
/usr/lib/directfb-1.4-0
/usr/lib/directfb-1.4-0/gfxdrivers
/usr/lib/directfb-1.4-0/gfxdrivers/libdirectfb_gal.so
/usr/lib/libGL.so.1.2
/usr/lib/libGAL-wl.so
/usr/lib/libVIVANTE-wl.so
/usr/lib/libGAL-fb.so
/usr/lib/libgc_wayland_protocol.a
/usr/lib/libGLESv1_CM.so.1.1.0
/usr/lib/libGLES_CL.so
/usr/lib/libOpenVG_3D.so
/usr/lib/pkgconfig
/usr/lib/pkgconfig/wayland-egl.pc
/usr/lib/pkgconfig/wayland-viv.pc
/usr/lib/pkgconfig/gc_wayland_protocol.pc
/usr/lib/libEGL-dfb.so
/usr/lib/libGAL-x11.so
/usr/lib/libCLC.so
/usr/lib/libgc_wayland_protocol.la
/usr/lib/libwayland-viv.a
/usr/lib/libOpenVG_355.so
/usr/lib/libgc_wayland_protocol.so.0.0.0
/usr/lib/libwayland-viv.la
/usr/lib/libGLES_CM.so
/usr/lib/libOpenVG.so
/usr/lib/libVIVANTE-fb.so
/usr/lib/libGLSLC.so
/usr/lib/dri
/usr/lib/dri/vivante_dri.so
/usr/lib/libwayland-viv.so
/usr/lib/libGLESv2.so
/usr/lib/libgc_wayland_protocol.so.0
/usr/lib/libVIVANTE.so
/usr/lib/libGAL.so
/usr/lib/libGLESv1_CL.so
/usr/lib/libEGL.so
/usr/lib/libGLESv1_CL.so.1
/usr/lib/libwayland-viv.so.0
/usr/lib/libGL.so.1
/usr/lib/libGLESv1_CM.so
/usr/lib/libGL.so
/usr/lib/libGLESv2.so.2
/usr/lib/libgc_wayland_protocol.so
/usr/lib/libEGL.so.1
/usr/lib/libGLESv1_CM.so.1

It seems there’s no egl.pc, so the problem comes down to a buggy package,
but maybe you can work around it. Try sticking these files in
/usr/lib/pkgconfig :
https://github.com/Freescale/meta-fsl-arm/tree/master/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q

You may need to play around with your system to find the solution that
works for you, it’s not something that can be fixed from the SDL side.

2013/11/19 romain > No problem [image: Wink]

Here it is :

Quote:

$ dpkg-query -L gpu-viv-bin-mx6q
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/gpu-viv-bin-mx6q
/usr/share/doc/gpu-viv-bin-mx6q/changelog.gz
/usr/include
/usr/include/vdk.h
/usr/include/CL
/usr/include/CL/cl_ext.h
/usr/include/CL/cl_platform.h
/usr/include/CL/cl_gl_ext.h
/usr/include/CL/opencl.h
/usr/include/CL/cl_gl.h
/usr/include/CL/cl.hpp
/usr/include/CL/cl.h
/usr/include/CL/cl_d3d10.h
/usr/include/GLES
/usr/include/GLES/glplatform.h
/usr/include/GLES/egl.h
/usr/include/GLES/gl.h
/usr/include/GLES/glunname.h
/usr/include/GLES/glrename.h
/usr/include/GLES/glext.h
/usr/include/HAL
/usr/include/HAL/gc_hal_version.h
/usr/include/HAL/aqHal.h
/usr/include/HAL/gc_hal_rename.h
/usr/include/HAL/gc_hal_raster.h
/usr/include/HAL/gc_hal_vg.h
/usr/include/HAL/gc_hal_options.h
/usr/include/HAL/gc_hal_enum.h
/usr/include/HAL/gc_hal_eglplatform.h
/usr/include/HAL/gc_hal_statistics.h
/usr/include/HAL/gc_hal_types.h
/usr/include/HAL/gc_hal_base.h
/usr/include/HAL/gc_hal_profiler.h
/usr/include/HAL/gc_hal_engine_vg.h
/usr/include/HAL/gc_hal_dump.h
/usr/include/HAL/gc_hal_eglplatform_type.h
/usr/include/HAL/gc_hal_engine.h
/usr/include/HAL/gc_hal_driver.h
/usr/include/HAL/gc_hal.h
/usr/include/HAL/gc_hal_driver_vg.h
/usr/include/EGL
/usr/include/EGL/egl.h
/usr/include/EGL/eglunname.h
/usr/include/EGL/eglrename.h
/usr/include/EGL/eglplatform.h
/usr/include/EGL/eglext.h
/usr/include/EGL/eglvivante.h
/usr/include/wayland-viv
/usr/include/wayland-viv/gc_wayland_protocol.h
/usr/include/wayland-viv/wayland-viv-server-protocol.h
/usr/include/wayland-viv/wayland-viv-client-protocol.h
/usr/include/gc_vdk_hal.h
/usr/include/gc_vdk_types.h
/usr/include/VG
/usr/include/VG/vgrename.h
/usr/include/VG/vgunname.h
/usr/include/VG/vgplatform.h
/usr/include/VG/vgu.h
/usr/include/VG/vgext.h
/usr/include/VG/openvg.h
/usr/include/KHR
/usr/include/KHR/khrplatform.h
/usr/include/KHR/khrvivante.h
/usr/include/GLES2
/usr/include/GLES2/gl2rename.h
/usr/include/GLES2/gl2unname.h
/usr/include/GLES2/gl2.h
/usr/include/GLES2/gl2ext.h
/usr/include/GLES2/gl2platform.h
/usr/include/gc_vdk.h
/usr/lib
/usr/lib/libGLESv2.so.2.0.0
/usr/lib/libwayland-viv.so.0.0.0
/usr/lib/libEGL-wl.so
/usr/lib/libEGL-fb.so
/usr/lib/libVDK.so
/usr/lib/libGLESv1_CL.so.1.1.0
/usr/lib/libEGL-x11.so
/usr/lib/libVIVANTE-dfb.so
/usr/lib/libGAL-dfb.so
/usr/lib/libOpenCL.so
/usr/lib/libVIVANTE-x11.so
/usr/lib/directfb-1.4-0
/usr/lib/directfb-1.4-0/gfxdrivers
/usr/lib/directfb-1.4-0/gfxdrivers/libdirectfb_gal.so
/usr/lib/libGL.so.1.2
/usr/lib/libGAL-wl.so
/usr/lib/libVIVANTE-wl.so
/usr/lib/libGAL-fb.so
/usr/lib/libgc_wayland_protocol.a
/usr/lib/libGLESv1_CM.so.1.1.0
/usr/lib/libGLES_CL.so
/usr/lib/libOpenVG_3D.so
/usr/lib/pkgconfig
/usr/lib/pkgconfig/wayland-egl.pc
/usr/lib/pkgconfig/wayland-viv.pc
/usr/lib/pkgconfig/gc_wayland_protocol.pc
/usr/lib/libEGL-dfb.so
/usr/lib/libGAL-x11.so
/usr/lib/libCLC.so
/usr/lib/libgc_wayland_protocol.la
/usr/lib/libwayland-viv.a
/usr/lib/libOpenVG_355.so
/usr/lib/libgc_wayland_protocol.so.0.0.0
/usr/lib/libwayland-viv.la
/usr/lib/libGLES_CM.so
/usr/lib/libOpenVG.so
/usr/lib/libVIVANTE-fb.so
/usr/lib/libGLSLC.so
/usr/lib/dri
/usr/lib/dri/vivante_dri.so
/usr/lib/libwayland-viv.so
/usr/lib/libGLESv2.so
/usr/lib/libgc_wayland_protocol.so.0
/usr/lib/libVIVANTE.so
/usr/lib/libGAL.so
/usr/lib/libGLESv1_CL.so
/usr/lib/libEGL.so
/usr/lib/libGLESv1_CL.so.1
/usr/lib/libwayland-viv.so.0
/usr/lib/libGL.so.1
/usr/lib/libGLESv1_CM.so
/usr/lib/libGL.so
/usr/lib/libGLESv2.so.2
/usr/lib/libgc_wayland_protocol.so
/usr/lib/libEGL.so.1
/usr/lib/libGLESv1_CM.so.1


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


Gabriel.