feat(kvm): DRM/KMS scanout enumeration + capture probe (VA-104) #107
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/VA-104-drm-kms-capture"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Foundation for consent-free Wayland capture: read the active CRTC's scanout framebuffer off /dev/dri as root, the compositor-agnostic path that works on KWin/GNOME where wlr-screencopy (grim) and the consent-gated portal do not. Enumerates cards/CRTCs, resolves the primary framebuffer (directly or via its plane), exports the plane's DMA-BUF, and reads a LINEAR buffer via mmap into packed RGB. Adds a drm_probe example plus
just drm-probe/just deploy-localrecipes for the on-host dev loop.Confirmed on an AMD KWin host: the scanout is 3840x2160 ABGR2101010, reported linear but resident in VRAM, so a CPU mmap is denied (EPERM). The GPU readback path (EGL/gbm DMA-BUF import) that handles VRAM and tiled buffers is the next increment; this lands the enumeration, format/modifier probe, and the linear read that covers software / UMA-linear scanout.
Not yet wired into wayland::capture_rgb; the module and probe stand alone until the GPU readback lands.
#VA-104
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com