From bf10a2f8385497424406a1e837d597a7dc96b6f9 Mon Sep 17 00:00:00 2001 From: Samuel Onoja Date: Thu, 24 Sep 2026 16:38:35 +0100 Subject: [PATCH] fix: advertise direct renderer shm formats --- compositor/src/backends/direct.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compositor/src/backends/direct.rs b/compositor/src/backends/direct.rs index 292265f..3f4af1e 100644 --- a/compositor/src/backends/direct.rs +++ b/compositor/src/backends/direct.rs @@ -9,7 +9,7 @@ use smithay::{ drm::{DrmDevice, DrmDeviceFd, DrmEvent, DrmEventTime, DrmNode, GbmBufferedSurface}, egl::{EGLContext, EGLDisplay}, libinput::{LibinputInputBackend, LibinputSessionInterface}, - renderer::{Bind, ImportDma, damage::OutputDamageTracker, gles::GlesRenderer}, + renderer::{Bind, ImportDma, ImportMemWl, damage::OutputDamageTracker, gles::GlesRenderer}, session::{Event as SessionEvent, Session, libseat::LibSeatSession}, udev::{UdevBackend, UdevEvent, primary_gpu}, }, @@ -171,6 +171,7 @@ fn open_primary_device( let egl_context = EGLContext::new(&egl_display)?; // SAFETY: the new context is not current on another thread and remains renderer-owned. let renderer = unsafe { GlesRenderer::new(egl_context)? }; + state.shm_state.update_formats(renderer.shm_formats()); let (connector, crtc, mode) = select_output(&drm)?; let output = create_output(state, &connector, mode); if let Some(backend) = state.direct_backend.as_mut() {