bevyengine / bevyengine/bevy-website
WebGL2 examples not loading on IPhone
- Dominant language
- JavaScript
- Stars
- 249
- Forks
- 450
- Avg merge
- 16h 20m
- Merged PRs (30d)
- 6
Description
## Relevant system information
* IPhone 16e
* Chrome
* Haven't checked logs but doesn't load on Safari either.
## What you did
I was testing bevy on my different devices due to needing to use it in my upcoming projects and noticed on my iphone 16e that none of the examples load whatsoever.
I simply loaded one of the examples and noticed the lack of loading regardless of duration waited so I tried another and another and well I can repeat myself many times on; the examples simply remained blank with their highlight border around them.
## What went wrong
None of the examples loaded (note: wasm and webgl is fully supported on the device and the software)
## Additional information
# Browser log
```
LOG%cINFO%c crates/bevy_winit/src/system.rs:69%c Creating new window App (0v0) color: whitesmoke; background: bevyengine/bevy#444 color: gray; font-style: italic color: inherit
LOG%cINFO%c crates/bevy_render/src/renderer/mod.rs:272%c AdapterInfo { name: "Apple GPU", vendor: 4203, device: 0, device_type: Other, driver: "", driver_info: "WebGL 2.0", backend: Gl } color: whitesmoke; background: bevyengine/bevy#444 color: gray; font-style: italic color: inherit
LOG%cINFO%c crates/bevy_render/src/batching/gpu_preprocessing.rs:1136%c GPU preprocessing is not supported on this device. Falling back to CPU preprocessing. color: whitesmoke; background: bevyengine/bevy#444 color: gray; font-style: italic color: inherit
LOG%cWARN%c crates/bevy_core_pipeline/src/oit/resolve/mod.rs:71%c OrderIndependentTransparencyPlugin not loaded. GPU lacks support: DownlevelFlags::FRAGMENT_WRITABLE_STORAGE. color: orange; background: bevyengine/bevy#444 color: gray; font-style: italic color: inherit
LOG%cWARN%c crates/bevy_pbr/src/ssao/mod.rs:70%c ScreenSpaceAmbientOcclusionPlugin not loaded. GPU lacks support: TextureFormat::R16Float does not support TextureUsages::STORAGE_BINDING. color: orange; background: bevyengine/bevy#444 color: gray; font-style: italic color: inherit
LOG%cINFO%c crates/bevy_pbr/src/light_probe/generate.rs:130%c Disabling EnvironmentMapGenerationPlugin because compute is not supported on this platform. This is safe to ignore if you are not using EnvironmentMapGenerationPlugin. color: whitesmoke; background: bevyengine/bevy#444 color: gray; font-style: italic color: inherit
LOG%cWARN%c crates/bevy_pbr/src/atmosphere/mod.rs:126%c AtmospherePlugin not loaded. GPU lacks support for compute shaders. color: orange; background: bevyengine/bevy#444 color: gray; font-style: italic color: inherit
ERRORpanicked at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.12/src/platform_impl/web/event_loop/window_target.rs:582:26:
RefCell already borrowed
Stack:
@https://bevy-webgl2-examples.pages.dev/2D%20Rendering/move-sprite/wasm_example.js:1404:30
.wasm-function[17263]@[wasm code]
.wasm-function[48406]@[wasm code]
.wasm-function[77374]@[wasm code]
.wasm-function[73059]@[wasm code]
.wasm-function[48570]@[wasm code]
.wasm-function[13615]@[wasm code]
.wasm-function[52744]@[wasm code]
.wasm-function[61840]@[wasm code]
__wbg_adapter_6@https://bevy-webgl2-examples.pages.dev/2D%20Rendering/move-sprite/wasm_example.js:318:36
real@https://bevy-webgl2-examples.pages.dev/2D%20Rendering/move-sprite/wasm_example.js:261:21
```
I very am sorry about the formatting; grabbing the log on chrome on iphone is awkward and it doesn't cleanly copy and paste but is still readable to recognize the clear panic from the winit crate.
Contributor guide
Research direction
Start by reproducing a WebGL2 example from bevy-webgl2-examples.pages.dev on an iPhone 16e in Chrome and Safari, using the browser log in the issue. Trace the reported panic at winit-0.30.12/src/platform_impl/web/event_loop/window_target.rs:582:26 and the generated wasm_example.js stack. Done means the examples load without this panic on the affected device.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, wasm
- Domain
- frontend, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100