Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

EGL fails to initialize on etnaviv with EGL_PLATFORM_DEVICE_EXT #3275

Open
dos1 opened this issue Oct 19, 2021 · 3 comments
Open

EGL fails to initialize on etnaviv with EGL_PLATFORM_DEVICE_EXT #3275

dos1 opened this issue Oct 19, 2021 · 3 comments

Comments

@dos1
Copy link
Contributor

dos1 commented Oct 19, 2021

Since 6f19295, wlroots fails to initialize EGL on etnaviv and fallbacks to pixman instead.

phoc-wlroots-INFO: 10:59:54.219: [libseat] [libseat/libseat.c:67] Seat opened with backend 'logind'
phoc-wlroots-INFO: 10:59:54.220: [backend/session/session.c:110] Successfully loaded libseat session
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.226: [backend/session/session.c:354] Ignoring '/dev/dri/card0': not a KMS device
phoc-wlroots-INFO: 10:59:54.237: [backend/backend.c:300] Found 2 GPUs
phoc-wlroots-INFO: 10:59:54.238: [backend/drm/backend.c:174] Initializing DRM backend for /dev/dri/card1 (mxsfb-drm)
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.238: [backend/drm/drm.c:85] Using atomic DRM interface
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.238: [backend/drm/drm.c:98] ADDFB2 modifiers supported
phoc-wlroots-INFO: 10:59:54.238: [backend/drm/drm.c:260] Found 1 DRM CRTCs
phoc-wlroots-INFO: 10:59:54.238: [backend/drm/drm.c:187] Found 1 DRM planes
phoc-wlroots-INFO: 10:59:54.241: [render/egl.c:175] Supported EGL 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_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_device EGL_EXT_platform_wayland EGL_KHR_platform_wayland EGL_EXT_platform_x11 EGL_KHR_platform_x11 EGL_MESA_platform_xcb EGL_MESA_platform_gbm EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless

(phoc:13011): phoc-wlroots-CRITICAL **: 10:59:54.245: [EGL] command: eglQueryDeviceStringEXT, error: EGL_BAD_PARAMETER (0x300c), message: "eglQueryDeviceStringEXT"

(phoc:13011): phoc-wlroots-CRITICAL **: 10:59:54.245: [EGL] command: eglQueryDeviceStringEXT, error: EGL_BAD_PARAMETER (0x300c), message: "eglQueryDeviceStringEXT"
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.245: [render/egl.c:434] DRM device '/dev/dri/card1' has no render node, falling back to primary node

(phoc:13011): phoc-wlroots-CRITICAL **: 10:59:54.610: [EGL] command: eglQueryDisplayAttribEXT, error: EGL_BAD_DEVICE_EXT (0x322b), message: "eglQueryDeviceStringEXT"

(phoc:13011): phoc-wlroots-CRITICAL **: 10:59:54.610: [render/egl.c:275] eglQueryDeviceStringEXT(EGL_EXTENSIONS) failed

(phoc:13011): phoc-wlroots-CRITICAL **: 10:59:54.611: [render/egl.c:497] Failed to initialize EGL context

(phoc:13011): phoc-wlroots-CRITICAL **: 10:59:54.613: [render/gles2/renderer.c:693] Could not initialize EGL
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.614: [render/wlr_renderer.c:275] Failed to create GLES2 renderer
phoc-wlroots-INFO: 10:59:54.614: [render/pixman/renderer.c:521] Creating pixman renderer
phoc-wlroots-INFO: 10:59:54.614: [backend/drm/backend.c:174] Initializing DRM backend for /dev/dri/card2 (imx-dcss)
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.614: [backend/drm/drm.c:85] Using atomic DRM interface
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.614: [backend/drm/drm.c:98] ADDFB2 modifiers supported
phoc-wlroots-INFO: 10:59:54.614: [backend/drm/drm.c:260] Found 1 DRM CRTCs
phoc-wlroots-INFO: 10:59:54.614: [backend/drm/drm.c:187] Found 1 DRM planes
phoc-wlroots-INFO: 10:59:54.614: [render/egl.c:175] Supported EGL 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_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_device EGL_EXT_platform_wayland EGL_KHR_platform_wayland EGL_EXT_platform_x11 EGL_KHR_platform_x11 EGL_MESA_platform_xcb EGL_MESA_platform_gbm EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless

