Hello,

Can anyone please explain how eglGetConfigs actually works? i.e. what 
information is it consulting in order to determine the configs to return? 
Unfortunately we are using a processor (Xilinx Zynq UltraScale) with a GPU 
(Mali-400 MP2) whose EGL implementation is closed-source. So I cannot look at 
the source code for eglGetConfigs.

My expectation was that eglGetConfigs would simply enumerate DRM framebuffers 
in the system. However, the only framebuffer in our system (a Xilinx 
Framebuffer Read IP core in the FPGA) is using XRGB8888 colors and the list 
that Weston reports makes no sense. See below for /var/log/weston.log contents. 
Some component of the system seems to be finding RGB565 and ARGB8888 
framebuffers somewhere.

I should also note that the /sys/kernel/debug/dri/0/framebuffer file is empty, 
however I'm not sure if that's important.

The contents of /etc/xdg/weston/weston.ini  are as follows:
[core]
gbm-format=xrgb8888
debug=1
require-input=false


Any help is appreciated because I'm at a loss.

Thanks,
Chris



Date: 2021-11-04 UTC
[01:36:24.711] weston 9.0.0
               https://wayland.freedesktop.org
               Bug reports to: 
https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: 9.0.0
[01:36:24.711] Command line: /usr/bin/weston --log=/var/log/weston.log
[01:36:24.711] OS: Linux, 5.10.0-xilinx-v2021.1, #1 SMP Wed Jul 7 19:07:31 UTC 
2021, aarch64
[01:36:24.711] Using config file '/etc/xdg/weston/weston.ini'
[01:36:24.711] Output repaint window is 7 ms maximum.
[01:36:24.711] Loading module '/usr/lib/libweston-9/drm-backend.so'
[01:36:24.722] initializing drm backend
[01:36:24.723] using /dev/dri/card0
[01:36:24.723] DRM: supports atomic modesetting
[01:36:24.723] DRM: does not support GBM modifiers
[01:36:24.723] DRM: supports picture aspect ratio
[01:36:24.723] Loading module '/usr/lib/libweston-9/gl-renderer.so'
[01:36:24.724] EGL client extensions: EGL_EXT_client_extensions
               EGL_EXT_platform_base EGL_KHR_platform_gbm
               EGL_KHR_platform_wayland
[01:36:24.725] EGL version: 1.4 Linux-r9p0-01rel0
[01:36:24.725] EGL vendor: ARM
[01:36:24.725] EGL client APIs: OpenGL_ES
[01:36:24.725] EGL extensions: EGL_KHR_image EGL_KHR_image_base
               EGL_KHR_image_pixmap EGL_EXT_image_dma_buf_import
               EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image
               EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync
               EGL_KHR_wait_sync EGL_KHR_swap_buffers_with_damage
               EGL_EXT_swap_buffers_with_damage EGL_KHR_lock_surface
               EGL_KHR_lock_surface2 EGL_EXT_create_context_robustness
               EGL_ANDROID_blob_cache EGL_KHR_create_context
               EGL_WL_bind_wayland_display EGL_KHR_partial_update
               EGL_KHR_create_context_no_error
[01:36:24.725] warning: Disabling render GPU timeline and explicit 
synchronization due to missing EGL_ANDROID_native_fence_sync extension
[01:36:24.725] Bad/unknown DRM format code 0x00000000.
[01:36:24.725] No EGLConfig matches { win|pbf; XRGB8888 }.
[01:36:24.725] All available EGLConfigs:
               id:   5 rgba: 5 6 5 0 buf: 16 dep: 24 stcl: 8 int: 0-10 type: 
win|pix|pbf|swap_preserved vis_id: RGB565 (0x36314752)
               id:   3 rgba: 5 6 5 0 buf: 16 dep: 24 stcl: 8 int: 0-10 type: 
win|pix|pbf|ms_resolve_box|swap_preserved vis_id: RGB565 (0x36314752)
               id:   4 rgba: 5 6 5 0 buf: 16 dep: 24 stcl: 8 int: 0-10 type: 
win|pix|pbf|ms_resolve_box|swap_preserved vis_id: RGB565 (0x36314752)
               id:  19 rgba: 5 5 5 1 buf: 16 dep: 24 stcl: 8 int: 0-10 type: 
pbf|swap_preserved vis_id: 0
               id:  18 rgba: 5 5 5 1 buf: 16 dep: 24 stcl: 8 int: 0-10 type: 
pbf|swap_preserved vis_id: 0
               id:  20 rgba: 5 5 5 1 buf: 16 dep: 24 stcl: 8 int: 0-10 type: 
pbf|swap_preserved vis_id: 0
               id:  21 rgba: 4 4 4 4 buf: 16 dep: 24 stcl: 8 int: 0-10 type: 
pbf|swap_preserved vis_id: 0
               id:  22 rgba: 4 4 4 4 buf: 16 dep: 24 stcl: 8 int: 0-10 type: 
pbf|swap_preserved vis_id: 0
               id:  23 rgba: 4 4 4 4 buf: 16 dep: 24 stcl: 8 int: 0-10 type: 
pbf|swap_preserved vis_id: 0
               id:   9 rgba: 8 8 8 8 buf: 32 dep: 24 stcl: 8 int: 0-10 type: 
win|pix|pbf|swap_preserved vis_id: ARGB8888 (0x34325241)
               id:  38 rgba: 8 8 8 0 buf: 24 dep: 24 stcl: 8 int: 0-10 type: 
win|pix|pbf|swap_preserved vis_id: ARGB8888 (0x34325241)
               id:  41 rgba: 8 8 8 0 buf: 24 dep: 24 stcl: 8 int: 0-10 type: 
win|pix|pbf|ms_resolve_box|swap_preserved vis_id: ARGB8888 (0x34325241)
               id:  42 rgba: 8 8 8 0 buf: 24 dep: 24 stcl: 8 int: 0-10 type: 
win|pix|pbf|ms_resolve_box|swap_preserved vis_id: ARGB8888 (0x34325241)
               id:  12 rgba: 8 8 8 8 buf: 32 dep: 24 stcl: 8 int: 0-10 type: 
win|pix|pbf|ms_resolve_box|swap_preserved vis_id: ARGB8888 (0x34325241)
               id:  15 rgba: 8 8 8 8 buf: 32 dep: 24 stcl: 8 int: 0-10 type: 
win|pix|pbf|ms_resolve_box|swap_preserved vis_id: ARGB8888 (0x34325241)
               id:  13 rgba: 0 0 0 0 buf:  8 dep:  0 stcl: 0 int: 0-0 type: pix 
vis_id: 0
               id:  14 rgba: 0 0 0 8 buf: 16 dep:  0 stcl: 0 int: 0-0 type: pix 
vis_id: 0
               id:  28 rgba: 5 6 5 0 buf: 16 dep:  0 stcl: 0 int: 0-10 type: 
win|swap_preserved vis_id: RGB565 (0x36314752)
               id:  35 rgba: 5 5 5 1 buf: 16 dep:  0 stcl: 0 int: 0-10 type: 
swap_preserved vis_id: 0
               id:  34 rgba: 8 8 8 8 buf: 32 dep:  0 stcl: 0 int: 0-10 type: 
win|swap_preserved vis_id: ARGB8888 (0x34325241)
               id:  27 rgba: 8 8 8 8 buf: 32 dep:  0 stcl: 0 int: 0-10 type: 
win|swap_preserved vis_id: ARGB8888 (0x34325241)
[01:36:24.726] failed to choose EGL config
[01:36:24.726] failed to initialize egl
[01:36:24.726] fatal: failed to create compositor backend

Reply via email to