gfx-rs/wgpu · error

Failed to get drm display

Error message

Failed to get drm display

What it means

Panic in the Vulkan DRM surface creation: VK_EXT_acquire_drm_display's get_drm_display failed for the matched physical device, fd, and connector id, so no DRM display could be obtained for the surface.

Source

Thrown at wgpu-hal/src/vulkan/drm.rs:202

            if [primary_devid, render_devid]
                .map(|devid| to_u64!(devid))
                .contains(&to_u64!(drm_stat.st_rdev))
            {
                physical_device = Some(device)
            }
        }

        let physical_device = physical_device.ok_or(crate::InstanceError::new(
            "Failed to find suitable drm device".to_string(),
        ))?;

        let acquire_drm_display_instance =
            ext::acquire_drm_display::Instance::new(&self.shared.entry, &self.shared.raw);

        let display = unsafe {
            acquire_drm_display_instance
                .get_drm_display(physical_device, fd, connector_id)
                .expect("Failed to get drm display")
        };

        unsafe {
            acquire_drm_display_instance
                .acquire_drm_display(physical_device, fd, display)
                .expect("Failed to acquire drm display")
        }

        let display_instance = khr::display::Instance::new(&self.shared.entry, &self.shared.raw);

        let modes = unsafe {
            display_instance
                .get_display_mode_properties(physical_device, display)
                .expect("Failed to get display modes")
        };

        let mut mode = None;

View on GitHub (pinned to 3e11ff59bf)

Solutions

  1. Verify the DRM device/connector are present and not already master
  2. Retry when another process currently owns DRM master
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at wgpu-hal/src/vulkan/drm.rs:202 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of gfx-rs/wgpu@3e11ff59bf (2026-09-03). Data as JSON: /api/errors/c7d288f56a74b204. Report an issue: GitHub.