Skip to content

[BUG]: GLES startup crash "BadNativeWindow" #284

@radiumatic

Description

@radiumatic

When Zed runs with GLES on Linux, regardless of the window system (WL or X11), this error occurs:

2025-10-27T17:28:36+03:30 INFO  [zed] ========== starting zed version 0.211.0, sha f503c65 ==========
2025-10-27T17:28:36+03:30 WARN  [blade_graphics::hal::platform] No config found!
2025-10-27T17:28:36+03:30 WARN  [blade_graphics::hal::platform] No config found!
2025-10-27T17:28:37+03:30 INFO  [zed] Using git binary path: None
2025-10-27T17:28:38+03:30 INFO  [extension_host] extensions updated. loading 1, reloading 0, unloading 0
2025-10-27T17:28:40+03:30 INFO  [gpui::platform::linux::platform] activate is not implemented on Linux, ignoring the call
2025-10-27T17:28:40+03:30 WARN  [blade_graphics::hal::platform] Unable to forbid exclusive full screen

thread 'main' panicked at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/blade-graphics-0.7.0/src/gles/egl.rs:431:26:
called `Result::unwrap()` on an `Err` value: BadNativeWindow
stack backtrace:
   0: __rustc::rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::result::unwrap_failed
   3: blade_graphics::hal::platform::<impl blade_graphics::hal::Context>::reconfigure_surface
   4: gpui::platform::linux::wayland::window::WaylandWindow::new
   5: <gpui::platform::linux::wayland::client::WaylandClient as gpui::platform::linux::platform::LinuxClient>::open_window
   6: gpui::platform::linux::platform::<impl gpui::platform::Platform for P>::open_window
   7: gpui::window::Window::new
   8: gpui::app::async_context::AsyncApp::open_window
   9: workspace::Workspace::new_local::{{closure}}::{{closure}}
  10: gpui::app::App::spawn::{{closure}}
  11: async_task::raw::RawTask<F,T,S,M>::run
  12: <gpui::platform::linux::wayland::client::WaylandClient as gpui::platform::linux::platform::LinuxClient>::run
  13: gpui::platform::linux::platform::<impl gpui::platform::Platform for P>::run
  14: gpui::app::Application::run
  15: zed::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Running with RUST_BACKTRACE=full has no effect

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions