-
Notifications
You must be signed in to change notification settings - Fork 920
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
Support DX12 in WSL #1443
Comments
I don't think you can get any Vulkan under WSLG. It only supports OpenGL. |
Ah, if I
which seems more fixable? looking into the line that errors let wl_egl_window_create: libloading::Symbol<WlEglWindowCreateFun> = self
.wsi_library
.as_ref()
.expect("unsupported window")
.get(b"wl_egl_window_create")
.unwrap(); It looks like libloading can't find the wayland egl? I tried installing libwayland-egl-backend-dev but this did not fix it. Again, just looking for pointers for areas to keep looking as this is a new area for me, let me know if you need more information |
Would be good to first see if other EGL-based apps work. Could be that WSLG is only for desktop GL? |
Also looking into the top level origination of this error comes from smithay_client_toolkit::window::concept_frame, which was replaced recently and "Dependency on |
The WSLG docs say "enable support for running Linux GUI applications (X11 and Wayland)", and the list of applications has some fairly sophisticated examples (browsers) that I believe use EGL? Chrome uses angle for example
|
Ok, in this case we need to find out why they are able to locate libEGL but we aren't. |
So this is the edgiest of edge cases, but WSL also supports DX12 (Direct3D 12) through https://devblogs.microsoft.com/directx/directx-heart-linux/
If use of compute shaders through wgpu-rs for acceleration of Rust programs and libraries becomes more widespread (e.g., for machine learning?), I could imagine this to be pretty useful. |
ah, so you are asking about D3D12 support on Linux, I see. |
got the d3d12/gl extensions to work (mostly). Things that I had to change to get it to work:
Otherwise, most things seem to run fine besides winit/wayland-client issues, and storage buffers for some reason aren't allowed (not currently implemented in the opengl implementation?), I get |
a little more digging:
So ya, either use directx -> opengl es 3.0, or vulkan 1.1 software. That seems to be the two current options. |
That was fixed in #2336 👍 |
WGSL says: > - The last member of the structure type defining the store type for a variable > ... may be a runtime-sized array. > > - A runtime-sized array must not be used as the store type or contained within > a store type in any other cases. Thus, a struct whose final member is a struct whose final member is a runtime-sized array is verboten.
Microsoft recently released WSLG support for GUI linux applications on windows subsystem for linux. I've enabled all the steps for WSLG and am able to successfully run applications using it (VLC for example) but run into errors when trying to run wgpu examples.
I'm currently trying to figure out how to make this work myself and would love any pointers as I'm new to this area. WSLG works through a fairly complex set of abstractions, so I'm not exactly sure where to start. However, it seems like this might not require a huge amount of effort if we can use those abstractions, as WSLG is intended to support linux applications out of the box.
The text was updated successfully, but these errors were encountered: