Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking Issue for Wgpu on Raspberry Pi 4 #1069

Open
cwfitzgerald opened this issue Dec 3, 2020 · 5 comments
Open

Tracking Issue for Wgpu on Raspberry Pi 4 #1069

cwfitzgerald opened this issue Dec 3, 2020 · 5 comments
Labels
external: driver-bug A driver is causing the bug, though we may still want to work around it

Comments

@cwfitzgerald
Copy link
Member

cwfitzgerald commented Dec 3, 2020

Description

Summary of all current issues and todos for a seamless raspbery pi 4 experience. Most of these will be driver issues and will also be found on https://github.com/gfx-rs/wgpu/wiki/Known-Driver-Issues. Links to upstream issues will be added as they are filed.

Unless listed otherwise, this was tested on mesa commit a1976e1cb2d817a4d5229994b83c87d82485af9b.

Shadow

There is sporatic corruption of the shadows that pops in weird ways. Video here: https://cwfitz.com/zFpfee.mp4.

Upstream bug filed: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3916

Water

Water works fine until you resize it, then the water looks to have some sort of block-based corruption. If you get lucky when you resize it'll go back to normal. This might be caused by gfx-rs/wgpu-rs#665 as the issue doesn't show up on a pre gfx-master version of wgpu.

Cube

Cube works correctly most of the time, but random frames will have the vertex order reversed so the lines go the other way through the square faces.

@cwfitzgerald cwfitzgerald added type: bug Something isn't working external: driver-bug A driver is causing the bug, though we may still want to work around it labels Dec 3, 2020
bors bot added a commit that referenced this issue Dec 6, 2020
1074: Implement ETC2 and ASTC textures r=kvark a=cwfitzgerald

**Connections**

Closes #1070. Makes progress towards #1069.

**Description**

This PR has multiple functions:
 - Adds ETC and ASTC compressed textures behind features.
 - Adds three helper functions on `Extent3d` that help in calculating mip sizes: `at_mip_level`, `max_mips`, and `physical_size`.
 - Refactors various conversions into a public `TextureFormat::describe` function. I have used a decl macro to ease in the declaration and modifcation of an otherwise horribly verbose function.

I have tried to use clever multi-select based data copying to reduce the possibility for errors, but there's a _lot_ of data moving around here.

**Testing**

Upcoming wgpu-rs pr adding wider compressed texture support to the skybox example. Helper functions were tested with doctests.

Marked as draft until I can get the wgpu-rs pr done and prove it works, it is, however, ready for review.


Co-authored-by: Connor Fitzgerald <[email protected]>
@cwfitzgerald cwfitzgerald removed the type: bug Something isn't working label Jun 5, 2022
@andrewdavidmackenzie
Copy link

I am currently (master, Dec 15 2022) on Pi4 seeing:

'No suitable GPU adapters found on the system!'

Am I right in assuming this is the correct open issue to track?

@cwfitzgerald
Copy link
Member Author

It is, but if you have a vulkan implementation it should at least find an adapter.

@Lokathor
Copy link

Lokathor commented Jan 28, 2023

sudo apt install vulkan-tools mesa-vulkan-drivers will now install the vulkan drivers on raspberry pi os. If you run a vulkan using program it'll print a message as it loads that technically the driver isn't fully conformant and it's for testing only, but the program will render.

I didn't test any of the examples from this repo specifically (i was checking out the minimal-winit example from pixels, which uses wgpu). If you want I can possibly check more soon.

@anselanza
Copy link

Indeed, pixels does work on the Raspberry Pi 4 as mentioned, after installing the Vulkan V3D driver, but I cannot get the built-in examples from WGPU to run.

The following error is typical:

WARNING: v3dv is neither a complete nor a conformant Vulkan implementation. Testing use only.
Using V3D 4.2 (Vulkan)
[2023-05-25T13:39:35Z ERROR wgpu::backend::direct] Error in Adapter::request_device: Not enough memory left
thread 'main' panicked at 'Unable to find a suitable GPU adapter!: RequestDeviceError', wgpu/examples/cube/../framework.rs:236:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

The Not enough memory part seems important. I have tried running this on both a standard 4GB Pi 4 as well as an 8GB model - both with GPU RAM set to 256MB rather than the default 64MB. Same error on both.

@anselanza
Copy link

anselanza commented May 25, 2023

These errors only occur on v0.16.0 and v0.16.1.

If I check out v0.15, the same version Pixels appears to depend on, then the built-in WGPU examples do indeed run using Vulkan on the Pi 4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
external: driver-bug A driver is causing the bug, though we may still want to work around it
Projects
None yet
Development

No branches or pull requests

4 participants