Skip to content

Can't find GPU #96

Closed
Closed

Description

@MGlolenstine

Whenever I run cargo run --example breakout it panics on Option::unwrap() within bavy_wgpu.

Full backtrace
RUST_BACKTRACE=1 cargo run --example breakout
   Compiling bevy_wgpu v0.1.0 (/home/void/tmp/bevy/crates/bevy_wgpu)
   Compiling bevy v0.1.2 (/home/void/tmp/bevy)
    Finished dev [unoptimized + debuginfo] target(s) in 6.45s
     Running `target/debug/examples/breakout`
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', crates/bevy_wgpu/src/wgpu_renderer.rs:22:23
stack backtrace:
   0: backtrace::backtrace::libunwind::trace
             at /cargo/registry/src/githubproxy.fjygbaifeng.eu.org-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86
   1: backtrace::backtrace::trace_unsynchronized
             at /cargo/registry/src/githubproxy.fjygbaifeng.eu.org-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66
   2: std::sys_common::backtrace::_print_fmt
             at src/libstd/sys_common/backtrace.rs:78
   3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
             at src/libstd/sys_common/backtrace.rs:59
   4: core::fmt::write
             at src/libcore/fmt/mod.rs:1076
   5: std::io::Write::write_fmt
             at src/libstd/io/mod.rs:1537
   6: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:62
   7: std::sys_common::backtrace::print
             at src/libstd/sys_common/backtrace.rs:49
   8: std::panicking::default_hook::{{closure}}
             at src/libstd/panicking.rs:198
   9: std::panicking::default_hook
             at src/libstd/panicking.rs:218
  10: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:486
  11: rust_begin_unwind
             at src/libstd/panicking.rs:388
  12: core::panicking::panic_fmt
             at src/libcore/panicking.rs:101
  13: core::panicking::panic
             at src/libcore/panicking.rs:56
  14: core::option::Option<T>::unwrap
             at /home/void/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/macros/mod.rs:10
  15: bevy_wgpu::wgpu_renderer::WgpuRenderer::new::{{closure}}
             at crates/bevy_wgpu/src/wgpu_renderer.rs:22
  16: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /home/void/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/future/mod.rs:73
  17: pollster::block_on
             at /home/void/.cargo/registry/src/githubproxy.fjygbaifeng.eu.org-1ecc6299db9ec823/pollster-0.2.0/src/lib.rs:64
  18: bevy_wgpu::wgpu_render_system
             at crates/bevy_wgpu/src/lib.rs:35
  19: <bevy_wgpu::WgpuPlugin as bevy_app::plugin::Plugin>::build
             at crates/bevy_wgpu/src/lib.rs:22
  20: bevy_app::app_builder::AppBuilder::add_plugin
             at ./crates/bevy_app/src/app_builder.rs:235
  21: <bevy_app::app_builder::AppBuilder as bevy::add_default_plugins::AddDefaultPlugins>::add_default_plugins
             at src/add_default_plugins.rs:33
  22: breakout::main
             at examples/game/breakout.rs:9
  23: std::rt::lang_start::{{closure}}
             at /home/void/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/rt.rs:67
  24: std::rt::lang_start_internal::{{closure}}
             at src/libstd/rt.rs:52
  25: std::panicking::try::do_call
             at src/libstd/panicking.rs:297
  26: std::panicking::try
             at src/libstd/panicking.rs:274
  27: std::panic::catch_unwind
             at src/libstd/panic.rs:394
  28: std::rt::lang_start_internal
             at src/libstd/rt.rs:51
  29: std::rt::lang_start
             at /home/void/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/rt.rs:67
  30: main
  31: __libc_start_main
             at ../csu/libc-start.c:308
  32: _start
             at ../sysdeps/x86_64/start.S:120
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

I'm running VoidLinux (Linux voidbox 5.7.11_1 #1 SMP Wed Jul 29 09:29:06 UTC 2020 x86_64 GNU/Linux) and I do have mesa drivers installed.

My hardware:

  • Ryzen 9 3900X
  • RX 550

Activity

  1. MGlolenstine commented on Aug 10, 2020

    @MGlolenstine
    ContributorAuthor

    At home, it works fine on RX 5700XT and R7 1800x on ArchLinux(Linux lifeordeathpc 5.7.12-arch1-1 #1 SMP PREEMPT Fri, 31 Jul 2020 17:38:22 +0000 x86_64 GNU/Linux).

  2. Dispersia commented on Aug 10, 2020

    @Dispersia
    Contributor

    have you tried running vulkan's vkcube example and seeing if it boots properly? Typically this is a driver issue

  3. MGlolenstine commented on Aug 10, 2020

    @MGlolenstine
    ContributorAuthor

    have you tried running vulkan's vkcube example and seeing if it boots properly? Typically this is a driver issue

    You were right! After installing Vulkan-Tools and amdvlk, the program started up with no problems. Would there be a way to notify user that there's a driver missing instead of just panicking on "unwrap None"?

    EDIT: on the further inspection, I've noticed that above two installed vulkan-loader, which was the library that was actually missing.

  4. cart commented on Aug 10, 2020

    @cart
    Member

    Glad everything worked out!

    Yeah providing a more helpful error is a great idea. I'll open an issue for it.

  5. added a commit that references this issue on Jan 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions