joaodriessen
Posts: 10
Joined: Fri Oct 18, 2013 9:36 pm

Desktop Environment with OpenGL ES

Sun Apr 03, 2016 11:52 am

As far as I'm aware some desktop environments (in particular: the compositors) are able to run using OpenGL ES, which should be hardware accelerated on the Raspberry Pi(?)
Examples:

Plasma Desktop - can run kwin using OpenGL ES.
Compiz - has included support for OpenGL ES.

Has anyone had any success getting either of these running accelerated by the VC4 graphics chip on the Raspberry Pi?

My particular setup is a Raspberry Pi 3 running arch linux arm with all the raspberry pi specific packages/kernel/graphics. ie. /opt/vc/ exists.

output of trying to run compiz (in hopes of getting OpenGL ES going):

i think the relevant errors are (rather obviously): "libEGL warning: DRI2: failed to authenticate" and "compiz (opengl) - Fatal: GL_OES_EGL_image is missing"

Code: Select all

joao@alarmpi ~> compiz --replace &
joao@alarmpi ~> compiz (core) - Info: Loading plugin: core
compiz (core) - Info: Starting plugin: core
compiz (core) - Info: Loading plugin: ccp
compiz (core) - Info: Starting plugin: ccp
compizconfig - Error: error occurred during scandir: No such file or directory
compizconfig - Info: Backend     : ini
compizconfig - Info: Integration : true
compizconfig - Info: Profile     : default
compiz (core) - Info: Loading plugin: composite
compiz (core) - Info: Starting plugin: composite
compiz (core) - Info: Loading plugin: opengl
compiz (core) - Info: Starting plugin: opengl
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
compiz (core) - Error: Plugin initScreen failed: opengl
compiz (core) - Error: Failed to start plugin: opengl
compiz (core) - Info: Unloading plugin: opengl
compiz (core) - Info: Loading plugin: decor
compiz (core) - Info: Starting plugin: decor
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
compiz (core) - Info: Loading plugin: resize
compiz (core) - Info: Starting plugin: resize
libEGL warning: DRI2: failed to authenticate
compiz (opengl) - Fatal: GL_OES_EGL_image is missing
compiz (core) - Info: Loading plugin: place
compiz (core) - Info: Starting plugin: place
compiz (core) - Info: Loading plugin: move
compiz (core) - Info: Starting plugin: move
compiz (core) - Info: Loading plugin: compiztoolbox
compiz (core) - Info: Starting plugin: compiztoolbox
compiz (core) - Error: Plugin 'opengl' not loaded.

compiz (core) - Info: Loading plugin: staticswitcher
compiz (core) - Info: Starting plugin: staticswitcher
compiz (core) - Error: Plugin 'opengl' not loaded.

compiz (core) - Error: Plugin init failed: staticswitcher
compiz (core) - Error: Failed to start plugin: staticswitcher
compiz (core) - Info: Unloading plugin: staticswitcher
compiz (core) - Info: Loading plugin: regex
compiz (core) - Info: Starting plugin: regex
compiz (core) - Info: Loading plugin: animation
compiz (core) - Info: Starting plugin: animation
compiz (core) - Error: Plugin 'opengl' not loaded.

compiz (core) - Error: Plugin init failed: animation
compiz (core) - Error: Failed to start plugin: animation
compiz (core) - Info: Unloading plugin: animation
compiz (core) - Info: Loading plugin: wall
compiz (core) - Info: Starting plugin: wall
compiz (core) - Error: Plugin 'opengl' not loaded.

compiz (core) - Error: Plugin init failed: wall
compiz (core) - Error: Failed to start plugin: wall
compiz (core) - Info: Unloading plugin: wall
compiz (core) - Info: Stopping plugin: regex
compiz (core) - Info: Stopping plugin: compiztoolbox
compiz (core) - Info: Stopping plugin: move
compiz (core) - Info: Stopping plugin: place
compiz (core) - Info: Stopping plugin: resize
compiz (core) - Info: Stopping plugin: decor
compiz (core) - Info: Stopping plugin: composite
compiz (core) - Info: Starting plugin: compiztoolbox
compiz (core) - Error: Plugin 'composite' not loaded.

compiz (core) - Info: Starting plugin: decor
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (decor) - Warn: requested a pixmap type decoration when compositing isn't available
compiz (core) - Info: Starting plugin: resize
libEGL warning: DRI2: failed to authenticate
fish: “compiz --replace &” terminated by signal SIGSEGV (Address boundary error)
this is the output of es2_info on my system:

Code: Select all

joao@alarmpi ~> es2_info 
libEGL warning: DRI2: failed to authenticate
EGL_VERSION: 1.4 (DRI2)
EGL_VENDOR: Mesa Project
EGL_EXTENSIONS:
    EGL_KHR_create_context, EGL_KHR_get_all_proc_addresses, 
    EGL_KHR_gl_colorspace, EGL_KHR_surfaceless_context, 
    EGL_MESA_configless_context
EGL_CLIENT_APIS: OpenGL OpenGL_ES OpenGL_ES2 OpenGL_ES3 
GL_VERSION: OpenGL ES 3.0 Mesa 11.1.2
GL_RENDERER: Gallium 0.4 on llvmpipe (LLVM 3.7, 128 bits)
GL_EXTENSIONS:
    GL_EXT_blend_minmax, GL_EXT_multi_draw_arrays, 
    GL_EXT_texture_compression_dxt1, GL_EXT_texture_format_BGRA8888, 
    GL_OES_compressed_ETC1_RGB8_texture, GL_OES_depth24, 
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, GL_OES_mapbuffer, 
    GL_OES_rgb8_rgba8, GL_OES_standard_derivatives, GL_OES_stencil8, 
    GL_OES_texture_3D, GL_OES_texture_float, GL_OES_texture_float_linear, 
    GL_OES_texture_half_float, GL_OES_texture_half_float_linear, 
    GL_OES_texture_npot, GL_OES_EGL_image, GL_OES_depth_texture, 
    GL_OES_packed_depth_stencil, GL_EXT_texture_type_2_10_10_10_REV, 
    GL_OES_get_program_binary, GL_APPLE_texture_max_level, 
    GL_EXT_discard_framebuffer, GL_EXT_read_format_bgra, 
    GL_NV_fbo_color_attachments, GL_OES_EGL_image_external, GL_OES_EGL_sync, 
    GL_OES_vertex_array_object, GL_ANGLE_texture_compression_dxt3, 
    GL_ANGLE_texture_compression_dxt5, GL_EXT_texture_rg, 
    GL_EXT_unpack_subimage, GL_NV_draw_buffers, GL_NV_read_buffer, 
    GL_NV_read_depth, GL_NV_read_depth_stencil, GL_NV_read_stencil, 
    GL_EXT_draw_buffers, GL_EXT_map_buffer_range, GL_KHR_debug, 
    GL_OES_depth_texture_cube_map, GL_OES_surfaceless_context, 
    GL_EXT_color_buffer_float, GL_EXT_separate_shader_objects, 
    GL_EXT_shader_integer_mix, GL_EXT_draw_elements_base_vertex, 
    GL_KHR_context_flush_control, GL_OES_draw_elements_base_vertex, 
    GL_EXT_blend_func_extended
looks like something is wrong with my setup of ES 2?
ES 3 seems to be handled by mesa's software rendering.

Return to “OpenGLES”