Jump to content
  • Advertisement
Sign in to follow this  
Volgogradetzzz

DX12 D3D12 warp driver on windows 7

This topic is 1169 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello.

 

By some reason I'd like to use dx12 on windows 7. I thought I can just use warp driver dll - after all it's just a software implementation (which proves why it works on win10 with wddm less than 2.0). With Dependency Walker I checked which libs I need. I grab this libs on win10. But this is not enough - it seems that libs require another libs and it's hard to tell which. So maybe somebody already managed how to do this? Or maybe I'm totally wrong and it's impossible to achieve?

Share this post


Link to post
Share on other sites
Advertisement

I do not think you can do this. You still need WDDM 2.0 and related DirectX Graphics kernel bits to run a WARP12 adapter device. Probably some of the bits you need requires or are part of Windows 10 kernel.

Edited by Alessio1989

Share this post


Link to post
Share on other sites

But I'm able to run warp on integrated Intel gpu with wddm 1.3 (on win10).

 

WDDM is not just the display driver interface, it also involve the compositor (the DWM). Windows 10 comes with a new compositor and a new presentation model. I am also pretty sure you need the correlated DXGI and DXG kernel bits installed. There is also the new resident memory model which is not supported under Windows 7/8/8.1.

 

Do you have any particular - non subjective - reason to not use Windows 10? (ie: technical issues or whatever..)

Edited by Alessio1989

Share this post


Link to post
Share on other sites

But I'm able to run warp on integrated Intel gpu with wddm 1.3 (on win10).

Considering this, you MIGHT be able to hack a lot until you get it to run on a WDDM 1.3 capable OS.
But even then, WDDM 1.3 shipped with Windows 8.1
Windows 7 supports up to WDDM 1.1

The only way to get it to run on Win 7 is to heavily reverse engineer the DLLs and hack a lot, until you end up writing your own pseudo OS layer, like Wine does on Linux. Definitely not something quick or trivial. Edited by Matias Goldberg

Share this post


Link to post
Share on other sites

This won't work.

 

The d3d10warp.dll and even the optional d3d12warp.dll that are shipped with Windows 10 builds have tight ties to OS components that only exist in Windows 8.1 onwards. We also removed 'old DDI table support' from these drivers to minimize our testing and old code that is not longer used. This means the only DDI tables that these Win 10 binaries expose are a WDDM 1.3 table (Win 8.1)  and a WDDM 2.0 table (Win 10), neither will be recognized by the runtime in Windows 7. You can take either of these binaries and run them on Win8.1 (after renaming d3d12warp.dll to d3d10warp.dll) - But that still won't give you D3D12 on anything other than Windows 10, there is a *lot* more to D3D12 in the kernel / runtime / OS.

Share this post


Link to post
Share on other sites

Thank you guys. I believe you and leave that crazy idea.

 


Do you have any particular - non subjective - reason to not use Windows 10? (ie: technical issues or whatever..)

On my work I have only Win7 but in my free time wanted to try/test something.

Share this post


Link to post
Share on other sites
Well, you can still use a VM and create a WARP device, obviously the performance will be atrocious if you want create anything that is not a triangle or a single cube, but it should be enough to learn the very basics of the API.

Share this post


Link to post
Share on other sites

Well, you can still use a VM and create a WARP device, obviously the performance will be atrocious if you want create anything that is not a triangle or a single cube, but it should be enough to learn the very basics of the API.

WARP isn't that bad. Give the VM enough CPUs and it should run pretty well. I've written entire small test apps before with WARP left on by accident and not realised until I was almost done.

Share this post


Link to post
Share on other sites

Well, you can still use a VM and create a WARP device, obviously the performance will be atrocious if you want create anything that is not a triangle or a single cube, but it should be enough to learn the very basics of the API.

WARP isn't that bad. Give the VM enough CPUs and it should run pretty well. I've written entire small test apps before with WARP left on by accident and not realised until I was almost done.

I remember I was able to run the multi-threading samples at ~1FPS on a i5 Ivy Bridge laptop using HyperVisor on Windows 8.1 last Spring (and it was not even the RTM).
Yes, that is not so bad at all to learning the very base of the API. Without a VM in the middle I guess WARP12 runs pretty well on a mid-range recent CPU, it is also suitable to try heterogeneous multi-adapter coding. Edited by Alessio1989

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!