https://bugs.winehq.org/show_bug.cgi?id=57326
Bug ID: 57326 Summary: WebGPU running slow. Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: mattias.eliasson@medsa.se Distribution: ---
Currently running any WebGPU implementation inside Wine will use Wine's DirectX or OpenGL emulation layer (or possibly Apples DirectX emulation layer).
This has become extra important for Mac support as they dropped OpenGL and all developers that relied on Wines OpenGL support finds themselves in trouble. Even with growing support of Metal in Wine this now requres an emulation layer like moltenvk. Not only is MoltenVK slower due to emulation but it it is a radically different API to OpenGL.
As a result developers that target Mac have started looking at OpenGPU. It's not an emulation layer so when compiling osx application's it provides almost as good performance as using Metal direct but doesn't require having a Mac specific backend. OpenGPU will also run very well on top of OpenGL, Vulkan and DirectX making it ideal for anyone that wants a single GPU backend.
The fast way to run any application with WebGPU dependencies would be for Wine to use a native WebGPU implementation and provide an abstraction layer for Windows WebGPU applications. On Mac OSX that would mean that WebGPU would directly access Metal and run much faster.
The wgpu implementation of WebGPU works very well on Metal and on all other target platforms that wine has. Porting OpenGL code to WebGPU is also much more straight forward than porting to DirectX or Vulcan for those that want an easy way to support OSX with their Windows application.
With native OpenGPU support in Wine we can finally start making "compile once run everywhere" applications that will run well wherever either Windows or Wine is present. At least for developers that support wine as a target platform it would be extremely welcome.