gpuweb / cts

WebGPU Conformance Test Suite
https://gpuweb.github.io/cts/
BSD 3-Clause "New" or "Revised" License
121 stars 72 forks source link

webgpu cts not run when ubunt + Discrete graphics card. #3783

Open 82157402 opened 2 weeks ago

82157402 commented 2 weeks ago

i try to run webpug cts, But it only can run with swiftshader, not my gpu card. image I check chrome://gpu. It show normal. image image

who can help me?Thanks!

kainino0x commented 2 weeks ago

This probably is caused by one of the various reasons Chrome does not yet fully support WebGPU on Linux. For example your Vulkan driver may be missing some extension that we need for Dawn-Chromium integration.

It would be easier to help if you can share your full chrome://gpu (as a text file).

82157402 commented 2 weeks ago

Please about-gpu-2024-06-11T01-20-28-661Z.txt

How to check missing some extension?

kainino0x commented 2 weeks ago

Thanks for that, for others' reference here are the flags: --enable-unsafe-webgpu --enable-features=Vulkan and here is the GPU: <Discrete GPU> Vulkan backend - NVIDIA GeForce GTX 1660 SUPER

I think this is the problem: In the OpenGL section, it says GPU0 : VENDOR= 0x1ed5 [Google Inc. (MOORE THREADS)], DEVICE=0x0201 [ANGLE (MOORE THREADS, MTT Mesa, OpenGL 4.1 build 20240611 debug develop beb22e488@20240608 )], DRIVER_VENDOR=MOORE THREADS, DRIVER_VERSION=4.1 *ACTIVE*

I think Chromium requires OpenGL (for legacy stuff) and Vulkan (for WebGPU) to be running on the same device. But maybe this MOORE THREADS device doesn't have Vulkan support.

I think this could be fixed by passing some flag telling Chromium not to use OpenGL at all, could you try adding --use-angle=vulkan and see if that helps? I am not sure if that will actually convince Chromium to use the NVIDIA GPU or not though.