Skip to content

Wayland: screen capture fails (Vulkan/Ozone incompatibility, EGL_BAD_MATCH on DMA-BUF import) #92

Description

@EtienneLescot

Reported on v1.7.0-rc.1, Linux Wayland, Intel iGPU.

Symptoms

Screen recording produces no usable frames. Logs:

'--ozone-platform=wayland' is not compatible with Vulkan.
Consider switching to '--ozone-platform=x11' or disabling Vulkan
Failed to record frame: Error creating EGLImage - EGL_BAD_MATCH
DMA-BUF modifier 72057594037927944 failed for format 12 (Spa:Enum:VideoFormat:BGRA),
marking as failed and renegotiating stream parameters

Root cause

electron/main.ts forces ozone-platform=wayland and enables WebRTCPipeWireCapturer, but leaves Vulkan enabled. Chromium's Wayland Ozone backend can't use Vulkan; when it initializes Vulkan, the PipeWire desktop-capture DMA-BUF frames fail to import into EGL (EGL_BAD_MATCH), the stream renegotiates, and capture yields no frames. The modifier 72057594037927944 = 0x0100000000000008, an Intel tiled modifier.

Fix

Append disable-features=Vulkan on Wayland so capture uses the GL/EGL path. This does not disable GPU acceleration (Chromium falls back to the GL/EGL renderer). Proposed in #91, pending validation on a real Wayland box.

Env to confirm

Compositor (GNOME/KDE/Sway), Mesa version, Intel GPU confirmed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingstatus: fixed in mainWork is merged into main but may not be in a downloadable release yet.status: pending releaseMerged change is waiting for a packaged desktop release.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions