zed-industries/zed · error
X11 connection: Unsupported extension
Error message
X11 connection: Unsupported extension
What it means
Mapping arm in handle_connection_error: the X11 server reported that a required extension is not available (ConnectionError::UnsupportedExtension), e.g. the server lacks XFixes, XRandR, or a compositor extension the client assumed. Converted to anyhow::Error for the caller to handle.
Source
Thrown at crates/gpui_linux/src/linux/x11/window.rs:434
if !urgent && !hints.urgent {
return;
}
hints.urgent = urgent;
check_reply(
|| "X11 ChangeProperty for WM_HINTS urgency failed.",
hints.set(xcb, x_window),
)
.log_err();
xcb_flush(xcb);
}
/// Convert X11 connection errors to `anyhow::Error` and panic for unrecoverable errors.
pub(crate) fn handle_connection_error(err: ConnectionError) -> anyhow::Error {
match err {
ConnectionError::UnknownError => anyhow!("X11 connection: Unknown error"),
ConnectionError::UnsupportedExtension => anyhow!("X11 connection: Unsupported extension"),
ConnectionError::MaximumRequestLengthExceeded => {
anyhow!("X11 connection: Maximum request length exceeded")
}
ConnectionError::FdPassingFailed => {
panic!("X11 connection: File descriptor passing failed")
}
ConnectionError::ParseError(parse_error) => {
anyhow!(parse_error).context("Parse error in X11 response")
}
ConnectionError::InsufficientMemory => panic!("X11 connection: Insufficient memory"),
ConnectionError::IoError(err) => anyhow!(err).context("X11 connection: IOError"),
_ => anyhow!(err),
}
}
impl X11WindowState {
pub fn new(
handle: AnyWindowHandle,View on GitHub (pinned to 9d272b0363)
Solutions
- Identify which extension is missing (xdpyinfo) and fall back to code paths that don't need it
- Feature-gate extension-dependent functionality and probe availability before use
- For compositing-related extensions, run under a compositing window manager or disable transparency effects
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at crates/gpui_linux/src/linux/x11/window.rs:429 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/3e89fe8ee399a580.
Report an issue: GitHub.