bevyengine / bevyengine/bevy

The underlying API or device in use does not support enough features to be a fully compliant implementation of WebGPU.

Open
#15,452 4 comments 0 reactions 0 assignees View on GitHub
A-Rendering C-Bug I-Crash O-Android S-Needs-Investigation
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

## Bevy version

The release number or commit hash of the version you're using.
0.14.2

## \[Optional\] Relevant system information

If you cannot get Bevy to build or run on your machine, please include:

- the Rust version you're using (you can get this by running `cargo --version`)
- Bevy relies on the "latest stable release" of Rust
- nightly should generally work, but there are sometimes regressions: please let us know!
- the operating system or browser used, including its version
- e.g. Windows 10, Ubuntu 18.04, iOS 14

cargo 1.81.0 (2dbb1af80 2024-08-20)
android12

If your bug is rendering-related, copy the adapter info that appears when you run Bevy.

```ignore
INFO - Adapter Vulkan AdapterInfo { name: "Maleoon 910", vendor: 6629, device: 268439552, device_type: IntegratedGpu, driver: "Maleoon 910", driver_info: "V100R001C10B221", backend: Vulkan }
```

You should also consider testing the examples of our upstream dependencies to help isolate any setup-specific issue:

- [`wgpu`](https://github.com/gfx-rs/wgpu) for rendering problems
- [`winit`](https://github.com/rust-windowing/winit) for input and window management
- [`gilrs`](https://docs.rs/gilrs/latest/gilrs/) for gamepad inputs

## What you did

Describe how you arrived at the problem. If you can, consider providing a code snippet or link.

## What went wrong

If it's not clear, break this out into:

- what were you expecting?
- what actually happened?

After running for a few frames, the Android app crashes and returns to the system desktop.
I also encountered a similar issue on iOS # 15041.

## Additional information

Other information that can be used to further reproduce or isolate the problem.
This commonly includes:

- screenshots
- logs
- theories about what might be going wrong
- workarounds that you used
- links to related bugs, PRs or discussions

```text
09-26 18:34:13.519 28280 1279 I RustStdoutStderr: INFO - Debug utils not enabled: debug_utils_user_data not passed to Instance::from_raw
09-26 18:34:13.522 28280 1279 I RustStdoutStderr: WARN - EGL_MESA_platform_surfaceless not available. Using default platform
09-26 18:34:13.529 28280 1279 I RustStdoutStderr: WARN - EGL says it can present to the window but not natively
09-26 18:34:13.570 28280 1279 I RustStdoutStderr: INFO - Adapter Vulkan AdapterInfo { name: "Maleoon 910", vendor: 6629, device: 268439552, device_type: IntegratedGpu, driver: "Maleoon 910", driver_info: "V100R001C10B221", backend: Vulkan }
09-26 18:34:13.570 28280 1279 I RustStdoutStderr: WARN - Missing downlevel flags: DownlevelFlags(SURFACE_VIEW_FORMATS)
09-26 18:34:13.570 28280 1279 I RustStdoutStderr: The underlying API or device in use does not support enough features to be a fully compliant implementation of WebGPU. A subset of the features can still be used. If you are running this program on native and not in a browser and wish to limit the features you use to the supported subset, call Adapter::downlevel_properties or Device::downlevel_properties to get a listing of the features the current platform supports.
09-26 18:34:13.570 28280 1279 I RustStdoutStderr: WARN - DownlevelCapabilities {
09-26 18:34:13.570 28280 1279 I RustStdoutStderr: flags: DownlevelFlags(
09-26 18:34:13.570 28280 1279 I RustStdoutStderr: COMPUTE_SHADERS | FRAGMENT_WRITABLE_STORAGE | INDIRECT_EXECUTION | BASE_VERTEX | READ_ONLY_DEPTH_STENCIL | NON_POWER_OF_TWO_MIPMAPPED_TEXTURES | CUBE_ARRAY_TEXTURES | COMPARISON_SAMPLERS | INDEPENDENT_BLEND | VERTEX_STORAGE | ANISOTROPIC_FILTERING | FRAGMENT_STORAGE | MULTISAMPLED_SHADING | DEPTH_TEXTURE_AND_BUFFER_COPIES | WEBGPU_TEXTURE_FORMAT_SUPPORT | BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED | UNRESTRICTED_INDEX_BUFFER | FULL_DRAW_INDEX_UINT32 | DEPTH_BIAS_CLAMP | VIEW_FORMATS | UNRESTRICTED_EXTERNAL_TEXTURE_COPIES | NONBLOCKING_QUERY_RESOLVE | VERTEX_AND_INSTANCE_INDEX_RESPECTS_RESPECTIVE_FIRST_VALUE_IN_INDIRECT_DRAW,
09-26 18:34:13.570 28280 1279 I RustStdoutStderr: ),
09-26 18:34:13.570 28280 1279 I RustStdoutStderr: limits: DownlevelLimits,
09-26 18:34:13.570 28280 1279 I RustStdoutStderr: shader_model: Sm5,
09-26 18:34:13.570 28280 1279 I RustStdoutStderr: }
09-26 18:34:13.749 1386 1386 I AndroidRuntime: RuntimeInit: Starting application from zygote
09-26 18:34:13.749 1386 1386 D AndroidRuntime: Entered RuntimeInit!
09-26 18:34:13.753 1386 1386 I AndroidRuntime: MethodAndArgsCaller run()
09-26 18:34:13.872 28280 1279 I RustStdoutStderr: WARN - The method call has reached, but it appears that the proxy object has been dropped.
09-26 18:34:13.883 28280 1279 I RustStdoutStderr: WARN - Dropping a GlobalRef in a detached thread. Fix your code if this message appears frequently (see the GlobalRef docs).
09-26 18:34:13.883 28280 1279 I RustStdoutStderr: WARN - Dropping a GlobalRef in a detached thread. Fix your code if this message appears frequently (see the GlobalRef docs).
09-26 18:34:13.884 28280 1279 I RustStdoutStderr: WARN - Dropping a GlobalRef in a detached thread. Fix your code if this message appears frequently (see the GlobalRef docs).
09-26 18:34:13.899 28280 1279 I RustStdoutStderr: WARN - Dropping a GlobalRef in a detached thread. Fix your code if this message appears frequently (see the GlobalRef docs).
09-26 18:34:13.899 28280 1279 I RustStdoutStderr: WARN - Dropping a GlobalRef in a detached thread. Fix your code if this message appears frequently (see the GlobalRef docs).
09-26 18:34:13.900 28280 1279 I RustStdoutStderr: WARN - Dropping a GlobalRef in a detached thread. Fix your code if this message appears frequently (see the GlobalRef docs).
09-26 18:34:13.900 28280 1279 I RustStdoutStderr: WARN - Dropping a GlobalRef in a detached thread. Fix your code if this message appears frequently (see the GlobalRef docs).
09-26 18:34:13.907 28280 1279 I RustStdoutStderr: WARN - Dropping a GlobalRef in a detached thread. Fix your code if this message appears frequently (see the GlobalRef docs).
09-26 18:34:13.907 28280 1279 I RustStdoutStderr: WARN - Dropping a GlobalRef in a detached thread. Fix your code if this message appears frequently (see the GlobalRef docs).
09-26 18:34:13.907 28280 1279 I RustStdoutStderr: WARN - Dropping a GlobalRef in a detached thread. Fix your code if this message appears frequently (see the GlobalRef docs).
09-26 18:34:13.908 28280 1279 I RustStdoutStderr: WARN - Dropping a GlobalRef in a detached thread. Fix your code if this message appears frequently (see the GlobalRef docs).
09-26 18:34:13.908 28280 1279 I RustStdoutStderr: WARN - Dropping a GlobalRef in a detached thread. Fix your code if this message appears frequently (see the GlobalRef docs).
09-26 18:34:13.920 28280 1279 I RustStdoutStderr: WARN - Unrecognized present mode SHARED_DEMAND_REFRESH
09-26 18:34:13.920 28280 1279 I RustStdoutStderr: WARN - Unrecognized present mode SHARED_CONTINUOUS_REFRESH
09-26 18:34:13.922 28280 1279 I RustStdoutStderr: WARN - Unrecognized present mode SHARED_DEMAND_REFRESH
09-26 18:34:13.922 28280 1279 I RustStdoutStderr: WARN - Unrecognized present mode SHARED_CONTINUOUS_REFRESH
09-26 18:34:13.965 28280 1279 I RustStdoutStderr: WARN - Unrecognized present mode SHARED_DEMAND_REFRESH
09-26 18:34:13.965 28280 1279 I RustStdoutStderr: WARN - Unrecognized present mode SHARED_CONTINUOUS_REFRESH
09-26 18:34:14.032 1625 1625 I AndroidRuntime: RuntimeInit: Starting application from zygote
09-26 18:34:14.032 1625 1625 D AndroidRuntime: Entered RuntimeInit!
09-26 18:34:14.040 1625 1625 I AndroidRuntime: MethodAndArgsCaller run()
09-26 18:34:16.131 2139 2139 I AndroidRuntime: RuntimeInit: Starting application from zygote
09-26 18:34:16.131 2139 2139 D AndroidRuntime: Entered RuntimeInit!
09-26 18:34:16.134 2139 2139 I AndroidRuntime: MethodAndArgsCaller run()
09-26 18:34:21.254 565 565 I AndroidRuntime: VM exiting with result code 1, cleanup skipped.
```

Contributor guide

Open the contributing guide

Research direction

No source file or test is identified. Start by reproducing the crash on Android 12 with Bevy 0.14.2, then inspect the adapter, downlevel, and present-mode warnings alongside the related iOS issue #15041. Done means isolating a reproducible cause and documenting a validated fix or confirmed upstream limitation.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, rust
Domain
computer-graphics, game-dev, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.