linebender / xilem

An experimental Rust native UI framework
Apache License 2.0
3.59k stars 113 forks source link

Error creating Device #157

Open fabolous005 opened 9 months ago

fabolous005 commented 9 months ago

The examples fail with the message: Error creating Device Full Rust backtrace:

called `Result::unwrap()` on an `Err` value: "Error creating device"
stack backtrace:
   0:     0x5559e7a8b13c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h35a468688f9ab026
   1:     0x5559e7ab694c - core::fmt::write::h06077ac5ad72a5a7
   2:     0x5559e7a8831e - std::io::Write::write_fmt::hb694378bd2211fc3
   3:     0x5559e7a8af24 - std::sys_common::backtrace::print::hd27872fd941da831
   4:     0x5559e7a8c593 - std::panicking::default_hook::{{closure}}::hf1d76593bca2e975
   5:     0x5559e7a8c2b4 - std::panicking::default_hook::hee3f93cf50a62542
   6:     0x5559e7a8cb15 - std::panicking::rust_panic_with_hook::h15afa6dc470818e4
   7:     0x5559e7a8ca11 - std::panicking::begin_panic_handler::{{closure}}::h80af5414b4201d8d
   8:     0x5559e7a8b666 - std::sys_common::backtrace::__rust_end_short_backtrace::h0b26a8a320848bac
   9:     0x5559e7a8c762 - rust_begin_unwind
  10:     0x5559e6a6ab85 - core::panicking::panic_fmt::h7bf2fdfacf497f95
  11:     0x5559e6a6b153 - core::result::unwrap_failed::h895eb51ba03cb0b0
  12:     0x5559e6a792f7 - core::result::Result<T,E>::unwrap::he9fbad0e06ad74bb
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/result.rs:1077:23
  13:     0x5559e6a86164 - xilem::app_main::MainState<T,V>::render::h47a3a53d27ac24c6
                               at /home/fabian/.cargo/git/checkouts/xilem-031d790027f85a11/c439885/src/app_main.rs:206:17
  14:     0x5559e6a87370 - <xilem::app_main::MainState<T,V> as glazier::window::WinHandler>::paint::hdefcb01b0a5cf2e5
                               at /home/fabian/.cargo/git/checkouts/xilem-031d790027f85a11/c439885/src/app_main.rs:102:9
  15:     0x5559e78ea538 - glazier::backend::x11::window::Window::render::{{closure}}::hac79ed2eea1caf40
                               at /home/fabian/.cargo/git/checkouts/glazier-3a172f69e2427c5a/19a01ba/src/backend/x11/window.rs:555:13
  16:     0x5559e78e50e5 - glazier::backend::x11::window::Window::with_handler_and_dont_check_the_other_borrows::he1b05fdf8a7b514e
                               at /home/fabian/.cargo/git/checkouts/glazier-3a172f69e2427c5a/19a01ba/src/backend/x11/window.rs:492:31
  17:     0x5559e78ea4a4 - glazier::backend::x11::window::Window::render::hd094c16ba3691766
                               at /home/fabian/.cargo/git/checkouts/glazier-3a172f69e2427c5a/19a01ba/src/backend/x11/window.rs:554:9
  18:     0x5559e78ed26e - glazier::backend::x11::window::Window::redraw_now::he65e43a07a7062a3
                               at /home/fabian/.cargo/git/checkouts/glazier-3a172f69e2427c5a/19a01ba/src/backend/x11/window.rs:660:9
  19:     0x5559e78f44e4 - glazier::backend::x11::window::Window::run_idle::h2bf9b190f0d97122
                               at /home/fabian/.cargo/git/checkouts/glazier-3a172f69e2427c5a/19a01ba/src/backend/x11/window.rs:1108:29
  20:     0x5559e787a201 - glazier::backend::x11::application::AppInner::run_inner::hf24657e05cec768f
                               at /home/fabian/.cargo/git/checkouts/glazier-3a172f69e2427c5a/19a01ba/src/backend/x11/application.rs:852:25
  21:     0x5559e786be56 - glazier::backend::x11::application::Application::run::h6e988d39df6bc5b0
                               at /home/fabian/.cargo/git/checkouts/glazier-3a172f69e2427c5a/19a01ba/src/backend/x11/application.rs:241:25
  22:     0x5559e7890d42 - glazier::backend::linux::application::Application::run::hea90f17a10f7ed4e
                               at /home/fabian/.cargo/git/checkouts/glazier-3a172f69e2427c5a/19a01ba/src/backend/linux/application.rs:68:17
  23:     0x5559e786ba39 - glazier::application::Application::run::h92906d4e6df9469d
                               at /home/fabian/.cargo/git/checkouts/glazier-3a172f69e2427c5a/19a01ba/src/application.rs:145:9
  24:     0x5559e6a86e20 - xilem::app_main::AppLauncher<T,V>::run::h76fdc85482e0318a
                               at /home/fabian/.cargo/git/checkouts/xilem-031d790027f85a11/c439885/src/app_main.rs:88:9
  25:     0x5559e6a7ac62 - astro::main::hbca9da4954a43ba7
                               at /home/fabian/coding/rust/astro/src/main.rs:36:5
  26:     0x5559e6a9a30b - core::ops::function::FnOnce::call_once::hd9b8d9c3d530290e
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ops/function.rs:250:5
  27:     0x5559e6aa849e - std::sys_common::backtrace::__rust_begin_short_backtrace::h656d875f7bdbee39
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys_common/backtrace.rs:154:18
  28:     0x5559e6aa8521 - std::rt::lang_start::{{closure}}::h844ec93484ad5c98
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/rt.rs:166:18
  29:     0x5559e7a83ddb - std::rt::lang_start_internal::h6b49653fa7637180
  30:     0x5559e6aa84fa - std::rt::lang_start::h210cf7a55d597d07
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/rt.rs:165:17
  31:     0x5559e6a7acbe - main
  32:     0x7f488bb7af4a - <unknown>
  33:     0x7f488bb7b005 - __libc_start_main
  34:     0x5559e6a6b451 - _start
  35:                0x0 - <unknown>

