Skip to content

Invalid DRM format modifier from XDPH causes EGL_BAD_MATCH from eglCreateImageKHR when screencapturing #311

Open
@dankmolot

Description

Description

XDPH passes wrong DRM format modifier to screen capturing apps, which caused Discord to start screencapture with noticeable delay, and HyperHDR to crash.

xdg-desktop-portal-wlr and xdg-desktop-portal-kde (on KDE) does not have this issue.

Logs

XDPH when trying to screencapture with HyperHDR: https://pastebin.com/sJi6qGMj
HyperHDR: https://pastebin.com/4gTe0Wyg

Discord (no longer reproducible with latest version):

[105796:0103/190637.618909:ERROR:egl_dmabuf.cc(608)] Failed to record frame: Error creating EGLImage - EGL_BAD_MATCH
[105796:0103/190637.618928:ERROR:shared_screencast_stream.cc(951)] Dropping DMA-BUF modifier: 144115188622605059 and trying to renegotiate stream parameters

Related issues

awawa-dev/HyperHDR#1028

Additional information

$ pacman -Q hyprland wayland pipewire wireplumber xdg-desktop-portal-hyprland xdg-desktop-portal-gtk mesa
hyprland 0.46.2-5
wayland 1.23.1-1
pipewire 1:1.2.7-1
wireplumber 0.5.7-1
xdg-desktop-portal-hyprland 1.3.9-3
xdg-desktop-portal-gtk 1.15.1-2
mesa 1:24.3.3-1
$ glxinfo -B
name of display: :1
display: :1  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: AMD (0x1002)
    Device: AMD Radeon RX 6800 (radeonsi, navi21, LLVM 18.1.8, DRM 3.59, 6.12.8-arch1-1) (0x73bf)
    Version: 24.3.3
    Accelerated: yes
    Video memory: 16384MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 15003 MB, largest block: 15003 MB
    VBO free aux. memory - total: 15810 MB, largest block: 15810 MB
    Texture free memory - total: 15003 MB, largest block: 15003 MB
    Texture free aux. memory - total: 15810 MB, largest block: 15810 MB
    Renderbuffer free memory - total: 15003 MB, largest block: 15003 MB
    Renderbuffer free aux. memory - total: 15810 MB, largest block: 15810 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 16384 MB
    Total available memory: 32384 MB
    Currently available dedicated video memory: 15003 MB
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon RX 6800 (radeonsi, navi21, LLVM 18.1.8, DRM 3.59, 6.12.8-arch1-1)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 24.3.3-arch1.1
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.3.3-arch1.1
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 24.3.3-arch1.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Activity

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

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions