zed-industries/zed · error
Wayland screen capture not yet implemented.
Error message
Wayland screen capture not yet implemented.
What it means
Sentinel error: the Wayland client's screen_capture_sources immediately resolves with Err because screen capture is unimplemented on Wayland (see the TODO). It is not a runtime failure of an attempted capture; callers requesting screen-share sources on Wayland always get this.
Source
Thrown at crates/gpui_linux/src/linux/wayland/client.rs:981
keyboard_focused_window: None,
loop_handle: handle.clone(),
enter_token: None,
cursor_style: None,
cursor_hidden_window: None,
clipboard: Clipboard::new(conn.clone(), handle.clone()),
data_offers: Vec::new(),
primary_data_offer: None,
cursor,
pending_activation: None,
startup_activation_token,
event_loop: Some(event_loop),
ime_enabled: None,
}));
WaylandSource::new(conn, event_queue)
.insert(handle)
.unwrap();
Self(state)
}
}
impl LinuxClient for WaylandClient {
fn keyboard_layout(&self) -> Box<dyn PlatformKeyboardLayout> {
Box::new(self.0.borrow().keyboard_layout.clone())
}
fn displays(&self) -> Vec<Rc<dyn PlatformDisplay>> {
self.0
.borrow()
.outputs
.iter()
.map(|(id, output)| {
Rc::new(WaylandDisplay {
id: id.clone(),
name: output.name.clone(),View on GitHub (pinned to 9d272b0363)
Solutions
- Implement Wayland screen capture via xdg-desktop-portal's ScreenCast interface (org.freedesktop.portal.ScreenCast)
- Until implemented, callers should detect Wayland and disable/hide screen-share UI rather than invoking this API
- The TODO notes window resizing of captured streams needs care once pipewire streams are wired up
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at crates/gpui_linux/src/linux/wayland/client.rs:975 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/d37edf5657fa7149.
Report an issue: GitHub.