<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hello,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I should also note that the /sys/kernel/debug/dri/0/framebuffer file is empty, however I’m not sure if that’s important.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The contents of /etc/xdg/weston/weston.ini  are as follows:<o:p></o:p></p>
<p class="MsoNormal">[core]<o:p></o:p></p>
<p class="MsoNormal">gbm-format=xrgb8888<o:p></o:p></p>
<p class="MsoNormal">debug=1<o:p></o:p></p>
<p class="MsoNormal">require-input=false<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Any help is appreciated because I’m at a loss.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Chris<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Date: 2021-11-04 UTC<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.711] weston 9.0.0<o:p></o:p></p>
<p class="MsoNormal">               <a href="https://wayland.freedesktop.org">https://wayland.freedesktop.org</a><o:p></o:p></p>
<p class="MsoNormal">               Bug reports to: <a href="https://gitlab.freedesktop.org/wayland/weston/issues/">
https://gitlab.freedesktop.org/wayland/weston/issues/</a><o:p></o:p></p>
<p class="MsoNormal">               Build: 9.0.0<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.711] Command line: /usr/bin/weston --log=/var/log/weston.log<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.711] OS: Linux, 5.10.0-xilinx-v2021.1, #1 SMP Wed Jul 7 19:07:31 UTC 2021, aarch64<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.711] Using config file '/etc/xdg/weston/weston.ini'<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.711] Output repaint window is 7 ms maximum.<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.711] Loading module '/usr/lib/libweston-9/drm-backend.so'<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.722] initializing drm backend<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.723] using /dev/dri/card0<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.723] DRM: supports atomic modesetting<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.723] DRM: does not support GBM modifiers<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.723] DRM: supports picture aspect ratio<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.723] Loading module '/usr/lib/libweston-9/gl-renderer.so'<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.724] EGL client extensions: EGL_EXT_client_extensions<o:p></o:p></p>
<p class="MsoNormal">               EGL_EXT_platform_base EGL_KHR_platform_gbm<o:p></o:p></p>
<p class="MsoNormal">               EGL_KHR_platform_wayland<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.725] EGL version: 1.4 Linux-r9p0-01rel0<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.725] EGL vendor: ARM<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.725] EGL client APIs: OpenGL_ES<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.725] EGL extensions: EGL_KHR_image EGL_KHR_image_base<o:p></o:p></p>
<p class="MsoNormal">               EGL_KHR_image_pixmap EGL_EXT_image_dma_buf_import<o:p></o:p></p>
<p class="MsoNormal">               EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image<o:p></o:p></p>
<p class="MsoNormal">               EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync<o:p></o:p></p>
<p class="MsoNormal">               EGL_KHR_wait_sync EGL_KHR_swap_buffers_with_damage<o:p></o:p></p>
<p class="MsoNormal">               EGL_EXT_swap_buffers_with_damage EGL_KHR_lock_surface<o:p></o:p></p>
<p class="MsoNormal">               EGL_KHR_lock_surface2 EGL_EXT_create_context_robustness<o:p></o:p></p>
<p class="MsoNormal">               EGL_ANDROID_blob_cache EGL_KHR_create_context<o:p></o:p></p>
<p class="MsoNormal">               EGL_WL_bind_wayland_display EGL_KHR_partial_update<o:p></o:p></p>
<p class="MsoNormal">               EGL_KHR_create_context_no_error<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.725] warning: Disabling render GPU timeline and explicit synchronization due to missing EGL_ANDROID_native_fence_sync extension<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.725] Bad/unknown DRM format code 0x00000000.<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.725] No EGLConfig matches { win|pbf; XRGB8888 }.<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.725] All available EGLConfigs:<o:p></o:p></p>
<p class="MsoNormal">               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)<o:p></o:p></p>
<p class="MsoNormal">               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)<o:p></o:p></p>
<p class="MsoNormal">               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)<o:p></o:p></p>
<p class="MsoNormal">               id:  19 rgba: 5 5 5 1 buf: 16 dep: 24 stcl: 8 int: 0-10 type: pbf|swap_preserved vis_id: 0<o:p></o:p></p>
<p class="MsoNormal">               id:  18 rgba: 5 5 5 1 buf: 16 dep: 24 stcl: 8 int: 0-10 type: pbf|swap_preserved vis_id: 0<o:p></o:p></p>
<p class="MsoNormal">               id:  20 rgba: 5 5 5 1 buf: 16 dep: 24 stcl: 8 int: 0-10 type: pbf|swap_preserved vis_id: 0<o:p></o:p></p>
<p class="MsoNormal">               id:  21 rgba: 4 4 4 4 buf: 16 dep: 24 stcl: 8 int: 0-10 type: pbf|swap_preserved vis_id: 0<o:p></o:p></p>
<p class="MsoNormal">               id:  22 rgba: 4 4 4 4 buf: 16 dep: 24 stcl: 8 int: 0-10 type: pbf|swap_preserved vis_id: 0<o:p></o:p></p>
<p class="MsoNormal">               id:  23 rgba: 4 4 4 4 buf: 16 dep: 24 stcl: 8 int: 0-10 type: pbf|swap_preserved vis_id: 0<o:p></o:p></p>
<p class="MsoNormal">               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)<o:p></o:p></p>
<p class="MsoNormal">               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)<o:p></o:p></p>
<p class="MsoNormal">               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)<o:p></o:p></p>
<p class="MsoNormal">               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)<o:p></o:p></p>
<p class="MsoNormal">               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)<o:p></o:p></p>
<p class="MsoNormal">               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)<o:p></o:p></p>
<p class="MsoNormal">               id:  13 rgba: 0 0 0 0 buf:  8 dep:  0 stcl: 0 int: 0-0 type: pix vis_id: 0<o:p></o:p></p>
<p class="MsoNormal">               id:  14 rgba: 0 0 0 8 buf: 16 dep:  0 stcl: 0 int: 0-0 type: pix vis_id: 0<o:p></o:p></p>
<p class="MsoNormal">               id:  28 rgba: 5 6 5 0 buf: 16 dep:  0 stcl: 0 int: 0-10 type: win|swap_preserved vis_id: RGB565 (0x36314752)<o:p></o:p></p>
<p class="MsoNormal">               id:  35 rgba: 5 5 5 1 buf: 16 dep:  0 stcl: 0 int: 0-10 type: swap_preserved vis_id: 0<o:p></o:p></p>
<p class="MsoNormal">               id:  34 rgba: 8 8 8 8 buf: 32 dep:  0 stcl: 0 int: 0-10 type: win|swap_preserved vis_id: ARGB8888 (0x34325241)<o:p></o:p></p>
<p class="MsoNormal">               id:  27 rgba: 8 8 8 8 buf: 32 dep:  0 stcl: 0 int: 0-10 type: win|swap_preserved vis_id: ARGB8888 (0x34325241)<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.726] failed to choose EGL config<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.726] failed to initialize egl<o:p></o:p></p>
<p class="MsoNormal">[01:36:24.726] fatal: failed to create compositor backend<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>