bevyengine / bevy

A refreshingly simple data-driven game engine built in Rust
https://bevyengine.org
Apache License 2.0
36.25k stars 3.58k forks source link

Bevy 3D graphics show blank #15499

Open collin80 opened 1 month ago

collin80 commented 1 month ago

Bevy version

05d20139aa7659bf09435a963a71247e52796c2c (absolute bleeding edge as of now)

[Optional] Relevant system information

cargo 1.81.0 (2dbb1af80 2024-08-20)

Fedora 40 (all packages up to date 28-Sept-2024)

Finished `release` profile [optimized] target(s) in 0.13s
 Running `target/release/examples/atmospheric_fog`

2024-09-28T16:13:33.980419Z INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "Linux 40 Fedora Linux", kernel: "6.10.11-200.fc40.x86_64", cpu: "13th Gen Intel(R) Core(TM) i7-13700HX", core_count: "16", memory: "31.0 GiB" } 2024-09-28T16:13:35.725884Z INFO bevy_render::renderer: AdapterInfo { name: "NVIDIA GeForce RTX 4070 Laptop GPU", vendor: 4318, device: 10336, device_type: DiscreteGpu, driver: "NVIDIA", driver_info: "555.58.02", backend: Vulkan } 2024-09-28T16:13:35.909710Z INFO bevy_winit::system: Creating new window "App" (0v1#4294967296) 2024-09-28T16:13:35.909803Z INFO winit::platform_impl::linux::x11::window: Guessed window scale factor: 1.5 2024-09-28T16:13:36.017914Z WARN bevy_render::view::window: Couldn't get swap chain texture. This often happens with the NVIDIA drivers on Linux. It can be safely ignored.

What you did

Compiled and tried to run atmospheric_fog demo. I have also tried breakout (also same problem) and combine-racers game (they compiled it and released as binary)

What went wrong

Graphical output

It flashes the actual 3d output for a single frame then goes dead gray forever. Breakout does the same thing. Combine-racers doesn't seem to ever get all the way through init but doesn't crash either

I suspect it has to do with the nVidia drivers on linux. However, I have tried other 3D games on this machine (in F40 just like I'm using here) and they work fine. I have also played a number of games on Steam and they work fine too. It seems to be entirely a Bevy problem. Or, perhaps something upstream.

EDIT: I know someone will comment that I shouldn't test on the bleeding edge version and complain. Well, 0.14.2 also does the exact same thing.

alice-i-cecile commented 1 month ago

Thanks for testing on both Bevy main and 0.14 :) Do the wgpu examples work for you?

collin80 commented 1 month ago

Yes. WGPU works fine. However, here is the odd thing, Bevy always tries to use the nVidia adapter in my laptop. This is the hybrid type where the laptop uses the built-in Intel but has a much more powerful nVidia as well. But, WGPU seems deadset on using the intel pathway only. I was unable to get the examples to use nVidia.

So, it seems the intel drivers work fine but Bevy insists on nVidia and WGPU examples insist on Intel.

Dokkae6949 commented 1 month ago

I think I encountered the exact same issue but with the release version 0.14 from crates.io. Camera only seems to output static gray :/

My logs:

Compiling bevy_gizmo_hello_world v0.1.0 (/home/kurisu/Documents/Personal/Projects/Rust/binaries/Bevy/gizmo)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.00s
     Running `target/debug/bevy_gizmo_hello_world`
2024-09-29T18:18:55.660766Z  WARN winit::platform_impl::linux::x11::xdisplay: error setting XSETTINGS; Xft options won't reload automatically
2024-09-29T18:18:55.810217Z  INFO bevy_render::renderer: AdapterInfo { name: "NVIDIA GeForce RTX 3070 Laptop GPU", vendor: 4318, device: 9437, device_type: DiscreteGpu, driver: "NVIDIA", driver_info: "560.35.03", backend: Vulkan }
2024-09-29T18:18:56.030036Z  INFO bevy_winit::system: Creating new window "Editor Gizmos" (Entity { index: 0, generation: 1 })
2024-09-29T18:18:56.030245Z  INFO winit::platform_impl::linux::x11::window: Guessed window scale factor: 1.9166666666666667
2024-09-29T18:18:56.185996Z  WARN bevy_render::view::window: Couldn't get swap chain texture. This often happens with the NVIDIA drivers on Linux. It can be safely ignored.
2024-09-29T18:18:59.120719Z  WARN bevy_render::view::window: Couldn't get swap chain texture. This often happens with the NVIDIA drivers on Linux. It can be safely ignored.
2024-09-29T18:19:00.573911Z  INFO bevy_window::system: No windows are open, exiting
2024-09-29T18:19:00.574182Z  INFO bevy_winit::system: Closing window Entity { index: 0, generation: 1 }

Quick Edit: My AMD iGPU and Nvidia dGPU on my laptop both only output static gray. Soo x_x even worse