zed-industries/zed · error

gpui_linux was compiled without the screen-capture feature

Error message

gpui_linux was compiled without the screen-capture feature

What it means

Guard in the Linux platform: screen_capture_sources was called, but the binary was compiled without the `screen-capture` cargo feature, so no capture source implementation exists. This is a build-configuration sentinel, not a runtime failure of capture itself.

Source

Thrown at crates/gpui_linux/src/linux/platform.rs:79

    fn with_common<R>(&self, f: impl FnOnce(&mut LinuxCommon) -> R) -> R;
    fn keyboard_layout(&self) -> Box<dyn PlatformKeyboardLayout>;
    fn displays(&self) -> Vec<Rc<dyn PlatformDisplay>>;
    #[allow(unused)]
    fn display(&self, id: DisplayId) -> Option<Rc<dyn PlatformDisplay>>;
    fn primary_display(&self) -> Option<Rc<dyn PlatformDisplay>>;

    #[cfg(feature = "screen-capture")]
    fn is_screen_capture_supported(&self) -> bool {
        true
    }

    #[cfg(feature = "screen-capture")]
    fn screen_capture_sources(
        &self,
    ) -> oneshot::Receiver<Result<Vec<Rc<dyn gpui::ScreenCaptureSource>>>> {
        let (sources_tx, sources_rx) = oneshot::channel();
        sources_tx
            .send(Err(anyhow::anyhow!(
                "gpui_linux was compiled without the screen-capture feature"
            )))
            .ok();
        sources_rx
    }

    fn open_window(
        &self,
        handle: AnyWindowHandle,
        options: WindowParams,
    ) -> anyhow::Result<Box<dyn PlatformWindow>>;
    fn set_cursor_style(&self, style: CursorStyle);
    fn hide_cursor_until_mouse_moves(&self) {}
    fn is_cursor_visible(&self) -> bool {
        true
    }
    fn open_uri(&self, uri: &str);
    fn reveal_path(&self, path: PathBuf);

View on GitHub (pinned to 9d272b0363)

Solutions

  1. Rebuild with the `screen-capture` cargo feature enabled
  2. Verify the feature is enabled in the platform-specific Cargo feature set for the target build
  3. Avoid invoking screen-capture APIs when the feature is disabled
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at crates/gpui_linux/src/linux/platform.rs:71 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of zed-industries/zed@9d272b0363 (2026-08-20). Data as JSON: /api/errors/c30d211fd7ebecbf. Report an issue: GitHub.