zed
zed copied to clipboard
Regression between v0.168 and v0.169, crash due to `PlatformNotSupported`
Summary
I used to be able to run Zed on my Dell XPS 15 9510, but recently it refuses to start. Bisecting shows it broke in v0.169 due to #20853, which I suppose is an intended side-effect of that change.
Steps to trigger the problem:
zeditor --foreground
Actual Behavior:
[2025-03-02T19:12:56+01:00 ERROR zed::reliability] {
"thread": "main",
"payload": "called `Result::unwrap()` on an `Err` value: PlatformNotSupported",
"location_data": {
"file": "crates/gpui/src/platform/blade/blade_renderer.rs",
"line": 344
},
"backtrace": [
"__libc_start_main+28761842255180"
],
"app_version": "0.175.6",
"release_channel": "stable",
"target": "x86_64-unknown-linux-gnu",
"os_name": "Linux Wayland",
"os_version": "arch unknown",
"architecture": "x86_64",
"panicked_on": 1740939176226,
"system_id": "«removed»",
"installation_id": "«removed»",
"session_id": "«removed»"
}
Expected Behavior:
The editor starts.
After bisecting, the first bad commit is 298b9df589c2be910676b59cb8213f98a8396fed, introduced in #20853. There is some discussion there that it breaks Intel + Nvidia systems … well, the Dell XPS 15 9510 is apparently one of the affected systems. I don’t use the Nvidia GPU though, and I blacklist the nvidia and nvidia_uvm kernel modules in /etc/modprobe.d; everything runs fine on just the integrated Intel graphics. (It is possible that something recently changed on my system — I tried loading the module to see if it helped Zed to start, so during the bisection process it was loaded, but I think I just haven’t used Zed since mid-December on this laptop.)
I have a different, slightly older Dell XPS with Intel + Nvidia GPU, and Zed runs fine on that laptop. (I think I don’t have the Nvidia drivers installed at all on that one, but I’m not sure from the top of my head.)
I suppose this breakage was expected, though it would be nice if I could run Zed again. No other software I use (Gnome desktop, editors, IDEs, browsers, video players, games) has issues with the Nvidia GPU being present in the laptop. I’m happy to help diagnose this further.
Zed Version and System Specs
Zed: v0.168.0 (Zed Dev 56d20fc0a3854ef6fa60aa30470ff985041964c9) OS: Linux Wayland arch unknown (It’s kernel 6.13.5-arch1-1) Memory: 31.1 GiB Architecture: x86_64 GPU: Intel(R) UHD Graphics (TGL GT1) || Intel open-source Mesa driver || Mesa 24.3.4-arch1.1
If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.
No response
Thanks for running the bisect and connecting this to #20853. Also, seems like you're not the only one affected by this :(.
From the original PR, it seems that updating your drivers may help? Could you or @vinifrancosilva confirm if that helps either of you?
I'll also take a look to see if we can add some way to tell Zed which GPU to use/not use (so you don't have to blacklist the kernel modules in modprobe.d)
Maybe @kvark has some input on workarounds here as well?
Would be great to see the logs! Dell XPS 15 is quite a popular piece of hardware, so I'd love to get it fixed.
There is nothing much interesting in the logs though:
Logs from one run built from 387281fa5b4e6b0f3cb629d1f889c4eae9d1b0ab
$ RUST_LOG=debug,cranelift_codegen=info,wasmtime_cranelift=info target/release/zed
2025-06-09T13:35:33+02:00 INFO [zed] ========== starting zed ==========
2025-06-09T13:35:33+02:00 DEBUG [cosmic_text::font::system] Locale: en-US
2025-06-09T13:35:33+02:00 DEBUG [cosmic_text::font::system] Parsed 1271 font faces in 15ms.
2025-06-09T13:35:33+02:00 INFO [db] Opening main db
2025-06-09T13:35:33+02:00 INFO [db] Opening main db
2025-06-09T13:35:33+02:00 DEBUG [db::kvp] Writing key-value pair for key session_id
2025-06-09T13:35:33+02:00 INFO [zed] Using git binary path: None
2025-06-09T13:35:34+02:00 DEBUG [globset] built glob set; 0 literals, 0 basenames, 0 extensions, 1 prefixes, 0 suffixes, 0 required extensions, 0 regexes
2025-06-09T13:35:34+02:00 DEBUG [globset] built glob set; 0 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes, 1 required extensions, 0 regexes
2025-06-09T13:35:34+02:00 DEBUG [globset] built glob set; 0 literals, 9 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
2025-06-09T13:35:34+02:00 DEBUG [globset] glob converted to regex: Glob { glob: "**/.env*", re: "(?-u)^(?:/?|.*/)\\.env.*$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('.'), Literal('e'), Literal('n'), Literal('v'), ZeroOrMore]) }
2025-06-09T13:35:34+02:00 DEBUG [globset] built glob set; 0 literals, 1 basenames, 4 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 1 regexes
2025-06-09T13:35:34+02:00 DEBUG [globset] built glob set; 0 literals, 0 basenames, 0 extensions, 1 prefixes, 0 suffixes, 0 required extensions, 0 regexes
2025-06-09T13:35:34+02:00 DEBUG [prompt_store::prompts] Registering built-in prompt template: assistant_system_prompt
2025-06-09T13:35:34+02:00 DEBUG [prompt_store::prompts] Registering built-in prompt template: content_prompt
2025-06-09T13:35:34+02:00 DEBUG [prompt_store::prompts] Registering built-in prompt template: terminal_assistant_prompt
2025-06-09T13:35:34+02:00 INFO [prompt_store::prompts] Prompt template overrides directory found at /home/ruud/repos/zed/assets/prompts.
2025-06-09T13:35:34+02:00 INFO [assistant_tools::terminal_tool] agent selected bash for terminal tool
2025-06-09T13:35:34+02:00 DEBUG [prompt_store::prompts] Registering prompt template override: terminal_assistant_prompt
2025-06-09T13:35:34+02:00 DEBUG [prompt_store::prompts] Registering prompt template override: assistant_system_prompt
2025-06-09T13:35:34+02:00 INFO [extension_host] extensions updated. loading 6, reloading 0, unloading 0
2025-06-09T13:35:34+02:00 DEBUG [prompt_store::prompts] Registering prompt template override: content_prompt
2025-06-09T13:35:34+02:00 INFO [gpui::platform::linux::platform] activate is not implemented on Linux, ignoring the call
2025-06-09T13:35:34+02:00 DEBUG [reqwest::connect] starting new connection: http://localhost:11434/
2025-06-09T13:35:34+02:00 DEBUG [reqwest::connect] starting new connection: http://localhost:1234/
2025-06-09T13:35:34+02:00 INFO [db] Opening main db
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::dns] resolve; host=localhost
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::dns] resolve; host=localhost
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::http] connecting to [::1]:11434
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::http] connecting to [::1]:1234
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::http] connecting to 127.0.0.1:11434
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::http] connecting to 127.0.0.1:1234
2025-06-09T13:35:34+02:00 DEBUG [reqwest::connect] starting new connection: https://openrouter.ai/
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::dns] resolve; host=openrouter.ai
2025-06-09T13:35:34+02:00 DEBUG [reqwest::connect] starting new connection: https://api.zed.dev/
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::dns] resolve; host=api.zed.dev
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::http] connecting to 104.22.49.189:443
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::http] connecting to 172.67.31.142:443
2025-06-09T13:35:34+02:00 DEBUG [reqwest::connect] starting new connection: https://openrouter.ai/
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::dns] resolve; host=openrouter.ai
2025-06-09T13:35:34+02:00 WARN [blade_graphics::hal::surface] Rejected for not presenting to the window surface
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::http] connecting to 172.67.40.104:443
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::http] connected to 172.67.31.142:443
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::hs] No cached session for DnsName("api.zed.dev")
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::hs] Not resuming any session
2025-06-09T13:35:34+02:00 DEBUG [rustls::webpki::anchors] add_parsable_certificates processed 143 valid and 0 invalid certs
2025-06-09T13:35:34+02:00 DEBUG [rustls_platform_verifier::verification::others] Loaded 143 CA certificates from the system
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::http] connected to 172.67.40.104:443
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::hs] No cached session for DnsName("openrouter.ai")
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::hs] Not resuming any session
2025-06-09T13:35:34+02:00 DEBUG [hyper_util::client::legacy::connect::http] connected to 104.22.49.189:443
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::hs] No cached session for DnsName("openrouter.ai")
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::hs] Not resuming any session
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::hs] Using ciphersuite TLS13_AES_256_GCM_SHA384
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::tls13] Not resuming
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::tls13] TLS1.3 encrypted extensions: [ServerNameAck]
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::hs] ALPN protocol is None
2025-06-09T13:35:34+02:00 DEBUG [wasmtime::runtime::code_memory] ignoring section .wasmtime.engine
2025-06-09T13:35:34+02:00 DEBUG [wasmtime::runtime::code_memory] ignoring section .symtab
2025-06-09T13:35:34+02:00 DEBUG [wasmtime::runtime::code_memory] ignoring section .strtab
2025-06-09T13:35:34+02:00 DEBUG [wasmtime::runtime::code_memory] ignoring section .shstrtab
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::hs] Using ciphersuite TLS13_AES_256_GCM_SHA384
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::tls13] Not resuming
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::tls13] TLS1.3 encrypted extensions: [ServerNameAck]
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::hs] ALPN protocol is None
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::hs] Using ciphersuite TLS13_AES_256_GCM_SHA384
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::tls13] Not resuming
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::tls13] TLS1.3 encrypted extensions: [ServerNameAck]
2025-06-09T13:35:34+02:00 DEBUG [rustls::client::hs] ALPN protocol is None
2025-06-09T13:35:34+02:00 DEBUG [rustls::common_state] Sending warning alert CloseNotify
Thread "main" panicked with "called `Result::unwrap()` on an `Err` value: PlatformNotSupported" at crates/gpui/src/platform/blade/blade_renderer.rs:345:14
https://github.com/zed-industries/zed/blob/387281fa5b4e6b0f3cb629d1f889c4eae9d1b0ab/src/crates/gpui/src/platform/blade/blade_renderer.rs#L345 (may not be uploaded, line may be incorrect if files modified)
0: zed::reliability::init_panic_hook::{{closure}}
at /home/ruud/repos/zed/crates/zed/src/reliability.rs:56:29
1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/alloc/src/boxed.rs:1980:9
std::panicking::rust_panic_with_hook
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:841:13
2: std::panicking::begin_panic_handler::{{closure}}
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:706:13
3: std::sys::backtrace::__rust_end_short_backtrace
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/sys/backtrace.rs:168:18
4: __rustc::rust_begin_unwind
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:697:5
5: core::panicking::panic_fmt
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/panicking.rs:75:14
6: core::result::unwrap_failed
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/result.rs:1704:5
7: core::result::Result<T,E>::unwrap
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/result.rs:1109:23
gpui::platform::blade::blade_renderer::BladeRenderer::new
at /home/ruud/repos/zed/crates/gpui/src/platform/blade/blade_renderer.rs:342:23
gpui::platform::linux::wayland::window::WaylandWindowState::new
at /home/ruud/repos/zed/crates/gpui/src/platform/linux/wayland/window.rs:150:13
gpui::platform::linux::wayland::window::WaylandWindow::new
at /home/ruud/repos/zed/crates/gpui/src/platform/linux/wayland/window.rs:296:41
8: <gpui::platform::linux::wayland::client::WaylandClient as gpui::platform::linux::platform::LinuxClient>::open_window
at /home/ruud/repos/zed/crates/gpui/src/platform/linux/wayland/client.rs:666:36
9: gpui::platform::linux::platform::<impl gpui::platform::Platform for P>::open_window
at /home/ruud/repos/zed/crates/gpui/src/platform/linux/platform.rs:261:9
10: gpui::window::Window::new
at /home/ruud/repos/zed/crates/gpui/src/window.rs:892:35
11: gpui::app::App::open_window::{{closure}}
at /home/ruud/repos/zed/crates/gpui/src/app.rs:632:19
gpui::app::App::update
at /home/ruud/repos/zed/crates/gpui/src/app.rs:450:22
gpui::app::App::open_window
at /home/ruud/repos/zed/crates/gpui/src/app.rs:629:9
gpui::app::async_context::AsyncApp::open_window
at /home/ruud/repos/zed/crates/gpui/src/app/async_context.rs:167:14
12: workspace::Workspace::new_local::{{closure}}::{{closure}}
at /home/ruud/repos/zed/crates/workspace/src/workspace.rs:1442:17
13: gpui::app::App::spawn::{{closure}}
at /home/ruud/repos/zed/crates/gpui/src/app.rs:1100:44
14: <core::pin::Pin<P> as core::future::future::Future>::poll
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/future/future.rs:124:9
<gpui::executor::spawn_local_with_source_location::Checked<F> as core::future::future::Future>::poll
at /home/ruud/repos/zed/crates/gpui/src/executor.rs:531:22
async_task::raw::RawTask<F,T,S,M>::run
at /home/ruud/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/async-task-4.7.1/src/raw.rs:557:17
15: calloop::loop_logic::EventLoop<Data>::dispatch_idles
at /home/ruud/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/calloop-0.13.0/src/loop_logic.rs:542:13
calloop::loop_logic::EventLoop<Data>::dispatch
at /home/ruud/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/calloop-0.13.0/src/loop_logic.rs:560:9
calloop::loop_logic::EventLoop<Data>::run
at /home/ruud/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/calloop-0.13.0/src/loop_logic.rs:596:13
<gpui::platform::linux::wayland::client::WaylandClient as gpui::platform::linux::platform::LinuxClient>::run
at /home/ruud/repos/zed/crates/gpui/src/platform/linux/wayland/client.rs:760:9
16: gpui::platform::linux::platform::<impl gpui::platform::Platform for P>::run
at /home/ruud/repos/zed/crates/gpui/src/platform/linux/platform.rs:152:9
17: gpui::app::Application::run
at /home/ruud/repos/zed/crates/gpui/src/app.rs:179:9
18: zed::main
at /home/ruud/repos/zed/crates/zed/src/main.rs:357:5
19: core::ops::function::FnOnce::call_once
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/ops/function.rs:250:5
std::sys::backtrace::__rust_begin_short_backtrace
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/sys/backtrace.rs:152:18
20: std::rt::lang_start::{{closure}}
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/rt.rs:199:18
21: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/ops/function.rs:284:13
std::panicking::try::do_call
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:589:40
std::panicking::try
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:552:19
std::panic::catch_unwind
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panic.rs:359:14
std::rt::lang_start_internal::{{closure}}
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/rt.rs:168:24
std::panicking::try::do_call
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:589:40
std::panicking::try
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:552:19
std::panic::catch_unwind
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panic.rs:359:14
std::rt::lang_start_internal
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/rt.rs:164:5
22: main
23: <unknown>
24: __libc_start_main
25: _start
Is there something I can run to pin it down more specifically?
Could you add blade_graphics=debug to your RUST_LOG? They have to be explicitly enabled
Sure! I built in debug mode this time as well, in case that helps to uncover anything.
Logs from one run built from 387281fa5b4e6b0f3cb629d1f889c4eae9d1b0ab, this time with blade_graphcis=debug
$ RUST_LOG=info,blade_graphics=debug target/release/zed
2025-06-12T20:41:22+02:00 INFO [zed] ========== starting zed ==========
2025-06-12T20:41:22+02:00 INFO [blade_graphics::hal::init] Presentation support: "VK_KHR_wayland_surface"
2025-06-12T20:41:22+02:00 INFO [blade_graphics::hal::init] Presentation support: "VK_KHR_xcb_surface"
2025-06-12T20:41:22+02:00 INFO [blade_graphics::hal::init] Presentation support: "VK_KHR_xlib_surface"
2025-06-12T20:41:22+02:00 INFO [blade_graphics::hal::init] Enabling Vulkan Portability
2025-06-12T20:41:22+02:00 INFO [blade_graphics::hal::init] Enabling color space support
2025-06-12T20:41:22+02:00 INFO [blade_graphics::hal::init] Adapter: "NVIDIA GeForce RTX 3050 Ti Laptop GPU"
2025-06-12T20:41:22+02:00 INFO [blade_graphics::hal::init] Ray tracing is supported
2025-06-12T20:41:22+02:00 DEBUG [blade_graphics::hal::init] Ray tracing properties: PhysicalDeviceAccelerationStructurePropertiesKHR {
s_type: PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR,
p_next: 0x00007ffe26a998e0,
max_geometry_count: 16777215,
max_instance_count: 16777215,
max_primitive_count: 536870911,
max_per_stage_descriptor_acceleration_structures: 1048576,
max_per_stage_descriptor_update_after_bind_acceleration_structures: 1048576,
max_descriptor_set_acceleration_structures: 1048576,
max_descriptor_set_update_after_bind_acceleration_structures: 1048576,
min_acceleration_structure_scratch_offset_alignment: 128,
_marker: PhantomData<&()>,
}
2025-06-12T20:41:22+02:00 DEBUG [blade_graphics::hal::init] Adapter AdapterCapabilities {
api_version: 4210991,
properties: PhysicalDeviceProperties {
api_version: 4210991,
driver_version: 2412659200,
vendor_id: 4318,
device_id: 9632,
device_type: DISCRETE_GPU,
device_name: Ok(
"NVIDIA GeForce RTX 3050 Ti Laptop GPU",
),
pipeline_cache_uuid: [
205,
46,
23,
214,
207,
87,
80,
175,
185,
68,
228,
190,
59,
86,
218,
56,
],
limits: PhysicalDeviceLimits {
max_image_dimension1_d: 32768,
max_image_dimension2_d: 32768,
max_image_dimension3_d: 16384,
max_image_dimension_cube: 32768,
max_image_array_layers: 2048,
max_texel_buffer_elements: 134217728,
max_uniform_buffer_range: 65536,
max_storage_buffer_range: 4294967295,
max_push_constants_size: 256,
max_memory_allocation_count: 4294967295,
max_sampler_allocation_count: 4000,
buffer_image_granularity: 1024,
sparse_address_space_size: 1099511627776,
max_bound_descriptor_sets: 32,
max_per_stage_descriptor_samplers: 1048576,
max_per_stage_descriptor_uniform_buffers: 1048576,
max_per_stage_descriptor_storage_buffers: 1048576,
max_per_stage_descriptor_sampled_images: 1048576,
max_per_stage_descriptor_storage_images: 1048576,
max_per_stage_descriptor_input_attachments: 1048576,
max_per_stage_resources: 4294967295,
max_descriptor_set_samplers: 1048576,
max_descriptor_set_uniform_buffers: 1048576,
max_descriptor_set_uniform_buffers_dynamic: 15,
max_descriptor_set_storage_buffers: 1048576,
max_descriptor_set_storage_buffers_dynamic: 16,
max_descriptor_set_sampled_images: 1048576,
max_descriptor_set_storage_images: 1048576,
max_descriptor_set_input_attachments: 1048576,
max_vertex_input_attributes: 32,
max_vertex_input_bindings: 32,
max_vertex_input_attribute_offset: 2047,
max_vertex_input_binding_stride: 2048,
max_vertex_output_components: 128,
max_tessellation_generation_level: 64,
max_tessellation_patch_size: 32,
max_tessellation_control_per_vertex_input_components: 128,
max_tessellation_control_per_vertex_output_components: 128,
max_tessellation_control_per_patch_output_components: 120,
max_tessellation_control_total_output_components: 4216,
max_tessellation_evaluation_input_components: 128,
max_tessellation_evaluation_output_components: 128,
max_geometry_shader_invocations: 32,
max_geometry_input_components: 128,
max_geometry_output_components: 128,
max_geometry_output_vertices: 1024,
max_geometry_total_output_components: 1024,
max_fragment_input_components: 128,
max_fragment_output_attachments: 8,
max_fragment_dual_src_attachments: 1,
max_fragment_combined_output_resources: 4294967295,
max_compute_shared_memory_size: 49152,
max_compute_work_group_count: [
2147483647,
65535,
65535,
],
max_compute_work_group_invocations: 1024,
max_compute_work_group_size: [
1024,
1024,
64,
],
sub_pixel_precision_bits: 8,
sub_texel_precision_bits: 8,
mipmap_precision_bits: 8,
max_draw_indexed_index_value: 4294967295,
max_draw_indirect_count: 4294967295,
max_sampler_lod_bias: 15.0,
max_sampler_anisotropy: 16.0,
max_viewports: 16,
max_viewport_dimensions: [
32768,
32768,
],
viewport_bounds_range: [
-65536.0,
65536.0,
],
viewport_sub_pixel_bits: 8,
min_memory_map_alignment: 64,
min_texel_buffer_offset_alignment: 16,
min_uniform_buffer_offset_alignment: 64,
min_storage_buffer_offset_alignment: 16,
min_texel_offset: -8,
max_texel_offset: 7,
min_texel_gather_offset: -32,
max_texel_gather_offset: 31,
min_interpolation_offset: -0.5,
max_interpolation_offset: 0.4375,
sub_pixel_interpolation_offset_bits: 4,
max_framebuffer_width: 32768,
max_framebuffer_height: 32768,
max_framebuffer_layers: 2048,
framebuffer_color_sample_counts: TYPE_1 | TYPE_2 | TYPE_4 | TYPE_8,
framebuffer_depth_sample_counts: TYPE_1 | TYPE_2 | TYPE_4 | TYPE_8,
framebuffer_stencil_sample_counts: TYPE_1 | TYPE_2 | TYPE_4 | TYPE_8 | TYPE_16,
framebuffer_no_attachments_sample_counts: TYPE_1 | TYPE_2 | TYPE_4 | TYPE_8 | TYPE_16,
max_color_attachments: 8,
sampled_image_color_sample_counts: TYPE_1 | TYPE_2 | TYPE_4 | TYPE_8,
sampled_image_integer_sample_counts: TYPE_1 | TYPE_2 | TYPE_4 | TYPE_8,
sampled_image_depth_sample_counts: TYPE_1 | TYPE_2 | TYPE_4 | TYPE_8,
sampled_image_stencil_sample_counts: TYPE_1 | TYPE_2 | TYPE_4 | TYPE_8 | TYPE_16,
storage_image_sample_counts: TYPE_1 | TYPE_2 | TYPE_4 | TYPE_8,
max_sample_mask_words: 1,
timestamp_compute_and_graphics: 1,
timestamp_period: 1.0,
max_clip_distances: 8,
max_cull_distances: 8,
max_combined_clip_and_cull_distances: 8,
discrete_queue_priorities: 2,
point_size_range: [
1.0,
2047.9375,
],
line_width_range: [
1.0,
64.0,
],
point_size_granularity: 0.0625,
line_width_granularity: 0.0625,
strict_lines: 1,
standard_sample_locations: 1,
optimal_buffer_copy_offset_alignment: 1,
optimal_buffer_copy_row_pitch_alignment: 1,
non_coherent_atom_size: 64,
},
sparse_properties: PhysicalDeviceSparseProperties {
residency_standard2_d_block_shape: 1,
residency_standard2_d_multisample_block_shape: 1,
residency_standard3_d_block_shape: 1,
residency_aligned_mip_size: 0,
residency_non_resident_strict: 1,
},
},
device_information: DeviceInformation {
is_software_emulated: false,
device_name: "NVIDIA GeForce RTX 3050 Ti Laptop GPU",
driver_name: "NVIDIA",
driver_info: "575.57.08",
},
queue_family_index: 0,
layered: false,
ray_tracing: true,
buffer_marker: true,
shader_info: false,
full_screen_exclusive: false,
external_memory: true,
timing: true,
bugs: SystemBugs {
intel_unable_to_present: false,
intel_fix_descriptor_pool_leak: false,
},
}
2025-06-12T20:41:22+02:00 INFO [db] Opening main db
2025-06-12T20:41:22+02:00 INFO [db] Opening main db
2025-06-12T20:41:22+02:00 INFO [zed] Using git binary path: None
2025-06-12T20:41:22+02:00 INFO [prompt_store::prompts] Prompt template overrides directory found at /home/ruud/repos/zed/assets/prompts.
2025-06-12T20:41:22+02:00 INFO [assistant_tools::terminal_tool] agent selected bash for terminal tool
2025-06-12T20:41:22+02:00 INFO [extension_host] extensions updated. loading 6, reloading 0, unloading 0
2025-06-12T20:41:22+02:00 INFO [gpui::platform::linux::platform] activate is not implemented on Linux, ignoring the call
2025-06-12T20:41:22+02:00 INFO [db] Opening main db
2025-06-12T20:41:22+02:00 WARN [blade_graphics::hal::surface] Rejected for not presenting to the window surface
Thread "main" panicked with "called `Result::unwrap()` on an `Err` value: PlatformNotSupported" at crates/gpui/src/platform/blade/blade_renderer.rs:345:14
https://github.com/zed-industries/zed/blob/387281fa5b4e6b0f3cb629d1f889c4eae9d1b0ab/src/crates/gpui/src/platform/blade/blade_renderer.rs#L345 (may not be uploaded, line may be incorrect if files modified)
0: zed::reliability::init_panic_hook::{{closure}}
at /home/ruud/repos/zed/crates/zed/src/reliability.rs:56:29
1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/alloc/src/boxed.rs:1980:9
std::panicking::rust_panic_with_hook
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:841:13
2: std::panicking::begin_panic_handler::{{closure}}
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:706:13
3: std::sys::backtrace::__rust_end_short_backtrace
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/sys/backtrace.rs:168:18
4: __rustc::rust_begin_unwind
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:697:5
5: core::panicking::panic_fmt
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/panicking.rs:75:14
6: core::result::unwrap_failed
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/result.rs:1704:5
7: core::result::Result<T,E>::unwrap
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/result.rs:1109:23
gpui::platform::blade::blade_renderer::BladeRenderer::new
at /home/ruud/repos/zed/crates/gpui/src/platform/blade/blade_renderer.rs:342:23
gpui::platform::linux::wayland::window::WaylandWindowState::new
at /home/ruud/repos/zed/crates/gpui/src/platform/linux/wayland/window.rs:150:13
gpui::platform::linux::wayland::window::WaylandWindow::new
at /home/ruud/repos/zed/crates/gpui/src/platform/linux/wayland/window.rs:296:41
8: <gpui::platform::linux::wayland::client::WaylandClient as gpui::platform::linux::platform::LinuxClient>::open_window
at /home/ruud/repos/zed/crates/gpui/src/platform/linux/wayland/client.rs:666:36
9: gpui::platform::linux::platform::<impl gpui::platform::Platform for P>::open_window
at /home/ruud/repos/zed/crates/gpui/src/platform/linux/platform.rs:261:9
10: gpui::window::Window::new
at /home/ruud/repos/zed/crates/gpui/src/window.rs:892:35
11: gpui::app::App::open_window::{{closure}}
at /home/ruud/repos/zed/crates/gpui/src/app.rs:632:19
gpui::app::App::update
at /home/ruud/repos/zed/crates/gpui/src/app.rs:450:22
gpui::app::App::open_window
at /home/ruud/repos/zed/crates/gpui/src/app.rs:629:9
gpui::app::async_context::AsyncApp::open_window
at /home/ruud/repos/zed/crates/gpui/src/app/async_context.rs:167:14
12: workspace::Workspace::new_local::{{closure}}::{{closure}}
at /home/ruud/repos/zed/crates/workspace/src/workspace.rs:1442:17
13: gpui::app::App::spawn::{{closure}}
at /home/ruud/repos/zed/crates/gpui/src/app.rs:1100:44
14: <core::pin::Pin<P> as core::future::future::Future>::poll
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/future/future.rs:124:9
<gpui::executor::spawn_local_with_source_location::Checked<F> as core::future::future::Future>::poll
at /home/ruud/repos/zed/crates/gpui/src/executor.rs:531:22
async_task::raw::RawTask<F,T,S,M>::run
at /home/ruud/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/async-task-4.7.1/src/raw.rs:557:17
15: calloop::loop_logic::EventLoop<Data>::dispatch_idles
at /home/ruud/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/calloop-0.13.0/src/loop_logic.rs:542:13
calloop::loop_logic::EventLoop<Data>::dispatch
at /home/ruud/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/calloop-0.13.0/src/loop_logic.rs:560:9
calloop::loop_logic::EventLoop<Data>::run
at /home/ruud/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/calloop-0.13.0/src/loop_logic.rs:596:13
<gpui::platform::linux::wayland::client::WaylandClient as gpui::platform::linux::platform::LinuxClient>::run
at /home/ruud/repos/zed/crates/gpui/src/platform/linux/wayland/client.rs:760:9
16: gpui::platform::linux::platform::<impl gpui::platform::Platform for P>::run
at /home/ruud/repos/zed/crates/gpui/src/platform/linux/platform.rs:152:9
17: gpui::app::Application::run
at /home/ruud/repos/zed/crates/gpui/src/app.rs:179:9
18: zed::main
at /home/ruud/repos/zed/crates/zed/src/main.rs:357:5
19: core::ops::function::FnOnce::call_once
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/ops/function.rs:250:5
std::sys::backtrace::__rust_begin_short_backtrace
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/sys/backtrace.rs:152:18
20: std::rt::lang_start::{{closure}}
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/rt.rs:199:18
21: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/ops/function.rs:284:13
std::panicking::try::do_call
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:589:40
std::panicking::try
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:552:19
std::panic::catch_unwind
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panic.rs:359:14
std::rt::lang_start_internal::{{closure}}
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/rt.rs:168:24
std::panicking::try::do_call
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:589:40
std::panicking::try
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:552:19
std::panic::catch_unwind
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panic.rs:359:14
std::rt::lang_start_internal
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/rt.rs:164:5
22: main
23: <unknown>
24: __libc_start_main
25: _start
It seems also that my blacklist nvidia and blacklist nvidia_uvm lines in /etc/modprobe.d are ineffective, lsmod shows both being loaded, as well as nvidia_modeset.
@ruuda Looks like this is a relatively modern GPU (NVIDIA GeForce RTX 3050 Ti Laptop GPU) with a recent driver 575.57.08 and your I think your Mesa (>24) is new enough that this should be supported.
GPU: Intel(R) UHD Graphics (TGL GT1) || Intel open-source Mesa driver || Mesa 24.3.4-arch1.1
that this should be supported
Do you mean ‘should’ as in, it ought to be supported, but it is not currently, or do you mean that you expect Zed to already work on my system? It did work until 298b9df589c2be910676b59cb8213f98a8396fed, when what looks like an intentional change related to Blade broke it.
Now that you mention it, I tried again with latest main (de0e6f716c10e97b06423519f57487db176a6df9). The logs have changed:
2025-07-09T19:22:35+02:00 INFO [zed] ========== starting zed ==========
2025-07-09T19:22:40+02:00 INFO [db] Opening database /home/ruud/.local/share/zed/db/0-global/db.sqlite
2025-07-09T19:22:40+02:00 INFO [db] Opening database /home/ruud/.local/share/zed/db/0-dev/db.sqlite
2025-07-09T19:22:40+02:00 INFO [zed] Using git binary path: None
2025-07-09T19:22:41+02:00 INFO [prompt_store::prompts] Prompt template overrides directory found at /home/ruud/repos/zed/assets/prompts.
2025-07-09T19:22:41+02:00 INFO [assistant_tools::terminal_tool] agent selected bash for terminal tool
2025-07-09T19:22:41+02:00 INFO [extension_host] extensions updated. loading 6, reloading 0, unloading 0
2025-07-09T19:22:41+02:00 INFO [gpui::platform::linux::platform] activate is not implemented on Linux, ignoring the call
2025-07-09T19:22:41+02:00 INFO [db] Opening database /home/ruud/.local/share/zed/db/0-dev/db.sqlite
2025-07-09T19:22:41+02:00 WARN [blade_graphics::hal::surface] Rejected for not presenting to the window surface
Zed failed to open a window: Failed to create surface: PlatformNotSupported. See https://zed.dev/docs/linux for troubleshooting steps.
Following the steps at https://zed.dev/docs/linux#forcing-zed-to-use-a-specific-gpu, it lists my GPU as
$ lspci -nn | grep VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-H GT1 [UHD Graphics] [8086:9a60] (rev 01)
and running Zed with ZED_DEVICE_ID=0x9a60 does work!
Still, it would be nice if it worked out of the box like it did before, no other text editor I use requires me to set environment variables just to get a window on the screen.
@ruuda Looks like this is a relatively modern GPU (NVIDIA GeForce RTX 3050 Ti Laptop GPU) with a recent driver 575.57.08 and your I think your Mesa (>24) is new enough that this should be supported.
Do you mean ‘should’ as in, it ought to be supported, but it is not currently, or do you mean that you expect Zed to already work on my system?
I meant should as in we knew that change would break support for some older drivers/graphics hardware and that failure was somewhat intentional; given your hardware/drivers we should try to fix things so Zed works, Glad to hear it's working with you when you force the Intel card -- still not sure why it's not working with the NVidia.
I'm going to move this to a discussion.
There isn't anything immediately actionable here, other users are able to use these devices without specifying ZED_DEVICE_ID=0x9a60 -- not sure the specifics of your hardware/ distribution/configuration which are triggering this behavior, but at this stage it's not something we can allocate resources towards nailing down the issue. Sorry.
Happy to revisit if you (or anyone else) has suggestions for how to proceed.