beaufortfrancois / webgpu-cross-platform-app

WebGPU cross-platform app with CMake/Emscripten
https://developer.chrome.com/docs/web-platform/webgpu/build-app
107 stars 7 forks source link

Error when running desktop app on Arch linux #14

Open ThanosFisherman opened 1 month ago

ThanosFisherman commented 1 month ago

Hello, I've been trying to build and run the demo app on desktop but I ran into the following error while executing the binary

Warning: SetUncapturedErrorCallback is deprecated. Pass the callback in the device descriptor instead.
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  149 ()
  Minor opcode of failed request:  4
  Serial number of failed request:  186
  Current serial number in output stream:  196

Any ideas?

kainino0x commented 1 month ago

The warning shouldn't be a problem.

I'm not sure what causes the X error. Do other Vulkan test apps work? Are you running over any kind of remote connection (ssh, remote desktop, etc.)? Are you using X11 or xwayland?

ThanosFisherman commented 1 month ago

Hello, I've played with a few simple Vulkan test apps. They seem to work fine. Even games running on vulkan such as Veloren. I'm on a laptop with hybrid graphics but I'm using my dedicated GPU which is NVidia GeForce 1050ti. I'm on X11 currently And I'm running everything locally. No ssh stuff unless I'm missing something.

kainino0x commented 1 month ago

Thanks for the info, it does sound like it should work.

From this random search result, it could have something to do with Dawn using the wrong GPU or there being some issue crossing from one GPU to the other. Could you check vulkaninfo or Chromium's about:gpu to check if there are multiple Vulkan devices listed?

Could you try building and running Dawn's own samples to see if they run into the same problem? If so, there could be a Dawn issue, so please file a Dawn bug. If not, then there is probably something wrong with the window setup in this demo....

ThanosFisherman commented 1 month ago

I've attached the output of vulkaninfo. I haven't tried to build the dawn's samples yet but I'll give it a try once I find some time.

vulkaninfo.txt

beaufortfrancois commented 1 month ago

From what I can see, there are indeed two Vulkan devices:

ThanosFisherman commented 1 month ago

OK something weird is happening. I've just built and run Dawn's samples. When my gpu settings are set on "hybrid" all of the samples will ran fine. In addition there's the following log in console

Info: Using adapter "Intel(R) UHD Graphics 630 (CFL GT2)"

However when I switched to my discrete GPU (Nvidia 1050ti) I then tried to ran the samples once again and got the following error

Info: Using adapter "Intel(R) UHD Graphics 630 (CFL GT2)"
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  149 ()
  Minor opcode of failed request:  4
  Serial number of failed request:  186
  Current serial number in output stream:  196

Seems like it still tries to use the intel gpu even though I switched to NVidia?