zed-industries / zed

Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
https://zed.dev
Other
35.33k stars 1.79k forks source link

[linux] Vulkan ERROR_INITIALIZATION_FAILED #8168

Open AA1999 opened 3 months ago

AA1999 commented 3 months ago

Check for existing issues

Describe the bug / provide steps to reproduce it

After following the instructions for building zed on linux, I run cargo run --release and the resulting error:

[2024-02-22T00:31:22+03:30 ERROR fs] watch path does not exist: /home/arshia/.config/zed/settings.json
[2024-02-22T00:31:22+03:30 ERROR fs] watch path does not exist: /home/arshia/.config/zed/keymap.json
[2024-02-22T00:31:22+03:30 ERROR util] crates/settings/src/settings_file.rs:76: EOF while parsing a value at line 1 column 0
[2024-02-22T00:31:22+03:30 ERROR fs] watch path does not exist: /home/arshia/.config/zed/extensions/installed
[2024-02-22T00:31:22+03:30 ERROR util] crates/extension/src/extension_store.rs:183: No such file or directory (os error 2)
[2024-02-22T00:31:22+03:30 ERROR util] crates/zed/src/zed.rs:555: EOF while parsing a value at line 1 column 0
Thread "main" panicked with "called `Result::unwrap()` on an `Err` value: ERROR_INITIALIZATION_FAILED" at /home/arshia/.cargo/git/checkouts/blade-b2bcd1de1cf7ab6a/e9d93a4/blade-graphics/src/vulkan/init.rs:652:18
   0: Zed::init_panic_hook::{closure#0}
             at crates/zed/src/main.rs:594:29
   1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /usr/src/debug/rust/rustc-1.76.0-src/library/alloc/src/boxed.rs:2029:9
      std::panicking::rust_panic_with_hook
             at /usr/src/debug/rust/rustc-1.76.0-src/library/std/src/panicking.rs:783:13
   2: std::panicking::begin_panic_handler::{{closure}}
             at /usr/src/debug/rust/rustc-1.76.0-src/library/std/src/panicking.rs:657:13
   3: std::sys_common::backtrace::__rust_end_short_backtrace
             at /usr/src/debug/rust/rustc-1.76.0-src/library/std/src/sys_common/backtrace.rs:171:18
   4: rust_begin_unwind
             at /usr/src/debug/rust/rustc-1.76.0-src/library/std/src/panicking.rs:645:5
   5: core::panicking::panic_fmt
             at /usr/src/debug/rust/rustc-1.76.0-src/library/core/src/panicking.rs:72:14
   6: core::result::unwrap_failed
             at /usr/src/debug/rust/rustc-1.76.0-src/library/core/src/result.rs:1649:5
   7: <blade_graphics::hal::Context>::resize
   8: <gpui::platform::blade::blade_renderer::BladeRenderer>::new
             at crates/gpui/src/platform/blade/blade_renderer.rs:366:30
   9: <gpui::platform::linux::wayland::window::WaylandWindowInner>::new
             at crates/gpui/src/platform/linux/wayland/window.rs:96:23
      <gpui::platform::linux::wayland::window::WaylandWindowState>::new
             at crates/gpui/src/platform/linux/wayland/window.rs:144:31
      <gpui::platform::linux::wayland::client::WaylandClient as gpui::platform::linux::client::Client>::open_window
             at crates/gpui/src/platform/linux/wayland/client.rs:183:36
  10: <gpui::platform::linux::platform::LinuxPlatform as gpui::platform::Platform>::open_window
             at crates/gpui/src/platform/linux/platform.rs:214:9
  11: <gpui::window::Window>::new
             at crates/gpui/src/window.rs:330:31
  12: <gpui::app::AppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>::{closure#0}
             at crates/gpui/src/app.rs:495:30
      <gpui::app::AppContext>::update::<gpui::window::WindowHandle<workspace::Workspace>, <gpui::app::AppContext>::open_window<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>::{closure#0}>
             at crates/gpui/src/app.rs:360:22
      <gpui::app::AppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>
             at crates/gpui/src/app.rs:492:9
      <gpui::app::async_context::AsyncAppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>
             at crates/gpui/src/app/async_context.rs:133:17
      <workspace::Workspace>::new_local::{closure#0}::{closure#0}
             at crates/workspace/src/workspace.rs:874:17
  13: <core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>> as core::future::future::Future>::poll
             at /usr/src/debug/rust/rustc-1.76.0-src/library/core/src/future/future.rs:124:9
      <<async_task::runnable::Builder<_>>::spawn_local::Checked<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>>> as core::future::future::Future>::poll
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/runnable.rs:455:26
      <async_task::raw::RawTask<<async_task::runnable::Builder<_>>::spawn_local::Checked<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>>>, core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>, <gpui::executor::ForegroundExecutor>::spawn::inner<core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>::{closure#0}, ()>>::run
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/raw.rs:557:17
  14: <async_task::runnable::Runnable>::run
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/runnable.rs:781:18
      <gpui::platform::linux::wayland::client::WaylandClient as gpui::platform::linux::client::Client>::run
             at crates/gpui/src/platform/linux/wayland/client.rs:123:17
  15: <gpui::app::App>::run::<Zed::main::{closure#3}>
             at crates/gpui/src/app.rs:143:9
      Zed::main
             at crates/zed/src/main.rs:123:5
  16: <fn() as core::ops::function::FnOnce<()>>::call_once
             at /usr/src/debug/rust/rustc-1.76.0-src/library/core/src/ops/function.rs:250:5
      std::sys_common::backtrace::__rust_begin_short_backtrace::<fn(), ()>
             at /usr/src/debug/rust/rustc-1.76.0-src/library/std/src/sys_common/backtrace.rs:155:18
  17: std::rt::lang_start::<()>::{closure#0}
             at /usr/src/debug/rust/rustc-1.76.0-src/library/std/src/rt.rs:166:18
  18: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /usr/src/debug/rust/rustc-1.76.0-src/library/core/src/ops/function.rs:284:13
      std::panicking::try::do_call
             at /usr/src/debug/rust/rustc-1.76.0-src/library/std/src/panicking.rs:552:40
      std::panicking::try
             at /usr/src/debug/rust/rustc-1.76.0-src/library/std/src/panicking.rs:516:19
      std::panic::catch_unwind
             at /usr/src/debug/rust/rustc-1.76.0-src/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal::{{closure}}
             at /usr/src/debug/rust/rustc-1.76.0-src/library/std/src/rt.rs:148:48
      std::panicking::try::do_call
             at /usr/src/debug/rust/rustc-1.76.0-src/library/std/src/panicking.rs:552:40
      std::panicking::try
             at /usr/src/debug/rust/rustc-1.76.0-src/library/std/src/panicking.rs:516:19
      std::panic::catch_unwind
             at /usr/src/debug/rust/rustc-1.76.0-src/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal
             at /usr/src/debug/rust/rustc-1.76.0-src/library/std/src/rt.rs:148:20
  19: main
  20: <unknown>
  21: __libc_start_main
  22: _start

Steps to reproduce:

  1. clone the repository
  2. cd to the repo folder
  3. git submodule update --init --recursive
  4. rustup target add wasm32-wasi
  5. Install the dependencies in script/linux
  6. Run cargo run --release

Environment

OS: Arch Linux x86_64 Kernel: 6.7.5-arch1-1 DE: KDE Plasma 5.27.10 WM: KWin (Wayland) CPU: Intel(R) Core(TM) i7-7700HQ (8) @ 3.80 GHz GPU 1: NVIDIA GeForce GTX 1050 Ti Mobile

If applicable, add mockups / screenshots to help explain present your vision of the feature

No response

If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.

If you only need the most recent lines, you can run the zed: open log command palette action to see the last 1000.

https://paste.ofcode.org/7WyGRWWXTSSnjWRvEtxCVb

Godskull commented 3 months ago

same issue on

OS: Arch Linux x86_64 Kernel: 6.7.5-arch1-1 DE: KDE Plasma 5.27.10 WM: KWin CPU: AMD Ryzen 7 5800HS with Radeon Graphics (16) @ 4.463GHz GPU: AMD ATI Radeon Vega Series / Radeon Vega Mobile Series GPU: AMD ATI Radeon Vega Series / Radeon Vega Mobile Series

abbygriffiths commented 3 months ago

I encountered a similar error while building on WSL:

OS: Debian GNU/Linux 12 (bookworm) on Windows 10 x86_64 DE: None Kernel: 5.15.133.1-microsoft-standard-WSL2 Shell: bash 5.2.15 CPU: Intel i7-9750H (12) @ 2.592GHz GPU: 809b:00:00.0 Microsoft Corporation Basic Render Driver

Log:

[2024-02-25T17:04:53+05:30 ERROR fs] watch path does not exist: /home/abirbhavg/.config/zed/settings.json
[2024-02-25T17:04:53+05:30 ERROR fs] watch path does not exist: /home/abirbhavg/.config/zed/keymap.json
[2024-02-25T17:04:54+05:30 ERROR util] crates/settings/src/settings_file.rs:76: EOF while parsing a value at line 1 column 0
[2024-02-25T17:04:55+05:30 ERROR util] crates/zed/src/zed.rs:554: EOF while parsing a value at line 1 column 0
[2024-02-25T17:04:55+05:30 ERROR fs] watch path does not exist: crates/zed/src/languages
[2024-02-25T17:04:55+05:30 ERROR blade_graphics::hal::init] Missing Vulkan entry points: LibraryLoadFailure(DlOpen { desc: "libvulkan.so.1: cannot open shared object file: No such file or directory" })
Thread "main" panicked with "called `Result::unwrap()` on an `Err` value: NotSupportedError" at crates/gpui/src/platform/linux/wayland/window.rs:88:14
   0: Zed::init_panic_hook::{closure#0}
             at crates/zed/src/main.rs:595:29
   1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
      std::panicking::rust_panic_with_hook
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:783:13
   2: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:657:13
   3: std::sys_common::backtrace::__rust_end_short_backtrace
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:171:18
   4: rust_begin_unwind
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
   5: core::panicking::panic_fmt
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
   6: core::result::unwrap_failed
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1649:5
   7: <core::result::Result<blade_graphics::hal::Context, blade_graphics::NotSupportedError>>::unwrap
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1073:23
   8: <gpui::platform::linux::wayland::window::WaylandWindowInner>::new
             at crates/gpui/src/platform/linux/wayland/window.rs:79:13
   9: <gpui::platform::linux::wayland::window::WaylandWindowState>::new
             at crates/gpui/src/platform/linux/wayland/window.rs:144:31
  10: <gpui::platform::linux::wayland::client::WaylandClient as gpui::platform::linux::client::Client>::open_window
             at crates/gpui/src/platform/linux/wayland/client.rs:203:36
  11: <gpui::platform::linux::platform::LinuxPlatform as gpui::platform::Platform>::open_window
             at crates/gpui/src/platform/linux/platform.rs:214:9
  12: <gpui::window::Window>::new
             at crates/gpui/src/window.rs:330:31
  13: <gpui::app::AppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>::{closure#0}
             at crates/gpui/src/app.rs:495:30
  14: <gpui::app::AppContext>::update::<gpui::window::WindowHandle<workspace::Workspace>, <gpui::app::AppContext>::open_window<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>::{closure#0}>
             at crates/gpui/src/app.rs:360:22
  15: <gpui::app::AppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>
             at crates/gpui/src/app.rs:492:9
  16: <gpui::app::async_context::AsyncAppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>
             at crates/gpui/src/app/async_context.rs:133:12
  17: <workspace::Workspace>::new_local::{closure#0}::{closure#0}
             at crates/workspace/src/workspace.rs:867:17
  18: <core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>> as core::future::future::Future>::poll
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/future/future.rs:124:9
  19: <<async_task::runnable::Builder<_>>::spawn_local::Checked<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>>> as core::future::future::Future>::poll
             at /home/abirbhavg/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/runnable.rs:455:26
  20: <async_task::raw::RawTask<<async_task::runnable::Builder<_>>::spawn_local::Checked<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>>>, core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>, <gpui::executor::ForegroundExecutor>::spawn::inner<core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>::{closure#0}, ()>>::run
             at /home/abirbhavg/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/raw.rs:557:17
  21: <async_task::runnable::Runnable>::run
             at /home/abirbhavg/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/runnable.rs:781:18
  22: <gpui::platform::linux::wayland::client::WaylandClient as gpui::platform::linux::client::Client>::run
             at crates/gpui/src/platform/linux/wayland/client.rs:143:17
  23: <gpui::platform::linux::platform::LinuxPlatform as gpui::platform::Platform>::run
             at crates/gpui/src/platform/linux/platform.rs:174:9
  24: <gpui::app::App>::run::<Zed::main::{closure#3}>
             at crates/gpui/src/app.rs:143:9
  25: Zed::main
             at crates/zed/src/main.rs:122:5
  26: <fn() as core::ops::function::FnOnce<()>>::call_once
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
  27: std::sys_common::backtrace::__rust_begin_short_backtrace::<fn(), ()>
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:155:18
  28: std::rt::lang_start::<()>::{closure#0}
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:166:18
  29: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:284:13
      std::panicking::try::do_call
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
      std::panicking::try
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
      std::panic::catch_unwind
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal::{{closure}}
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:148:48
      std::panicking::try::do_call
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
      std::panicking::try
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
      std::panic::catch_unwind
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:148:20
  30: std::rt::lang_start::<()>
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:165:17
  31: main
  32: <unknown>
  33: __libc_start_main
  34: _start

The crashing was fixed when I installed libvulkan-dev and libvulkan1 and the application atleast launches, but the original "watch path error" still remains:

[2024-02-25T18:14:04+05:30 ERROR fs] watch path does not exist: /home/abirbhavg/.config/zed/keymap.json
[2024-02-25T18:14:05+05:30 ERROR util] crates/zed/src/zed.rs:554: EOF while parsing a value at line 1 column 0
[2024-02-25T18:14:05+05:30 ERROR fs] watch path does not exist: /home/abirbhavg/.config/zed/tasks.json
Be1newinner commented 3 months ago

I encountered a similar error while building on WSL:

OS: Ubuntu 22.04.4 LTS Kernel: Linux 5.15.0-1049-intel-iotg Shell: Version 3.44.0 for GNOME 42 CPU: 11th Gen Intel(R) Core(TM) i5-11400H @ 2.70GHz

Output after 1st compiling

 Running `target/release/Zed`
[2024-02-27T01:16:22+05:30 ERROR fs] watch path does not exist: /home/be1newinner/.config/zed/settings.json
[2024-02-27T01:16:22+05:30 ERROR fs] watch path does not exist: /home/be1newinner/.config/zed/keymap.json
[2024-02-27T01:16:22+05:30 ERROR util] crates/settings/src/settings_file.rs:76: EOF while parsing a value at line 1 column 0
[2024-02-27T01:16:22+05:30 ERROR fs] watch path does not exist: /home/be1newinner/.config/zed/extensions/installed
[2024-02-27T01:16:22+05:30 ERROR util] crates/extension/src/extension_store.rs:195: No such file or directory (os error 2)
[2024-02-27T01:16:22+05:30 ERROR util] crates/zed/src/zed.rs:554: EOF while parsing a value at line 1 column 0
[2024-02-27T01:16:23+05:30 ERROR fs] watch path does not exist: /home/be1newinner/.config/zed/tasks.json
mabla0531 commented 3 months ago

The crashing was fixed when I installed libvulkan-dev and libvulkan1 and the application atleast launches...

This hasn't worked for me, I have troubleshot X11 in a thousand different ways, anyone know a workaround or specific cause?

PopOS 22.04 Linux 6.6.10-76060610-generic GNOME 41.4 Nvidia 4050, driver 545

AnthonyBerisha commented 3 months ago

Same here with cargo run --release

Finished release [optimized + debuginfo] target(s) in 5m 28s
Running `target/release/Zed`
[2024-02-28T10:55:34+01:00 ERROR fs] watch path does not exist: /home/tony/.config/zed/settings.json
[2024-02-28T10:55:34+01:00 ERROR fs] watch path does not exist: /home/tony/.config/zed/keymap.json
[2024-02-28T10:55:34+01:00 ERROR util] crates/settings/src/settings_file.rs:76: EOF while parsing a value at line 1 column 0
[2024-02-28T10:55:34+01:00 ERROR util] crates/zed/src/zed.rs:569: EOF while parsing a value at line 1 column 0
WARNING: radv is not a conformant Vulkan implementation, testing use only.

OS: Ubuntu 20.04.6 LTS x86_64 DE: Regolith (with X11) Kernel: 5.15.0-97-generic Shell: zsh 5.8 (x86_64-ubuntu-linux-gnu) CPU: AMD Ryzen 7 3800X (16) @ 3.900GHz GPU: AMD RX6750XT

Edit: Managed to fix the watch patch errors by creating empty settings.json and keymap.json in the specified paths

I only have the EOF errors now

[2024-02-28T11:10:09+01:00 ERROR util] crates/settings/src/settings_file.rs:76: EOF while parsing a value at line 1 column 0
[2024-02-28T11:10:09+01:00 ERROR util] crates/zed/src/zed.rs:569: EOF while parsing a value at line 1 column 0
burrbull commented 3 months ago

I only have the EOF errors now

The minimal json file is

{}

But there is still an error with settings file writing. #8437

Yazeed1s commented 3 months ago

@Godskull, @AA1999 Zed crashed immediately with the same errors. I run archlinux with 6.6.18-1 kernel, AMD Ryzen 7 PRO 6850U CPU and AMD ATI Radeon 680M GPU. However, after installing vulkan-amdgpu-pro and vulkan-devel I was able to fire up Zed, but the errors still presist.

Try to install vulkan in your machine and see if Zed still crashes.

I think script/linux is lacking what is needed to build or run Zed.

Godskull commented 3 months ago

@Yazeed1s

Try to install vulkan in your machine and see if Zed still crashes.

i installed vulkan-devel i have nvidia card so i ran prime-run cargo run --release , prime-run because i have hybrid graphics and to use my nvidia graphics over my integrated graphics i need to add prime-run but , with or without prime-run i was getting these errors

[2024-03-01T17:58:01+05:30 ERROR util] crates/zed/src/zed.rs:569: invalid type: map, expected a sequence at line 1 column 0
[2024-03-01T17:58:02+05:30 ERROR util] crates/task/src/static_source.rs:126: Error("invalid type: map, expected a sequence", line: 1, column: 0)

and the editor was open and when i used mangohud to check the fps then the fps where fluctuating from 3 fps to 60 fps with a average frametime of 1400ms , going as high as 2600ms , in short the editor was unusable

imerla1 commented 3 months ago

same issue. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal

cargo run --release

arning: zed@0.126.0: Info: using '6fcd57ac53cd73adb717532c1f76b132a998e8c8' hash for ZED_COMMIT_SHA env var Finished release [optimized + debuginfo] target(s) in 0.55s Running target/release/Zed [2024-03-02T16:26:53+04:00 ERROR fs] watch path does not exist: /home/geoi/.config/zed/settings.json [2024-03-02T16:26:53+04:00 ERROR fs] watch path does not exist: /home/geoi/.config/zed/keymap.json [2024-03-02T16:26:53+04:00 ERROR util] crates/settings/src/settings_file.rs:76: EOF while parsing a value at line 1 column 0 [2024-03-02T16:26:53+04:00 ERROR util] crates/zed/src/zed.rs:580: EOF while parsing a value at line 1 column 0 Thread "main" panicked with "called Result::unwrap() on an Err value: NotSupportedError" at crates/gpui/src/platform/linux/x11/window.rs:243:14 0: Zed::init_panic_hook::{closure#0} at crates/zed/src/main.rs:624:29 1: <alloc::boxed::Box<F,A> as core::ops::function::Fn>::call

AA1999 commented 3 months ago

However, after installing vulkan-amdgpu-pro and vulkan-devel I was able to fire up Zed, but the errors still presist.

I already have vulkan-devel installed, but isn't vulkan-amdgpu-pro for AMD GPUs? Mine is NVIDIA

I did install vulkan-devel again anyway (just to be sure) but the error is the same:

[2024-03-02T19:12:25+03:30 ERROR fs] watch path does not exist: /home/arshia/.config/zed/settings.json
[2024-03-02T19:12:25+03:30 ERROR fs] watch path does not exist: /home/arshia/.config/zed/keymap.json
[2024-03-02T19:12:25+03:30 ERROR util] crates/settings/src/settings_file.rs:76: EOF while parsing a value at line 1 column 0
[2024-03-02T19:12:25+03:30 ERROR util] crates/zed/src/zed.rs:580: EOF while parsing a value at line 1 column 0
Thread "main" panicked with "called `Result::unwrap()` on an `Err` value: ERROR_INITIALIZATION_FAILED" at /home/arshia/.cargo/git/checkouts/blade-b2bcd1de1cf7ab6a/e9d93a4/blade-graphics/src/vulkan/init.rs:652:18
   0: Zed::init_panic_hook::{closure#0}
             at crates/zed/src/main.rs:624:29
   1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
      std::panicking::rust_panic_with_hook
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:783:13
   2: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:657:13
   3: std::sys_common::backtrace::__rust_end_short_backtrace
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:171:18
   4: rust_begin_unwind
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
   5: core::panicking::panic_fmt
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
   6: core::result::unwrap_failed
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1649:5
   7: <blade_graphics::hal::Context>::resize
   8: <gpui::platform::blade::blade_renderer::BladeRenderer>::new
             at crates/gpui/src/platform/blade/blade_renderer.rs:366:30
   9: <gpui::platform::linux::wayland::window::WaylandWindowInner>::new
             at crates/gpui/src/platform/linux/wayland/window.rs:97:23
      <gpui::platform::linux::wayland::window::WaylandWindowState>::new
             at crates/gpui/src/platform/linux/wayland/window.rs:142:33
      <gpui::platform::linux::wayland::client::WaylandClient as gpui::platform::linux::client::Client>::open_window
             at crates/gpui/src/platform/linux/wayland/client.rs:206:60
  10: <gpui::platform::linux::platform::LinuxPlatform as gpui::platform::Platform>::open_window
             at crates/gpui/src/platform/linux/platform.rs:174:9
  11: <gpui::window::Window>::new
             at crates/gpui/src/window.rs:329:31
  12: <gpui::app::AppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>::{closure#0}
             at crates/gpui/src/app.rs:495:30
      <gpui::app::AppContext>::update::<gpui::window::WindowHandle<workspace::Workspace>, <gpui::app::AppContext>::open_window<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>::{closure#0}>
             at crates/gpui/src/app.rs:360:22
      <gpui::app::AppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>
             at crates/gpui/src/app.rs:492:9
      <gpui::app::async_context::AsyncAppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>
             at crates/gpui/src/app/async_context.rs:133:17
      <workspace::Workspace>::new_local::{closure#0}::{closure#0}
             at crates/workspace/src/workspace.rs:872:17
  13: <core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>> as core::future::future::Future>::poll
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/future/future.rs:124:9
      <<async_task::runnable::Builder<_>>::spawn_local::Checked<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>>> as core::future::future::Future>::poll
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/runnable.rs:455:26
      <async_task::raw::RawTask<<async_task::runnable::Builder<_>>::spawn_local::Checked<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>>>, core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>, <gpui::executor::ForegroundExecutor>::spawn::inner<core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>::{closure#0}, ()>>::run
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/raw.rs:557:17
  14: <async_task::runnable::Runnable>::run
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/runnable.rs:781:18
      <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}
             at crates/gpui/src/platform/linux/platform.rs:80:21
      <core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}>> as calloop::sources::EventDispatcher<()>>::process_events::{closure#0}
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/mod.rs:327:61
      <calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events::<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}>> as calloop::sources::EventDispatcher<()>>::process_events::{closure#0}>::{closure#0}
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/channel.rs:187:32
      <calloop::sources::ping::eventfd::PingSource as calloop::sources::EventSource>::process_events::<<calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}>> as calloop::sources::EventDispatcher<()>>::process_events::{closure#0}>::{closure#0}>::{closure#0}
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/ping/eventfd.rs:138:21
      <calloop::sources::generic::Generic<calloop::sources::ping::eventfd::ArcAsFd> as calloop::sources::EventSource>::process_events::<<calloop::sources::ping::eventfd::PingSource as calloop::sources::EventSource>::process_events<<calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}>> as calloop::sources::EventDispatcher<()>>::process_events::{closure#0}>::{closure#0}>::{closure#0}>
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/generic.rs:290:9
      <calloop::sources::ping::eventfd::PingSource as calloop::sources::EventSource>::process_events::<<calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}>> as calloop::sources::EventDispatcher<()>>::process_events::{closure#0}>::{closure#0}>
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/ping/eventfd.rs:127:9
      <calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events::<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}>> as calloop::sources::EventDispatcher<()>>::process_events::{closure#0}>
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/channel.rs:184:9
      <core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}>> as calloop::sources::EventDispatcher<()>>::process_events
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/mod.rs:326:9
  15: <calloop::loop_logic::EventLoop<()>>::dispatch_events
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/loop_logic.rs:445:31
      <calloop::loop_logic::EventLoop<()>>::dispatch::<core::option::Option<core::time::Duration>>
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/loop_logic.rs:559:9
  16: <calloop::loop_logic::EventLoop<()>>::run::<<gpui::platform::linux::platform::LinuxPlatform as gpui::platform::Platform>::run::{closure#0}, core::option::Option<core::time::Duration>>
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/loop_logic.rs:596:13
      <gpui::platform::linux::platform::LinuxPlatform as gpui::platform::Platform>::run
             at crates/gpui/src/platform/linux/platform.rs:126:9
  17: <gpui::app::App>::run::<Zed::main::{closure#3}>
             at crates/gpui/src/app.rs:143:9
      Zed::main
             at crates/zed/src/main.rs:122:5
  18: <fn() as core::ops::function::FnOnce<()>>::call_once
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
      std::sys_common::backtrace::__rust_begin_short_backtrace::<fn(), ()>
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:155:18
  19: std::rt::lang_start::<()>::{closure#0}
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:166:18
  20: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:284:13
      std::panicking::try::do_call
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
      std::panicking::try
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
      std::panic::catch_unwind
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal::{{closure}}
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:148:48
      std::panicking::try::do_call
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
      std::panicking::try
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
      std::panic::catch_unwind
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:148:20
  21: main
  22: <unknown>
  23: __libc_start_main
  24: _start

Output of ls /usr/share/vulkan/icd.d/:

ls /usr/share/vulkan/icd.d/
nvidia_icd.json
Yazeed1s commented 3 months ago

@AA1999 according to archwiki, you also need a vulkan driver. The available drivers for Nvidia & Intrl are:

1- Intel: vulkan-intel (or lib32-vulkan-intel) 2- NVIDIA: nvidia-utils (or lib32-nvidia-utils)

Install the drivers and see if it changes anything, in my case Zed does not crash after installing the drivers. But it's still generating the errors you are getting.

AA1999 commented 3 months ago

nvidia-utils is also already installed. Creating the json files with an empty {} fixes the error but shows this instead:

[2024-03-02T23:56:22+03:30 ERROR util] crates/zed/src/zed.rs:580: invalid type: map, expected a sequence at line 1 column 0
Thread "main" panicked with "called `Result::unwrap()` on an `Err` value: ERROR_INITIALIZATION_FAILED" at /home/arshia/.cargo/git/checkouts/blade-b2bcd1de1cf7ab6a/e9d93a4/blade-graphics/src/vulkan/init.rs:652:18
   0: Zed::init_panic_hook::{closure#0}
             at crates/zed/src/main.rs:624:29
   1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
      std::panicking::rust_panic_with_hook
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:783:13
   2: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:657:13
   3: std::sys_common::backtrace::__rust_end_short_backtrace
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:171:18
   4: rust_begin_unwind
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
   5: core::panicking::panic_fmt
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
   6: core::result::unwrap_failed
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1649:5
   7: <blade_graphics::hal::Context>::resize
   8: <gpui::platform::blade::blade_renderer::BladeRenderer>::new
             at crates/gpui/src/platform/blade/blade_renderer.rs:366:30
   9: <gpui::platform::linux::wayland::window::WaylandWindowInner>::new
             at crates/gpui/src/platform/linux/wayland/window.rs:97:23
      <gpui::platform::linux::wayland::window::WaylandWindowState>::new
             at crates/gpui/src/platform/linux/wayland/window.rs:142:33
      <gpui::platform::linux::wayland::client::WaylandClient as gpui::platform::linux::client::Client>::open_window
             at crates/gpui/src/platform/linux/wayland/client.rs:206:60
  10: <gpui::platform::linux::platform::LinuxPlatform as gpui::platform::Platform>::open_window
             at crates/gpui/src/platform/linux/platform.rs:174:9
  11: <gpui::window::Window>::new
             at crates/gpui/src/window.rs:329:31
  12: <gpui::app::AppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>::{closure#0}
             at crates/gpui/src/app.rs:495:30
      <gpui::app::AppContext>::update::<gpui::window::WindowHandle<workspace::Workspace>, <gpui::app::AppContext>::open_window<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>::{closure#0}>
             at crates/gpui/src/app.rs:360:22
      <gpui::app::AppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>
             at crates/gpui/src/app.rs:492:9
      <gpui::app::async_context::AsyncAppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#5}>
             at crates/gpui/src/app/async_context.rs:133:17
      <workspace::Workspace>::new_local::{closure#0}::{closure#0}
             at crates/workspace/src/workspace.rs:872:17
  13: <core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>> as core::future::future::Future>::poll
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/future/future.rs:124:9
      <<async_task::runnable::Builder<_>>::spawn_local::Checked<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>>> as core::future::future::Future>::poll
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/runnable.rs:455:26
      <async_task::raw::RawTask<<async_task::runnable::Builder<_>>::spawn_local::Checked<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>>>, core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>, <gpui::executor::ForegroundExecutor>::spawn::inner<core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>::{closure#0}, ()>>::run
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/raw.rs:557:17
  14: <async_task::runnable::Runnable>::run
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/runnable.rs:781:18
      <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}
             at crates/gpui/src/platform/linux/platform.rs:80:21
      <core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}>> as calloop::sources::EventDispatcher<()>>::process_events::{closure#0}
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/mod.rs:327:61
      <calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events::<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}>> as calloop::sources::EventDispatcher<()>>::process_events::{closure#0}>::{closure#0}
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/channel.rs:187:32
      <calloop::sources::ping::eventfd::PingSource as calloop::sources::EventSource>::process_events::<<calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}>> as calloop::sources::EventDispatcher<()>>::process_events::{closure#0}>::{closure#0}>::{closure#0}
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/ping/eventfd.rs:138:21
      <calloop::sources::generic::Generic<calloop::sources::ping::eventfd::ArcAsFd> as calloop::sources::EventSource>::process_events::<<calloop::sources::ping::eventfd::PingSource as calloop::sources::EventSource>::process_events<<calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}>> as calloop::sources::EventDispatcher<()>>::process_events::{closure#0}>::{closure#0}>::{closure#0}>
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/generic.rs:290:9
      <calloop::sources::ping::eventfd::PingSource as calloop::sources::EventSource>::process_events::<<calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}>> as calloop::sources::EventDispatcher<()>>::process_events::{closure#0}>::{closure#0}>
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/ping/eventfd.rs:127:9
      <calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events::<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}>> as calloop::sources::EventDispatcher<()>>::process_events::{closure#0}>
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/channel.rs:184:9
      <core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::platform::LinuxPlatform>::new::{closure#0}>> as calloop::sources::EventDispatcher<()>>::process_events
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/sources/mod.rs:326:9
  15: <calloop::loop_logic::EventLoop<()>>::dispatch_events
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/loop_logic.rs:445:31
      <calloop::loop_logic::EventLoop<()>>::dispatch::<core::option::Option<core::time::Duration>>
             at /home/arshia/.cargo/registry/src/index.crates.io-6f17d22bba15001f/calloop-0.12.4/src/loop_logic.rs:559:9
  16: <calloop::loop_logic::EventLoop<()>>::run::<<gpui::platform::linux::platform::LinuxPlatform as gpui::platform::Platform>::run::{closure#0}, core::option::Option<core::time::Duration>>
kvark commented 2 months ago

For everybody having ERROR_INITIALIZATION_FAILED or NotSupportedError, could you please:

skullcrushercmd commented 2 months ago

with the added changes, i get this on arch wayland

 Running `target/release/Zed`

thread 'main' panicked at crates/gpui/src/platform/linux/x11/client.rs:52:10: called Result::unwrap() on an Err value: ClosedParseErr note: run with RUST_BACKTRACE=1 environment variable to display a backtrace [root@linuxtechi zed]# vkcube Environment variable DISPLAY requires a valid value. Exiting ... [root@linuxtechi zed]#

skullcrushercmd commented 2 months ago

tried it on x11, it at least opened with errors, tried fixing one of them and it did not start again even after reverting the change (adding some json file) so switched back to wayland and it does work to an extent, it opens but its unusable, no extensions, sign in doesnt work, and saving files or closing windows doesnt work

[skullcmd@linuxtechi zed]$ sudo cargo run --release warning: zed@0.126.0: Info: using '01e5e4224a3630e5bbd38462f63bc5487048fbd6' hash for ZED_COMMIT_SHA env var Finished release [optimized + debuginfo] target(s) in 1.44s Running target/release/Zed [2024-03-06T03:16:19-05:00 ERROR util] crates/zed/src/zed.rs:619: invalid type: map, expected a sequence at line 1 column 0 [2024-03-06T03:16:20-05:00 ERROR fs] watch path does not exist: /root/.config/zed/tasks.json [2024-03-06T03:16:24-05:00 ERROR util] crates/client/src/client.rs:1413: DBus error zbus error I/O error: No such file or directory (os error 2) [2024-03-06T03:18:04-05:00 ERROR workspace::notifications] TODO didn't receive login redirect Thread "main" panicked with "not implemented" at crates/gpui/src/platform/linux/x11/window.rs:410:9

AA1999 commented 2 months ago

make sure Vulkan is installed. If you can run vkcube from vulkan-tools, there is a high chance you'll be able to run Zed.

I can run said command however I still get the same error

$ export RUST_LOG=blade_graphics=debug
$ cargo run --release

https://pastebin.com/SHh5BB9V Output of vulkaninfo: https://pastebin.com/xTVA1uXe

romgrk commented 2 months ago

Did you test vkcube in the same mode (x11 vs wayland) as you tested zed? Probably vkcube-wayland on arch.

AA1999 commented 2 months ago

Yeah it was ran at the same mode. Lemme try vkcube-wayland too Huh interesting:

vkcube-wayland 
Selected GPU 0: NVIDIA GeForce GTX 1050 Ti, type: DiscreteGpu
zsh: segmentation fault (core dumped)  vkcube-wayland
romgrk commented 2 months ago

This sounds to me like vkcube-wayland doesn't work, and therefore vulkan+wayland doesn't work in general on your machine, not specifically in blade/zed. Have you been testing zed in wayland or x11 mode? Does WAYLAND_DISPLAY='' cargo run works for you?

AA1999 commented 2 months ago

I've been testing it on wayland recompiling it after Plasma 6.0 I get this error:

https://pastebin.com/K1C3KenX

AA1999 commented 2 months ago

Does WAYLAND_DISPLAY='' cargo run works for you?

Nope: https://pastebin.com/FXCKzJwc

kvark commented 2 months ago

@AA1999 looks like you are getting a build error, which is something entirely different from the Vulkan (runtime) error in the subject. Let's discuss/resolve it in a different issue, please.

AA1999 commented 2 months ago

Alright but for the time being I'll keep this issue open if you don't mind So that if that build error was fixed and this was still an issue we'd know

K0IN commented 3 weeks ago

hei I get the same issues on my laptop (nvidia mx150 with a i5 8250u running arch) and I can't start zed using my Nvidia GPU but if I use the Vulkan-Intel package and unload the Nvidia drives I can start it no problem.

aohanhongzhi commented 3 weeks ago

For everybody having ERROR_INITIALIZATION_FAILED or NotSupportedError, could you please:

  • make sure Vulkan is installed. If you can run vkcube from vulkan-tools, there is a high chance you'll be able to run Zed.
  • share the log with RUST_LOG=blade_graphics=debug environment. This will tell us what is missing at init time.
  • provide your system info, mainly the GPU/OS. Attaching vulkaninfo output (as a file!) wouldn't hurt as well!

image

./target/release/Zed
[2024-05-10T10:07:32+08:00 INFO  blade_graphics::hal::init] Enabling color space support
[2024-05-10T10:07:32+08:00 DEBUG blade_graphics::hal::init] Bugs SystemBugs {
    intel_unable_to_present: false,
}
[2024-05-10T10:07:32+08:00 WARN  blade_graphics::hal::init] Rejected for device extension "VK_KHR_dynamic_rendering" not supported
[2024-05-10T10:07:32+08:00 INFO  blade_graphics::hal::init] Adapter "Intel(R) UHD Graphics 630 (CFL GT2)"
[2024-05-10T10:07:32+08:00 INFO  blade_graphics::hal::init] No ray tracing extensions are supported
[2024-05-10T10:07:32+08:00 DEBUG blade_graphics::hal::init] Adapter AdapterCapabilities {
    api_version: 4206796,
    properties: PhysicalDeviceProperties {
        api_version: 4206847,
        driver_version: 96477185,
        vendor_id: 32902,
        device_id: 16027,
        device_type: INTEGRATED_GPU,
        device_name: Ok(
            "Intel(R) UHD Graphics 630 (CFL GT2)",
        ),
        pipeline_cache_uuid: [
            87,
            1,
            230,
            213,
            51,
            86,
            202,
            225,
            186,
            130,
            213,
            206,
            240,
            42,
            233,
            118,
        ],
        limits: PhysicalDeviceLimits {
            max_image_dimension1_d: 16384,
            max_image_dimension2_d: 16384,
            max_image_dimension3_d: 2048,
            max_image_dimension_cube: 16384,
            max_image_array_layers: 2048,
            max_texel_buffer_elements: 134217728,
            max_uniform_buffer_range: 134217728,
            max_storage_buffer_range: 4294967295,
            max_push_constants_size: 128,
            max_memory_allocation_count: 4294967295,
            max_sampler_allocation_count: 65536,
            buffer_image_granularity: 1,
            sparse_address_space_size: 0,
            max_bound_descriptor_sets: 8,
            max_per_stage_descriptor_samplers: 65535,
            max_per_stage_descriptor_uniform_buffers: 64,
            max_per_stage_descriptor_storage_buffers: 65535,
            max_per_stage_descriptor_sampled_images: 65535,
            max_per_stage_descriptor_storage_images: 65535,
            max_per_stage_descriptor_input_attachments: 64,
            max_per_stage_resources: 4294967295,
            max_descriptor_set_samplers: 393210,
            max_descriptor_set_uniform_buffers: 384,
            max_descriptor_set_uniform_buffers_dynamic: 8,
            max_descriptor_set_storage_buffers: 393210,
            max_descriptor_set_storage_buffers_dynamic: 8,
            max_descriptor_set_sampled_images: 393210,
            max_descriptor_set_storage_images: 393210,
            max_descriptor_set_input_attachments: 256,
            max_vertex_input_attributes: 29,
            max_vertex_input_bindings: 31,
            max_vertex_input_attribute_offset: 2047,
            max_vertex_input_binding_stride: 4095,
            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: 128,
            max_tessellation_control_total_output_components: 2048,
            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: 256,
            max_geometry_total_output_components: 1024,
            max_fragment_input_components: 116,
            max_fragment_output_attachments: 8,
            max_fragment_dual_src_attachments: 1,
            max_fragment_combined_output_resources: 131078,
            max_compute_shared_memory_size: 65536,
            max_compute_work_group_count: [
                65535,
                65535,
                65535,
            ],
            max_compute_work_group_invocations: 1024,
            max_compute_work_group_size: [
                1024,
                1024,
                1024,
            ],
            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: 16.0,
            max_sampler_anisotropy: 16.0,
            max_viewports: 16,
            max_viewport_dimensions: [
                16384,
                16384,
            ],
            viewport_bounds_range: [
                -32768.0,
                32767.0,
            ],
            viewport_sub_pixel_bits: 13,
            min_memory_map_alignment: 4096,
            min_texel_buffer_offset_alignment: 16,
            min_uniform_buffer_offset_alignment: 64,
            min_storage_buffer_offset_alignment: 4,
            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: 16384,
            max_framebuffer_height: 16384,
            max_framebuffer_layers: 2048,
            framebuffer_color_sample_counts: TYPE_1 | TYPE_2 | TYPE_4 | TYPE_8 | TYPE_16,
            framebuffer_depth_sample_counts: TYPE_1 | TYPE_2 | TYPE_4 | TYPE_8 | TYPE_16,
            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 | TYPE_16,
            sampled_image_integer_sample_counts: TYPE_1 | TYPE_2 | TYPE_4 | TYPE_8 | TYPE_16,
            sampled_image_depth_sample_counts: TYPE_1 | TYPE_2 | TYPE_4 | TYPE_8 | TYPE_16,
            sampled_image_stencil_sample_counts: TYPE_1 | TYPE_2 | TYPE_4 | TYPE_8 | TYPE_16,
            storage_image_sample_counts: TYPE_1,
            max_sample_mask_words: 1,
            timestamp_compute_and_graphics: 1,
            timestamp_period: 83.333336,
            max_clip_distances: 8,
            max_cull_distances: 8,
            max_combined_clip_and_cull_distances: 8,
            discrete_queue_priorities: 2,
            point_size_range: [
                0.125,
                255.875,
            ],
            line_width_range: [
                0.0,
                8.0,
            ],
            point_size_granularity: 0.125,
            line_width_granularity: 0.0078125,
            strict_lines: 0,
            standard_sample_locations: 1,
            optimal_buffer_copy_offset_alignment: 128,
            optimal_buffer_copy_row_pitch_alignment: 128,
            non_coherent_atom_size: 64,
        },
        sparse_properties: PhysicalDeviceSparseProperties {
            residency_standard2_d_block_shape: 0,
            residency_standard2_d_multisample_block_shape: 0,
            residency_standard3_d_block_shape: 0,
            residency_aligned_mip_size: 0,
            residency_non_resident_strict: 0,
        },
    },
    queue_family_index: 0,
    layered: false,
    ray_tracing: false,
    buffer_marker: false,
    shader_info: false,
    full_screen_exclusive: false,
}
[2024-05-10T10:07:32+08:00 INFO  blade_graphics::hal::init] Using surface present mode MAILBOX
[2024-05-10T10:07:32+08:00 WARN  blade_graphics::hal::init] Unable to forbid exclusive full screen
Thread "main" panicked with "called `Result::unwrap()` on an `Err` value: ERROR_INITIALIZATION_FAILED" at /home/eric/.cargo/git/checkouts/blade-b2bcd1de1cf7ab6a/e35b2d4/blade-graphics/src/vulkan/init.rs:847:18
   0: Zed::reliability::init_panic_hook::{closure#0}
             at crates/zed/src/reliability.rs:83:29
   1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/alloc/src/boxed.rs:2034:9
      std::panicking::rust_panic_with_hook
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:783:13
   2: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:657:13
   3: std::sys_common::backtrace::__rust_end_short_backtrace
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/sys_common/backtrace.rs:171:18
   4: rust_begin_unwind
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:645:5
   5: core::panicking::panic_fmt
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/core/src/panicking.rs:72:14
   6: core::result::unwrap_failed
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/core/src/result.rs:1654:5
   7: <blade_graphics::hal::Context>::resize
   8: <gpui::platform::blade::blade_renderer::BladeRenderer>::new
             at crates/gpui/src/platform/blade/blade_renderer.rs:367:28
   9: <gpui::platform::linux::x11::window::X11WindowState>::new
             at crates/gpui/src/platform/linux/x11/window.rs:363:23
      <gpui::platform::linux::x11::window::X11Window>::new
             at crates/gpui/src/platform/linux/x11/window.rs:418:41
      <gpui::platform::linux::x11::client::X11Client as gpui::platform::linux::platform::LinuxClient>::open_window
             at crates/gpui/src/platform/linux/x11/client.rs:600:22
  10: <gpui::window::Window>::new
             at crates/gpui/src/window.rs:609:35
  11: <gpui::app::AppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#8}>::{closure#0}
             at crates/gpui/src/app.rs:498:30
      <gpui::app::AppContext>::update::<gpui::window::WindowHandle<workspace::Workspace>, <gpui::app::AppContext>::open_window<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#8}>::{closure#0}>
             at crates/gpui/src/app.rs:363:22
      <gpui::app::AppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#8}>
             at crates/gpui/src/app.rs:495:9
      <gpui::app::async_context::AsyncAppContext>::open_window::<workspace::Workspace, <workspace::Workspace>::new_local::{closure#0}::{closure#0}::{closure#8}>
             at crates/gpui/src/app/async_context.rs:154:17
      <workspace::Workspace>::new_local::{closure#0}::{closure#0}
             at crates/workspace/src/workspace.rs:966:17
  12: <core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>> as core::future::future::Future>::poll
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/core/src/future/future.rs:123:9
      <<async_task::runnable::Builder<_>>::spawn_local::Checked<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>>> as core::future::future::Future>::poll
             at /home/eric/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/async-task-4.7.0/src/runnable.rs:455:26
      <async_task::raw::RawTask<<async_task::runnable::Builder<_>>::spawn_local::Checked<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>>>>, core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>, <gpui::executor::ForegroundExecutor>::spawn::inner<core::result::Result<(gpui::window::WindowHandle<workspace::Workspace>, alloc::vec::Vec<core::option::Option<core::result::Result<alloc::boxed::Box<dyn workspace::item::ItemHandle>, anyhow::Error>>>), anyhow::Error>>::{closure#0}, ()>>::run
             at /home/eric/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/async-task-4.7.0/src/raw.rs:557:17
  13: <async_task::runnable::Runnable>::run
             at /home/eric/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/async-task-4.7.0/src/runnable.rs:781:18
      <gpui::platform::linux::headless::client::HeadlessClient>::new::{closure#0}
             at crates/gpui/src/platform/linux/headless/client.rs:42:26
      <core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::headless::client::HeadlessClient>::new::{closure#0}>> as calloop::sources::EventDispatcher<gpui::platform::linux::headless::client::HeadlessClient>>::process_events::{closure#0}
             at /home/eric/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/calloop-0.12.4/src/sources/mod.rs:327:61
      <calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events::<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::headless::client::HeadlessClient>::new::{closure#0}>> as calloop::sources::EventDispatcher<gpui::platform::linux::headless::client::HeadlessClient>>::process_events::{closure#0}>::{closure#0}
             at /home/eric/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/calloop-0.12.4/src/sources/channel.rs:187:32
      <calloop::sources::ping::eventfd::PingSource as calloop::sources::EventSource>::process_events::<<calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::headless::client::HeadlessClient>::new::{closure#0}>> as calloop::sources::EventDispatcher<gpui::platform::linux::headless::client::HeadlessClient>>::process_events::{closure#0}>::{closure#0}>::{closure#0}
             at /home/eric/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/calloop-0.12.4/src/sources/ping/eventfd.rs:138:21
      <calloop::sources::generic::Generic<calloop::sources::ping::eventfd::ArcAsFd> as calloop::sources::EventSource>::process_events::<<calloop::sources::ping::eventfd::PingSource as calloop::sources::EventSource>::process_events<<calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::headless::client::HeadlessClient>::new::{closure#0}>> as calloop::sources::EventDispatcher<gpui::platform::linux::headless::client::HeadlessClient>>::process_events::{closure#0}>::{closure#0}>::{closure#0}>
             at /home/eric/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/calloop-0.12.4/src/sources/generic.rs:290:9
      <calloop::sources::ping::eventfd::PingSource as calloop::sources::EventSource>::process_events::<<calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::headless::client::HeadlessClient>::new::{closure#0}>> as calloop::sources::EventDispatcher<gpui::platform::linux::headless::client::HeadlessClient>>::process_events::{closure#0}>::{closure#0}>
             at /home/eric/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/calloop-0.12.4/src/sources/ping/eventfd.rs:127:9
      <calloop::sources::channel::Channel<async_task::runnable::Runnable> as calloop::sources::EventSource>::process_events::<<core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::headless::client::HeadlessClient>::new::{closure#0}>> as calloop::sources::EventDispatcher<gpui::platform::linux::headless::client::HeadlessClient>>::process_events::{closure#0}>
             at /home/eric/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/calloop-0.12.4/src/sources/channel.rs:184:9
      <core::cell::RefCell<calloop::sources::DispatcherInner<calloop::sources::channel::Channel<async_task::runnable::Runnable>, <gpui::platform::linux::headless::client::HeadlessClient>::new::{closure#0}>> as calloop::sources::EventDispatcher<gpui::platform::linux::headless::client::HeadlessClient>>::process_events
             at /home/eric/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/calloop-0.12.4/src/sources/mod.rs:326:9
  14: <calloop::loop_logic::EventLoop<gpui::platform::linux::x11::client::X11Client>>::dispatch_events
             at /home/eric/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/calloop-0.12.4/src/loop_logic.rs:445:31
      <calloop::loop_logic::EventLoop<gpui::platform::linux::x11::client::X11Client>>::dispatch::<core::option::Option<core::time::Duration>>
             at /home/eric/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/calloop-0.12.4/src/loop_logic.rs:559:9
      <calloop::loop_logic::EventLoop<gpui::platform::linux::x11::client::X11Client>>::run::<<gpui::platform::linux::x11::client::X11Client as gpui::platform::linux::platform::LinuxClient>::run::{closure#0}, core::option::Option<core::time::Duration>>
             at /home/eric/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/calloop-0.12.4/src/loop_logic.rs:596:13
      <gpui::platform::linux::x11::client::X11Client as gpui::platform::linux::platform::LinuxClient>::run
             at crates/gpui/src/platform/linux/x11/client.rs:762:9
  15: <gpui::platform::linux::x11::client::X11Client as gpui::platform::Platform>::run
             at crates/gpui/src/platform/linux/platform.rs:126:9
  16: <gpui::app::App>::run::<Zed::init_ui::{closure#3}>
             at crates/gpui/src/app.rs:142:9
  17: Zed::init_ui
             at crates/zed/src/main.rs:241:5
      Zed::main
             at crates/zed/src/main.rs:456:9
  18: <fn() as core::ops::function::FnOnce<()>>::call_once
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/core/src/ops/function.rs:250:5
      std::sys_common::backtrace::__rust_begin_short_backtrace::<fn(), ()>
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/sys_common/backtrace.rs:155:18
  19: std::rt::lang_start::<()>::{closure#0}
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/rt.rs:166:18
  20: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/core/src/ops/function.rs:284:13
      std::panicking::try::do_call
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:552:40
      std::panicking::try
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:516:19
      std::panic::catch_unwind
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panic.rs:146:14
      std::rt::lang_start_internal::{{closure}}
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/rt.rs:148:48
      std::panicking::try::do_call
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:552:40
      std::panicking::try
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:516:19
      std::panic::catch_unwind
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panic.rs:146:14
      std::rt::lang_start_internal
             at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/rt.rs:148:20
  21: main
  22: __libc_start_call_main
             at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
  23: __libc_start_main_impl
             at ./csu/../csu/libc-start.c:392:3
  24: _start
eric@eric-alienware:~$ uname -a
Linux eric-alienware 6.5.0-28-generic #29~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr  4 14:39:20 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

Selected GPU 2: NVIDIA GeForce GTX 1070, type: 2

vulkaninfo.txt

kvark commented 3 weeks ago

@aohanhongzhi @K0IN this sounds like our old issue https://github.com/kvark/blade/issues/88 Could you provide the contents of "/etc/prime-discrete" on your system if you have it?

aohanhongzhi commented 3 weeks ago

@kvark

image

kvark commented 2 weeks ago

@aohanhongzhi could you also do the following please:

@flukejones what do you make of this case?

flukejones commented 2 weeks ago

Ancient versions of Ubuntu (20.04 is ridiculous) are not ideal and will be missing all sorts of improvements and features for the drivers, graphics stacks, firmware etc etc. It's unlikely to have all the vulkan features/extensions required. Either specify a minimum Ubuntu version such as only the last release (24.04), or support only Fedora (and possibly Arch). Fedora at least keeps pace with development of the underlying critical parts (kernel, drivers, firmware).

Ubuntu is not a nice distro to try and support when everything else is moving rapidly except that distro and I wish folks would stop recommending it. (which is based on years of supporting ASUS ROG laptops with software and kernel driver work). Sorry if this is more like a rant and not helpful - I get far too many people on my discord installing 2 year old distros on 6 month old hardware and wondering why things don't work. The same thing applies to development eventually. Windows and Mac at least offer a stable foundation, but we don't have that luxury on Linux thanks to fragmentation caused by distros moving at different speeds to upstream.

As for the actual issue, the logs just above... I see that vkcube sleected the Nvidia device. While Zed will select Intel (whcih is what we want, don't need 15w+ extra from dgpu).

❯ vkcube --help
Usage:
  vkcube    [--use_staging] [--validate] [--validate-checks-disabled]
    [--break] [--c <framecount>] [--suppress_popups]
    [--incremental_present] [--display_timing]
    [--gpu_number <index of physical device>]
    [--present_mode <present mode enum>]
    [--width <width>] [--height <height>]
    [--force_errors]
    <present_mode_enum>
        VK_PRESENT_MODE_IMMEDIATE_KHR = 0
        VK_PRESENT_MODE_MAILBOX_KHR = 1
        VK_PRESENT_MODE_FIFO_KHR = 2
        VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3

We would need to force vkcube to run on intel with the above, and check the present modes. That might hint at something. And grab vulkaninfo. But given where it is crashing in blade, it looks mostly to do with Intel driver capabilities being behind what blade expects and vkcube won't show that. It at least isn't to do with Nvidia from what I can see.

Does blade support opengl use with Zed? That might be a good fallback for these older hardware/distro scenarios. I've not kept up with the levels of vulkan support through the Linux ecosystem.

For the original post issue, I'm not sure. The rest of the issue seems to have a common theme:

  1. Intel® HD Graphics 630
  2. Intel® UHD Graphics 630
  3. Intel® UHD Graphics 620

These are supposed to support Vulkan 1.2 from what i can tell. So maybe outdated drivers?

So I don't think I can help further sorry.

aohanhongzhi commented 2 weeks ago
  • vkcube-wayland @kvark image image

so I need to install vkcube-wayland?

image

image

kvark commented 2 weeks ago

@flukejones thank you for the info!

But given where it is crashing in blade, it looks mostly to do with Intel driver capabilities being behind what blade expects and vkcube won't show that. It at least isn't to do with Nvidia from what I can see.

That's very unlikely. Blade checks for the features it enables, and it has good error reporting in the log. Here though we just have Vulkan returning an error on swapchain creation. There should be no valid reason for it from Vulkan perspective: if the Intel physical device isn't able to present to a given VkSurfaceKHR, we should have gotten vkGetPhysicalDeviceSurfaceSupportKHR returning false (in a proper driver/system), but it doesn't for this case. So I'm fairly sure this is a platform bug, not a Blade issue specifically.

Does blade support opengl use with Zed? That might be a good fallback for these older hardware/distro scenarios. I've not kept up with the levels of vulkan support through the Linux ecosystem.

The basics are in place - you can compile and run Zed on top of OpenGLES-3.1. But there is a few bugs (or just missing pieces) in the GLES backend of Blade that need to be resolved before Zed becomes usable on this path. I do see it as a good fallback for platforms not supporting Vulkan.

@aohanhongzhi Could you try this please?

vkcube --gpu_number 0
Pi-Cla commented 1 week ago

Hi I encountered the same issue on openSUSE and solved it by installing proprietary drivers

Should something be added to the instructions for Linux to install proprietary drivers if you use an NVIDIA gpu?

ibilux commented 21 hours ago

I solved this by installing vulkan-swrast package. but now zed have hight CPU usage (above 80%).