-
Notifications
You must be signed in to change notification settings - Fork 309
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
Add support for Vulkan #40
Comments
This would be an extremely useful feature, looking forward to it! |
I hope it will be Vulkan pass-through driver which won't be obstructed by BIOS limitations or at least Molten VK but hopefully it won't be an emulation. Vulkan, Wayland and Pipewire for a modern desktop experience! |
I get the segfault even when (I think?) I've requested the lavapipe software renderer, so I suspect this is at least partly a regular bug rather than an unimplemented feature:
The actual fault is in libVkLayer_MESA_device_select.so:
It looks like I can disable this with NODEVICE_SELECT=1, but that leads to a different error:
|
Zink may be able to provide a partial solution as it's written to take advantage of D3D12 being available in Mesa but is applied to Vulkan. Not sure how to better explain than that. But if you look at the code you'll see it's for Vulkan but it also pulls in and uses code from the D3D12 implementation of Mesa. It also appears that MS is involved in developing that Gallium driver too so perhaps the maintainers here can speak better on it. My impression from reviewing it on Mesa's gitlab page is basically to make Vulkan available through the D3D12 driver (the kernel driver, not the mesa gallium to be clear) but I could be mistaken. |
Well that's a fairly new development considering Zink is over a year old now. But then it wasn't originally using any functions from D3D12 either. That is definitely a nice and necessary bit to get Vulkan working for us. But that also means we'll need to wait until the next release of Vulkan before that change and other related ones are available. What that might mean for WSLg at that point, who knows. Would be nice if the MS folks would chip in here and explain the situation. They promised us Vulkan support and we're seeing efforts that appear on surface to be doing that but no official communication confirming that. |
Vulkan on WSLg is working if the app is using X11. However, System details:
When I run this: It produces vulkan-dozen-wayland.log. |
I was seeing a similar problem. I had a RTX 3070 and it was not detected by Vulkan. It showed only one GPU which was I am able to fix it based on this post https://forums.developer.nvidia.com/t/enabling-nvidia-support-for-vulkan-on-ubuntu-22-04-through-wsl2/244176/3 I add
Then, the Nvidia GPU is detected by vulkan. You can also try it with
With that, I guess Vulkan is sort of supported in WSLg. |
Any idea if it is possible to get Vulkan working in a docker image running on WSL? |
I'm not able to get Vulkan working in a docker container on WSL2. On WSL2 it recognizes my GPU (and CPU) but within the docker container it only recognizes the CPU. Anyone else stumbling upon this problem? |
@selmiskr If it works in WSL2 but not in the docker container take a look at the required environment variables for "Containerized applications access to the vGPU". |
What version WSL is needed for Vulkan to work. Is there a latest update article on this? |
Why is my Vulkan Instance Version on WSL2 different than on Windows vs I installed the newest mesa drivers for vulkan on WSL2 and my device is recognized correctly, but it seems to use an old version of Vulkan on WSL2 This is using Ubuntu 20.04. Using Ubuntu 22.04 the version comes closer to the instance version of Windows: |
Is your feature request related to a problem? Please describe.
Currently, trying to run any app leveraging Vulkan seems to end up with a Segfault
Unity with an HDRP (Vulkan dependant) project:
vulkaninfo:
Describe the solution you'd like
Having Vulkan work out of the box just like OpenGL
The text was updated successfully, but these errors were encountered: