Running weston 10.0.1 on EGL without GL_EXT_unpack_subimage extension
Due to 593d5af43a8e2c2a3371088fa7ae430d0517c82d it is no more possible to run weston on plaftorm with an EGL/GL implementation (here TI SGX on beaglebone) that doesn't provide the GL_EXT_unpack_subimage extension.
Is there a solution to avoid reverting this commit and maintain weston compatibility across opengl implementation ?
Here are the weston logs on the beaglebone platform:
[07:39:09.943] weston 10.0.1
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 2022.08-rc2-24-g4477c9c336+
[07:39:09.943] Command line: weston --backend=drm-backend.so --tty=4 -c /etc/weston.ini
[07:39:09.943] OS: Linux, 5.10.100, #1 SMP PREEMPT Mon Sep 19 19:18:16 CEST 2022, armv7l
[07:39:09.944] Flight recorder: enabled
[07:39:09.944] Using config file '/etc/weston.ini'
[07:39:09.945] Output repaint window is 7 ms maximum.
[07:39:09.945] Loading module '/usr/lib/libweston-10/drm-backend.so'
[07:39:09.979] initializing drm backend
[07:39:09.980] Trying logind launcher...
[07:39:09.981] logind: cannot find systemd session for uid: 0 -61
[07:39:09.981] logind: cannot setup systemd-logind helper error: (No data available), using legacy fallback
[07:39:09.981] Trying weston_launch launcher...
[07:39:09.981] could not get launcher fd from env
[07:39:09.981] Trying direct launcher...
[07:39:10.015] using /dev/dri/card0
[07:39:10.015] DRM: supports atomic modesetting
[07:39:10.015] DRM: does not support GBM modifiers
[07:39:10.015] DRM: supports picture aspect ratio
[07:39:10.015] Loading module '/usr/lib/libweston-10/gl-renderer.so'
[07:39:10.131] EGL client extensions: EGL_EXT_client_extensions
EGL_EXT_device_base EGL_EXT_device_enumeration
EGL_EXT_device_query EGL_EXT_platform_base
EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug
EGL_EXT_platform_wayland EGL_MESA_platform_gbm
EGL_MESA_platform_surfaceless
[07:39:10.135] EGL device extensions: EGL_EXT_device_drm
[07:39:10.135] EGL version: 1.5
[07:39:10.135] EGL vendor: Mesa Project
[07:39:10.135] EGL client APIs: OpenGL_ES
[07:39:10.135] EGL extensions: EGL_EXT_buffer_age
EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import
EGL_IMG_cl_image EGL_KHR_config_attribs EGL_KHR_create_context
EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses
EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image
EGL_KHR_gl_texture_cubemap_image EGL_KHR_image
EGL_KHR_image_base EGL_KHR_image_pixmap
EGL_KHR_no_config_context EGL_KHR_reusable_sync
EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float
EGL_KHR_wait_sync EGL_MESA_configless_context
EGL_MESA_drm_image EGL_WL_bind_wayland_display
[07:39:10.136] warning: Disabling render GPU timeline and explicit synchronization due to missing EGL_ANDROID_native_fence_sync extension
[07:39:10.136] EGL_KHR_surfaceless_context available
[07:39:10.149] GL version: OpenGL ES 2.0 build 1.17@4948957
[07:39:10.149] GLSL version: OpenGL ES GLSL ES 1.00 build 1.17@4948957
[07:39:10.149] GL vendor: Imagination Technologies
[07:39:10.149] GL renderer: PowerVR SGX 530
[07:39:10.149] GL extensions: GL_OES_compressed_ETC1_RGB8_texture
GL_OES_depth24 GL_OES_depth_texture GL_OES_egl_sync
GL_OES_element_index_uint GL_OES_EGL_image
GL_OES_EGL_image_external GL_OES_fbo_render_mipmap
GL_OES_fragment_precision_high GL_OES_get_program_binary
GL_OES_mapbuffer GL_OES_packed_depth_stencil
GL_OES_required_internalformat GL_OES_rgb8_rgba8
GL_OES_standard_derivatives GL_OES_surfaceless_context
GL_OES_texture_float GL_OES_texture_half_float
GL_OES_vertex_array_object GL_OES_vertex_half_float
GL_EXT_blend_minmax GL_EXT_discard_framebuffer
GL_EXT_multi_draw_arrays GL_EXT_multisampled_render_to_texture
GL_EXT_shader_texture_lod GL_EXT_texture_format_BGRA8888
GL_EXT_texture_rg GL_IMG_multisampled_render_to_texture
GL_IMG_program_binary GL_IMG_read_format GL_IMG_shader_binary
GL_IMG_texture_compression_pvrtc GL_IMG_texture_format_BGRA8888
GL_IMG_texture_npot GL_IMG_uniform_buffer_object GL_KHR_debug
GL_EXT_texture_storage
[07:39:10.150] GL_EXT_unpack_subimage not available.
[07:39:10.150] EGL error state: EGL_SUCCESS (0x3000)
[07:39:10.152] failed to initialize egl
[07:39:10.170] fatal: failed to create compositor backend
Internal warning: debug scope 'drm-backend' has not been destroyed.
Edited by Kamel BOUHARA