Bevy: Most of the examples panic when run on FreeBSD 12

Created on 12 Aug 2020  路  9Comments  路  Source: bevyengine/bevy

On FreeBSD 12.1, I get this:

cargo run --example breakout Finished dev [unoptimized + debuginfo] target(s) in 0.15s Runningtarget/debug/examples/breakout thread 'main' panicked at 'calledOption::unwrap()on aNonevalue', crates/bevy_wgpu/src/wgpu_renderer.rs:28:14

This happens with most of the examples (hello_world,empty,headless all ran ok).

`rustc --version

rustc 1.46.0-nightly (346aec9b0 2020-07-11)
`

bug crash platform linux third party / dependencies

Most helpful comment

I encountered the same issue on Gentoo. It seems that gfx-rs/wgpu on Linux (and maybe on FreeBSD too) only supports Vulkan, which i did not install initially. After recompiling Mesa with Vulkan support the example did work. The following table lists the supported platforms:

API | Windows 7/10 | Linux & Android | macOS & iOS |
----- | ------------------ | ------------------ | ------------------ |
DX11 | :white_check_mark: | | |
DX12 | :heavy_check_mark: | | |
Vulkan | :heavy_check_mark: | :heavy_check_mark: | |
Metal | | | :heavy_check_mark: |
OpenGL | :construction: | :construction: | :construction: |

(shameless copy from their GitHub README)

Since your're using NVidia drivers and they should support Vulkan, too. So maybe you are are only missing an ICD loader library. I had to install the Vulkan Loader from Khronos. I don't know if it exists on FreeBSD.

All 9 comments

I am also getting similar errors in ArchLinux:

thread 'main' panicked at 'calledOption::unwrap()on aNonevalue', crates/bevy_wgpu/src/wgpu_renderer.rs:22:23

rustc --version
rustc 1.45.2

Any ideas on what's wrong?

I think it is related to #109

I think it is related to #109

Indeed it seems related! Thanks!

But I do have a GPU. The one that comes with the CPU. Bevy is not able to use this?

I have a Nvidia GeForce GTX 960 and am running the Nvidia supplied drivers.

I encountered the same issue on Gentoo. It seems that gfx-rs/wgpu on Linux (and maybe on FreeBSD too) only supports Vulkan, which i did not install initially. After recompiling Mesa with Vulkan support the example did work. The following table lists the supported platforms:

API | Windows 7/10 | Linux & Android | macOS & iOS |
----- | ------------------ | ------------------ | ------------------ |
DX11 | :white_check_mark: | | |
DX12 | :heavy_check_mark: | | |
Vulkan | :heavy_check_mark: | :heavy_check_mark: | |
Metal | | | :heavy_check_mark: |
OpenGL | :construction: | :construction: | :construction: |

(shameless copy from their GitHub README)

Since your're using NVidia drivers and they should support Vulkan, too. So maybe you are are only missing an ICD loader library. I had to install the Vulkan Loader from Khronos. I don't know if it exists on FreeBSD.

It seems that gfx-rs/wgpu on Linux (and maybe on FreeBSD too) only supports Vulkan

This indeed solved the issue. I installed the Vulkan drivers and it works! Thanks!

It looks like the Nvidia drivers for FreeBSD do not support Vulkan - this thread discusses the issue. :-(
(For example, 'vulkaninfo' fails with an initialization error).

Thanks for your help.

Thats very unfortunate. Lets hope that eventually the situation changes, either via a driver fix or wgpu opengl support.

Lets leave this issue open until Bevy can do rendering on FreeBSD

It will probably work on FreeBSD right now as long as a supported Radeon card is installed.

Sadly, I can't test that.

Was this page helpful?
0 / 5 - 0 ratings