protonscr

Feature request: possible implementation as a UMD

dxvkclosed
doitsujin/dxvk#3345 · opened 2023-04-11 by Evengard · updated 2023-04-15 · 4 comments · github
EEvengard 2023-04-11 github

Hello!

Windows have a "native pluggability" interface for DirectX support, mostly used for vendor driver development, called "User Mode Driver" aka UMD.
The documentation is here, with the applicable links to the interfaces in the need of implementation: https://learn.microsoft.com/en-us/windows-hardware/drivers/display/user-mode-display-drivers

It seems to mostly mimick the actual DX interfaces in most places.

This would allow to install the support system-widely and allow of development of device drivers for Windows relying only on Vulkan. This would be mostly used for example for full support for 3D graphics under Windows inside virtual machines (eg, using VirGL/Venus, only a hardware driver communicating the Vulkan commands to the hypervisor would all that is needed).

The translation from D3D to Vulkan is already here. Would it be possible to somehow support theese interfaces?
Thanks in advance.

Ddoitsujin maintainer 2023-04-12 github

We don't really have any interest in supporting this. The way things work in Proton require us to implement the D3D runtime + extension interfaces anyway, so doing this would have no benefits and only increase complexity as well as CPU overhead for no good reason.

KK0bin maintainer 2023-04-13 github

There's Microsofts D3D11on12 and D3D9on12 if you're looking for something that works like that.

EEvengard 2023-04-15 github

Thanks for the heads up about theese projects. Maybe I'll attempt to make the bridge myself...

Mmisyltoad 2023-04-15 github

It might be possible to implement the DDI with the interfaces we expose... I think that's what Intel do and also what Virtualbox's DXVK integration does.

If you wanted to make something that does that in tree, I guess I wouldn't have a problem with that. But yeah, little interest from us to actually do that.

Nothing extracted yet.