System Info:

Wayland(latest)
Hyprland(latest)(XWayland is supported)
rustc 1.74.1 (a28077b28 2023-12-04) (gentoo)
DJMcNab commented 9 months ago

Can you try running the examples of: 1) Vello - cargo run -p with_winit 2) wgpu - cargo run --bin wgpu-examples boids

Additionally, what is your hardware? I.e., what kind of GPU/CPU do you have?

fabolous005 commented 9 months ago

wgpu:

[2023-12-24T02:22:34Z INFO  wgpu_examples::framework] Initializing wgpu...
[2023-12-24T02:22:34Z INFO  wgpu_core::instance] Adapter Gl AdapterInfo { name: "Mesa Intel(R) Graphics (RPL-S)", vendor: 32902, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Gl }
[2023-12-24T02:22:34Z INFO  wgpu_examples::framework] Using Mesa Intel(R) Graphics (RPL-S) (Gl)
[2023-12-24T02:22:34Z INFO  wgpu_examples::framework] Entering event loop...
[2023-12-24T02:22:34Z INFO  wgpu_examples::framework] Surface resume PhysicalSize { width: 800, height: 600 }
[2023-12-24T02:22:34Z ERROR wgpu_hal::gles::egl] EGL 'eglMakeCurrent' code 0x3008: eglMakeCurrent
thread 'main' panicked at wgpu-hal/src/gles/egl.rs:305:14:
called `Result::unwrap()` on an `Err` value: BadDisplay
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[2023-12-24T02:22:34Z ERROR wgpu_hal::gles::egl] EGL 'eglMakeCurrent' code 0x3008: eglMakeCurrent
thread 'main' panicked at wgpu-hal/src/gles/egl.rs:305:14:
called `Result::unwrap()` on an `Err` value: BadDisplay
stack backtrace:
   0:     0x55a56667667c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h35a468688f9ab026
   1:     0x55a5666a144c - core::fmt::write::h06077ac5ad72a5a7
   2:     0x55a5666734be - std::io::Write::write_fmt::hb694378bd2211fc3
   3:     0x55a566676464 - std::sys_common::backtrace::print::hd27872fd941da831
   4:     0x55a5666779e3 - std::panicking::default_hook::{{closure}}::hf1d76593bca2e975
   5:     0x55a566677704 - std::panicking::default_hook::hee3f93cf50a62542
   6:     0x55a566677f65 - std::panicking::rust_panic_with_hook::h15afa6dc470818e4
   7:     0x55a566677e61 - std::panicking::begin_panic_handler::{{closure}}::h80af5414b4201d8d
   8:     0x55a566676ba6 - std::sys_common::backtrace::__rust_end_short_backtrace::h0b26a8a320848bac
   9:     0x55a566677bb2 - rust_begin_unwind
  10:     0x55a565089ca5 - core::panicking::panic_fmt::h7bf2fdfacf497f95
  11:     0x55a56508a273 - core::result::unwrap_failed::h895eb51ba03cb0b0
  12:     0x55a56610e9a9 - core::result::Result<T,E>::unwrap::h520820f83a353286
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/result.rs:1077:23
  13:     0x55a5660fb48d - wgpu_hal::gles::egl::EglContext::make_current::h5d399cab0e050466
                               at /home/fabian/git/wgpu/wgpu-hal/src/gles/egl.rs:303:9
  14:     0x55a5661607f2 - wgpu_hal::gles::egl::AdapterContext::lock::{{closure}}::hf1de1931c53ab636
                               at /home/fabian/git/wgpu/wgpu-hal/src/gles/egl.rs:417:13
  15:     0x55a5661b6271 - core::option::Option<T>::map::ha19c040146931d27
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/option.rs:1075:29
  16:     0x55a5660fb6d6 - wgpu_hal::gles::egl::AdapterContext::lock::hf3f82b627c65b2eb
                               at /home/fabian/git/wgpu/wgpu-hal/src/gles/egl.rs:416:19
  17:     0x55a566134e31 - wgpu_hal::gles::device::<impl wgpu_hal::Device<wgpu_hal::gles::Api> for wgpu_hal::gles::Device>::destroy_buffer::h2f97bb18e89c70f2
                               at /home/fabian/git/wgpu/wgpu-hal/src/gles/device.rs:618:23
  18:     0x55a565c05eb5 - <wgpu_core::device::resource::Device<A> as core::ops::drop::Drop>::drop::haef584de71609dce
                               at /home/fabian/git/wgpu/wgpu-core/src/device/resource.rs:152:13
  19:     0x55a565bde5f7 - core::ptr::drop_in_place<wgpu_core::device::resource::Device<wgpu_hal::gles::Api>>::hbfe2d29c70d595eb
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ptr/mod.rs:497:1
  20:     0x55a565f44d5f - alloc::sync::Arc<T,A>::drop_slow::h5ca869a8203994ae
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/alloc/src/sync.rs:1751:18
  21:     0x55a565be8b75 - <alloc::sync::Arc<T,A> as core::ops::drop::Drop>::drop::hcba5b5b9489528db
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/alloc/src/sync.rs:2407:13
  22:     0x55a565bc59eb - core::ptr::drop_in_place<alloc::sync::Arc<wgpu_core::device::resource::Device<wgpu_hal::gles::Api>>>::hcac47facfa3c69f2
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ptr/mod.rs:497:1
  23:     0x55a565bc83b6 - core::ptr::drop_in_place<wgpu_core::storage::Element<wgpu_core::device::resource::Device<wgpu_hal::gles::Api>>>::h2d88b87491fdc7ac
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ptr/mod.rs:497:1
  24:     0x55a565bcaa30 - core::ptr::drop_in_place<[wgpu_core::storage::Element<wgpu_core::device::resource::Device<wgpu_hal::gles::Api>>]>::h738eccd5c341e673
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ptr/mod.rs:497:1
  25:     0x55a565f21445 - alloc::vec::Vec<T,A>::clear::h8db59a93910b1f24
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/alloc/src/vec/mod.rs:2088:13
  26:     0x55a565d29016 - wgpu_core::hub::Hub<A>::clear::h6e419858f191f776
                               at /home/fabian/git/wgpu/wgpu-core/src/hub.rs:267:9
  27:     0x55a565beff1b - <wgpu_core::global::Global<G> as core::ops::drop::Drop>::drop::h42a6268bb9808ce1
                               at /home/fabian/git/wgpu/wgpu-core/src/global.rs:162:13
  28:     0x55a565be3937 - core::ptr::drop_in_place<wgpu_core::global::Global<wgpu_core::identity::IdentityManagerFactory>>::h8e0f8cecd060e912
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ptr/mod.rs:497:1
  29:     0x55a565bd8874 - core::ptr::drop_in_place<wgpu::backend::direct::Context>::hc10feb0705318aba
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ptr/mod.rs:497:1
  30:     0x55a565bd8e10 - core::ptr::drop_in_place<dyn wgpu::context::DynContext>::h1c2db3d104ef24c1
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ptr/mod.rs:497:1
  31:     0x55a565f44b0a - alloc::sync::Arc<T,A>::drop_slow::h358b2bb8555a3661
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/alloc/src/sync.rs:1751:18
  32:     0x55a565be8003 - <alloc::sync::Arc<T,A> as core::ops::drop::Drop>::drop::h58b62fc49c862c8a
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/alloc/src/sync.rs:2407:13
  33:     0x55a565bdc58b - core::ptr::drop_in_place<alloc::sync::Arc<dyn wgpu::context::DynContext>>::h96fd7d019828aead
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ptr/mod.rs:497:1
  34:     0x55a565140ba7 - core::ptr::drop_in_place<wgpu::Queue>::h599aceeca99a7c28
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ptr/mod.rs:497:1
  35:     0x55a56514356c - core::ptr::drop_in_place<wgpu_examples::framework::ExampleContext>::hf0de5a97189a1594
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ptr/mod.rs:497:1
  36:     0x55a56513d77e - core::ptr::drop_in_place<wgpu_examples::framework::start<wgpu_examples::boids::Example>::{{closure}}::{{closure}}>::he4874e635ba88067
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ptr/mod.rs:497:1
  37:     0x55a5653b70ee - winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::run_on_demand::h528e4ccd81defcdf
                               at /home/fabian/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.5/src/platform_impl/linux/wayland/event_loop/mod.rs:221:5
  38:     0x55a565345a4e - winit::platform_impl::platform::EventLoop<T>::run_on_demand::h09cbbe2547d94773
                               at /home/fabian/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.5/src/platform_impl/linux/mod.rs:821:56
  39:     0x55a56534724a - winit::platform_impl::platform::EventLoop<T>::run::hd816bce04e9868fd
                               at /home/fabian/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.5/src/platform_impl/linux/mod.rs:814:9
  40:     0x55a5651365b8 - winit::event_loop::EventLoop<T>::run::h6659230cf78cdfb7
                               at /home/fabian/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.5/src/event_loop.rs:249:9
  41:     0x55a5650adec7 - wgpu_examples::framework::start::{{closure}}::h5f466677f42cd575
                               at /home/fabian/git/wgpu/examples/src/framework.rs:390:13
  42:     0x55a56533f5f1 - pollster::block_on::he91216f9b56103fa
                               at /home/fabian/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pollster-0.3.0/src/lib.rs:128:15
  43:     0x55a5650bc4cf - wgpu_examples::framework::run::h6535ca8ece42e90e
                               at /home/fabian/git/wgpu/examples/src/framework.rs:482:13
  44:     0x55a56508da53 - wgpu_examples::boids::main::h15a59f93e5eebf5f
                               at /home/fabian/git/wgpu/examples/src/boids/mod.rs:324:5
  45:     0x55a56508adc9 - wgpu_examples::main::h9abc44610fac8176
                               at /home/fabian/git/wgpu/examples/src/main.rs:228:5
  46:     0x55a56508a66b - core::ops::function::FnOnce::call_once::h85060d1144fcb74d
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ops/function.rs:250:5
  47:     0x55a56508a8ae - std::sys_common::backtrace::__rust_begin_short_backtrace::h3607f8a72c609f28
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys_common/backtrace.rs:154:18
  48:     0x55a56508b041 - std::rt::lang_start::{{closure}}::h74db39d5c11e653f
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/rt.rs:166:18
  49:     0x55a56666e01b - std::rt::lang_start_internal::h6b49653fa7637180
  50:     0x55a56508b01a - std::rt::lang_start::ha6003dbc875ae258
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/rt.rs:165:17
  51:     0x55a56508ae9e - main
  52:     0x7f5727164f4a - <unknown>
  53:     0x7f5727165005 - __libc_start_main
  54:     0x55a56508a571 - _start
  55:                0x0 - <unknown>