(phoc:13011): phoc-wlroots-CRITICAL **: 10:59:54.616: [EGL] command: eglQueryDeviceStringEXT, error: EGL_BAD_PARAMETER (0x300c), message: "eglQueryDeviceStringEXT"

(phoc:13011): phoc-wlroots-CRITICAL **: 10:59:54.616: [EGL] command: eglQueryDeviceStringEXT, error: EGL_BAD_PARAMETER (0x300c), message: "eglQueryDeviceStringEXT"
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.616: [render/egl.c:434] DRM device '/dev/dri/card2' has no render node, falling back to primary node

(phoc:13011): phoc-wlroots-CRITICAL **: 10:59:54.649: [EGL] command: eglQueryDisplayAttribEXT, error: EGL_BAD_DEVICE_EXT (0x322b), message: "eglQueryDeviceStringEXT"

(phoc:13011): phoc-wlroots-CRITICAL **: 10:59:54.649: [render/egl.c:275] eglQueryDeviceStringEXT(EGL_EXTENSIONS) failed

(phoc:13011): phoc-wlroots-CRITICAL **: 10:59:54.650: [render/egl.c:497] Failed to initialize EGL context

(phoc:13011): phoc-wlroots-CRITICAL **: 10:59:54.652: [render/gles2/renderer.c:693] Could not initialize EGL
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.652: [render/wlr_renderer.c:275] Failed to create GLES2 renderer
phoc-wlroots-INFO: 10:59:54.652: [render/pixman/renderer.c:521] Creating pixman renderer
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.652: [render/allocator/allocator.c:121] Trying to create drm dumb allocator
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.652: [render/allocator/allocator.c:38] drmModeCreateLease failed, falling back to plain open
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.653: [render/allocator/drm_dumb.c:229] Created DRM dumb allocator

(phoc:13011): phoc-wlroots-CRITICAL **: 10:59:54.653: [backend/drm/backend.c:244] Failed to query renderer texture formats

(phoc:13011): phoc-wlroots-CRITICAL **: 10:59:54.680: [backend/backend.c:308] Failed to create DRM backend
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.680: [render/allocator/allocator.c:121] Trying to create drm dumb allocator
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.680: [render/allocator/allocator.c:38] drmModeCreateLease failed, falling back to plain open
(phoc:13011): phoc-wlroots-DEBUG: 10:59:54.681: [render/allocator/drm_dumb.c:229] Created DRM dumb allocator

Tested with Mesa 21.3.0-devel (git-ad60fffd49db1c1a1089e8dd697a48c3537504cf)

drmModeGetResources: Operation not supported
Failed to retrieve information from /dev/dri/card0
Node: /dev/dri/card2
├───Driver: imx-dcss (i.MX8MQ Display Subsystem) version 1.0.0 (20190917)
│   ├───DRM_CLIENT_CAP_STEREO_3D supported
│   ├───DRM_CLIENT_CAP_UNIVERSAL_PLANES supported
│   ├───DRM_CLIENT_CAP_ATOMIC supported
│   ├───DRM_CLIENT_CAP_ASPECT_RATIO supported
│   ├───DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported
│   ├───DRM_CAP_DUMB_BUFFER = 1
│   ├───DRM_CAP_VBLANK_HIGH_CRTC = 1
│   ├───DRM_CAP_DUMB_PREFERRED_DEPTH = 0
│   ├───DRM_CAP_DUMB_PREFER_SHADOW = 0
│   ├───DRM_CAP_PRIME = 3
│   ├───DRM_CAP_TIMESTAMP_MONOTONIC = 1
│   ├───DRM_CAP_ASYNC_PAGE_FLIP = 0
│   ├───DRM_CAP_CURSOR_WIDTH = 64
│   ├───DRM_CAP_CURSOR_HEIGHT = 64
│   ├───DRM_CAP_ADDFB2_MODIFIERS = 1
│   ├───DRM_CAP_PAGE_FLIP_TARGET = 0
│   ├───DRM_CAP_CRTC_IN_VBLANK_EVENT = 1
│   ├───DRM_CAP_SYNCOBJ = 0
│   └───DRM_CAP_SYNCOBJ_TIMELINE = 0
├───Device: platform nxp,imx8mq-dcss
│   └───Available nodes: primary
├───Framebuffer size
│   ├───Width: [1, 4096]
│   └───Height: [1, 4096]
├───Connectors
│   └───Connector 0
│       ├───Object ID: 38
│       ├───Type: DisplayPort
│       ├───Status: connected
│       ├───Physical size: 480x270 mm
│       ├───Subpixel: unknown
│       ├───Encoders: {0}
│       ├───Modes
│       │   ├───[email protected] preferred driver phsync pvsync 
│       │   ├───[email protected] driver phsync pvsync 16:9 
│       │   ├┼�──[email protected] driver phsync pvsync 16:9 
│       │   ├───[email protected] driver phsync pvsync 16:9 
│       │   ├───[email protected] driver phsync nvsync 
│       │   ├───[email protected] driver phsync nvsync 
│       │   ├───[email protected] driver phsync pvsync 
│       │   ├───[email protected] driver phsync pvsync 
│       │   ├───[email protected] driver phsync nvsync 
│       │   ├───[email protected] driver phsync nvsync 
│       │   ├───[email protected] driver phsync pvsync 
│       │   ├───[email protected] driver nhsync nvsync 
│       │   ├───[email protected] driver phsync pvsync 16:9 
│       │   ├───[email protected] driver phsync pvsync 16:9 
│       │   ├───[email protected] driver phsync pvsync 16:9 
│       │   ├───[email protected] driver nhsync nvsync 
│       │   ├───[email protected] driver phsync pvsync 
│       │   ├───[email protected] driver nhsync nvsync 4:3 
│       │   ├───[email protected] driver nhsync nvsync 
│       │   └───[email protected] driver nhsync nvsync 4:3 
│       └───Properties
│           ├───"EDID" (immutable): blob = 41
│           ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│           ├───"link-status": enum {Good, Bad} = Good
│           ├───"non-desktop" (immutable): range [0, 1] = 0
│           ├───"TILE" (immutable): blob = 0
│           └───"CRTC_ID" (atomic): object CRTC = 36
├───Encoders
│   └───Encoder 0
│       ├───Object ID: 37
│       ├───Type: TMDS
│       ├───CRTCS: {0}
│       └───Clones: {0}
├───CRTCs
│   └───CRTC 0
│       ├───Object ID: 36
│       ├───Mode: [email protected] preferred driver phsync pvsync 
│       ├───Gamma size: 0
│       └───Properties
│           ├───"ACTIVE" (atomic): range [0, 1] = 1
│           ├───"MODE_ID" (atomic): blob = 42
│           │   └───[email protected] preferred driver phsync pvsync 
│           ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│           └───"VRR_ENABLED": range [0, 1] = 0
└───Planes
    └───Plane 0
        ├───Object ID: 31
        ├───CRTCs: {0}
        ├───FB ID: 40
        │   ├───Object ID: 40
        │   ├───Size: 1920x1080
        │   ├───Format: XRGB8888 (0x34325258)
        │   ├───Modifier: DRM_FORMAT_MOD_LINEAR (0x0)
        │   └───Planes:
        │       └───Plane 0: offset = 0, pitch = 7680 bytes
        ├───Formats:
        │   ├───ARGB8888 (0x34325241)
        │   ├───XRGB8888 (0x34325258)
        │   ├───ABGR8888 (0x34324241)
        │   ├───XBGR8888 (0x34324258)
        │   ├───RGBA8888 (0x34324152)
        │   ├───RGBX8888 (0x34325852)
        │   ├───BGRA8888 (0x34324142)
        │   ├───BGRX8888 (0x34325842)
        │   ├───XRGB2101010 (0x30335258)
        │   ├───XBGR2101010 (0x30334258)
        │   ├───RGBX1010102 (0x30335852)
        │   ├───BGRX1010102 (0x30335842)
        │   ├───ARGB2101010 (0x30335241)
        │   ├───ABGR2101010 (0x30334241)
        │   ├───RGBA1010102 (0x30334152)
        │   └───BGRA1010102 (0x30334142)
        └───Properties
            ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
            ├───"FB_ID" (atomic): object framebuffer = 40
            │   ├───Object ID: 40
            │   ├───Size: 1920x1080
            │   ├───Format: XRGB8888 (0x34325258)
            │   ├───Modifier: DRM_FORMAT_MOD_LINEAR (0x0)
            │   └───Planes:
            │       └───Plane 0: offset = 0, pitch = 7680 bytes
            ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
            ├───"CRTC_ID" (atomic): object CRTC = 36
            ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
            ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
            ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 1920
            ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 1080
            ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 1920
            ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 1080
            ├───"IN_FORMATS" (immutable): blob = 32
            │   ├───DRM_FORMAT_MOD_VIVANTE_TILED (0x600000000000001)
            │   │   ├───ARGB8888 (0x34325241)
            │   │   ├───XRGB8888 (0x34325258)
            │   │   └───ARGB2101010 (0x30335241)
            │   ├───DRM_FORMAT_MOD_VIVANTE_SUPER_TILED (0x600000000000002)
            │   │   ├───ARGB8888 (0x34325241)
            │   │   ├───XRGB8888 (0x34325258)
            │   │   └───ARGB2101010 (0x30335241)
            │   └───DRM_FORMAT_MOD_LINEAR (0x0)
            │       ├───ARGB8888 (0x34325241)
            │       ├───XRGB8888 (0x34325258)
            │       ├───ABGR8888 (0x34324241)
            │       ├───XBGR8888 (0x34324258)
            │       ├───RGBA8888 (0x34324152)
            │       ├───RGBX8888 (0x34325852)
            │       ├───BGRA8888 (0x34324142)
            │       ├───BGRX8888 (0x34325842)
            │       ├───XRGB2101010 (0x30335258)
            │       ├───XBGR2101010 (0x30334258)
            │       ├───RGBX1010102 (0x30335852)
            │       ├───BGRX1010102 (0x30335842)
            │       ├───ARGB2101010 (0x30335241)
            │       ├───ABGR2101010 (0x30334241)
            │       ├───RGBA1010102 (0x30334152)
            │       └───BGRA1010102 (0x30334142)
            ├───"zpos" (immutable): range [0, 0] = 0
            ├───"SCALING_FILTER": enum {Default, Nearest Neighbor} = Default
            └───"rotation": bitmask {rotate-0, rotate-90, rotate-180, rotate-270, reflect-x, reflect-y} = (rotate-0)
Node: /dev/dri/card1
├───Driver: mxsfb-drm (MXSFB Controller DRM) version 1.0.0 (20160824)
│   ├───DRM_CLIENT_CAP_STEREO_3D supported
│   ├───DRM_CLIENT_CAP_UNIVERSAL_PLANES supported
│   ├───DRM_CLIENT_CAP_ATOMIC supported
│   ├───DRM_CLIENT_CAP_ASPECT_RATIO supported
│   ├───DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported
│   ├───DRM_CAP_DUMB_BUFFER = 1
│   ├───DRM_CAP_VBLANK_HIGH_CRTC = 1
│   ├───DRM_CAP_DUMB_PREFERRED_DEPTH = 0
│   ├───DRM_CAP_DUMB_PREFER_SHADOW = 0
│   ├───DRM_CAP_PRIME = 3
│   ├───DRM_CAP_TIMESTAMP_MONOTONIC = 1
│   ├───DRM_CAP_ASYNC_PAGE_FLIP = 0
│   ├───DRM_CAP_CURSOR_WIDTH = 64
│   ├───DRM_CAP_CURSOR_HEIGHT = 64
│   ├───DRM_CAP_ADDFB2_MODIFIERS = 1
│   ├───DRM_CAP_PAGE_FLIP_TARGET = 0
┼�   ├───DRM_CAP_CRTC_IN_VBLANK_EVENT = 1
│   ├───DRM_CAP_SYNCOBJ = 0
│   └───DRM_CAP_SYNCOBJ_TIMELINE = 0
├───Device: platform fsl,imx8mq-lcdif fsl,imx28-lcdif
│   └───Available nodes: primary
├───Framebuffer size
│   ├───Width: [120, 65535]
│   └───Height: [120, 65535]
├───Connectors
│   └───Connector 0
│       ├───Object ID: 35
│       ├───Type: DSI
│       ├───Status: connected
│       ├───Physical size: 65x130 mm
│       ├───Subpixel: unknown
│       ├───Encoders: {0}
│       ├───Modes
│       │   └───[email protected] preferred driver nhsync nvsync 
│       └───Properties
│           ├───"EDID" (immutable): blob = 0
│           ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│           ├───"link-status": enum {Good, Bad} = Good
│           ├───"non-desktop" (immutable): range [0, 1] = 0
│           ├───"TILE" (immutable): blob = 0
│           └───"CRTC_ID" (atomic): object CRTC = 33
├───Encoders
│   └───Encoder 0
│       ├───Object ID: 34
│       ├───Type: none
│       ├───CRTCS: {0}
│       └───Clones: {0}
├───CRTCs
│   └───CRTC 0
│       ├───Object ID: 33
│       ├───Mode: [email protected] preferred driver nhsync nvsync 
│       ├───Gamma size: 0
│       └───Properties
│           ├───"ACTIVE" (atomic): range [0, 1] = 1
│           ├───"MODE_ID" (atomic): blob = 38
│           │   └───[email protected] preferred driver nhsync nvsync 
│           ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│           └───"VRR_ENABLED": range [0, 1] = 0
└───Planes
    └───Plane 0
        ├───Object ID: 31
        ├───CRTCs: {0}
        ├───FB ID: 39
        │   ├───Object ID: 39
        │   ├───Size: 720x1440
        │   ├───Format: XRGB8888 (0x34325258)
        │   ├───Modifier: DRM_FORMAT_MOD_LINEAR (0x0)
        │   └───Planes:
        │       └───Plane 0: offset = 0, pitch = 2880 bytes
        ├───Formats:
        │   ├───RGB565 (0x36314752)
        │   └───XRGB8888 (0x34325258)
        └───Properties
            ├─┼�─"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
            ├───"FB_ID" (atomic): object framebuffer = 39
            │   ├───Object ID: 39
            │   ├───Size: 720x1440
            │   ├───Format: XRGB8888 (0x34325258)
            │   ├───Modifier: DRM_FORMAT_MOD_LINEAR (0x0)
            │   └───Planes:
            │       └───Plane 0: offset = 0, pitch = 2880 bytes
            ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
            ├───"CRTC_ID" (atomic): object CRTC = 33
            ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
            ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
            ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 720
            ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 1440
            ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 720
            ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 1440
            └───"IN_FORMATS" (immutable): blob = 32
                └───DRM_FORMAT_MOD_LINEAR (0x0)
                    ├───RGB565 (0x36314752)
                    └───XRGB8888 (0x34325258)
$ ls -al /dev/dri/by-path/
total 0
drwxr-xr-x 2 root root 120 Oct 17 11:23 .
drwxr-xr-x 3 root root 140 Oct 17 11:23 ..
lrwxrwxrwx 1 root root   8 Oct 17 11:23 platform-30320000.lcd-controller-card -> ../card1
lrwxrwxrwx 1 root root   8 Oct 17 11:23 platform-32e00000.display-controller-card -> ../card2
lrwxrwxrwx 1 root root   8 Oct 17 11:23 platform-etnaviv-card -> ../card0
lrwxrwxrwx 1 root root  13 Oct 17 11:23 platform-etnaviv-render -> ../renderD128

wlroots has migrated to gitlab.freedesktop.org. This issue has been moved to:

https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3275

@emersion
Copy link
Member

command: eglQueryDeviceStringEXT, error: EGL_BAD_PARAMETER

Often due to a libglvnd bug. Try upgrading it?

@bl4ckb0ne
Copy link
Contributor

bl4ckb0ne commented Oct 19, 2021

There should be a fallback on EGL_PLATFORM_GBM_KHR in case EGL_PLATFORM_DEVICE_EXT fails, but it goes directly to error handling

@dos1
Copy link
Contributor Author

dos1 commented Oct 19, 2021

Often due to a libglvnd bug. Try upgrading it?

Updated from 1.3.2 to 1.3.4, didn't help.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

No branches or pull requests

3 participants