thread 'main' panicked at library/core/src/panicking.rs:144:5:
panic in a destructor during cleanup
thread caused non-unwinding panic. aborting.
Aborted

vello:

thread 'main' panicked at examples/with_winit/src/lib.rs:506:66:
Error creating surface: "Error creating device"
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: queue 0x559679c93780 destroyed while proxies still attached:
  xdg_wm_base#24 still attached
  wl_output#16 still attached
  wl_output#15 still attached
  wp_fractional_scale_manager_v1#14 still attached
  xdg_activation_v1#13 still attached
  zwp_text_input_manager_v3#12 still attached
  zwp_relative_pointer_manager_v1#11 still attached
  zwp_pointer_constraints_v1#10 still attached
  zxdg_decoration_manager_v1#9 still attached
  wl_seat#8 still attached
  wp_viewporter#7 still attached
  wl_subcompositor#6 still attached
  wl_compositor#5 still attached
  wl_shm#4 still attached
  wl_registry#2 still attached

GPU: Intel iGPU Raptor Lake

DJMcNab commented 9 months ago

That output from wgpu provides the insight - your system doesn't appear to have the correct vulkan drivers installed, so wgpu cannot find a device which supports all the required features.

Can you please install the vulkan drivers for your system? Raptor lake should fully support Vulkan

fabolous005 commented 9 months ago

This enables wgpu and vello to run fine, but xilem still fails with the exact same error traceback. Anyways thank you for your help so far.

fabolous005 commented 9 months ago

Any other idea why this error still occurs?

DJMcNab commented 9 months ago

Sorry, I'm really not sure.

It might be possible to enable trace logging, but I don't know if that's straightforward. You might need to manually add something like https://docs.rs/env_logger/latest/env_logger/ to the examples