Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Hi, being a long-time Diablo fan myself, I looked into how to make D2R work on our Macs.
First of all, I don't understand why anyone from the Parallels' engineering team doesn't chime in with the real reason why there is no DX12 support in Parallels and won't be for some time. The reason is that neither OpenGL nor Metal, the two graphic frameworks that are natively supported by macOS, do not have feature parity with DX12. If you cannot translate a DX12 command into a Metal one, you cannot have DX12 compatibility in the VM. Until Apple adds DX12-like features to Metal, the current status quo will remain. Another often question that I see here (and that Parallels ignores to address for some reason) is whether this could be solved by passing eGPU straight to the VM. This again cannot be done due to macOS not having PCI-e pass-through feature in the kernel like Linux does. Again, until something changes on Apple's side, there is nothing Parallels can do about it.
Now to the Diablo. First a little teaser:
I don't show gameplay, because I didn't have enough patience to wait until it loads up. Bear in mind that I am running this demo on a very low spec dual core CPU from 2017. However, menu loaded just fine, so I guess the game would eventually load as well? I have an M1 Max MBP arriving on Friday and I'll see if the game is actually playable on that machine before making any official tutorials. For people who want to try right now on their high-core Intel Macs or on their M1 Macs should look into "dxcpl" with Feature Level 12_2 and "Force WARP" enabled . Windows 11 + Windows SDK installed required. To explain what it does, WARP is Microsoft's official software renderer. Therefore it renders on a CPU and doesn't care what DX level your GPU, or VM hypervisor supports. You'll need a really beefy CPU to play any modern game this way. The plus side is that this can be used to play any DX12 game, not just D2R.
I'll post here an update on playability once I get the new MacBook.
1) Download and install https://developer.microsoft.com/en-us/windows/downloads/windows-sdk - leave all options ticked (will consume around 3.4GB)could you provide any further info on how to configure DXCPL once installed in Parallels for this scenario?
1) Download and install https://developer.microsoft.com/en-us/windows/downloads/windows-sdk - leave all options ticked (will consume around 3.4GB)
2) Reboot the VM
3) Open the Run window and type: dxcpl
4) If you got a dxcpl window, proceed further. If you got error, the SDK is not installed properly
5) At the top of the dxcpl window, browse to the D2R.exe and add it on the list
6) Then at the bottom of the window, in the Feature Level selection, select 12_2
7) Tick "Force WARP"
8) Close dxcpl
9) Run D2R as usual
So, I did this exactly as you described and I am running the Mid 2020 Intel iMac -- I gave the recommended settings (half available RAM/CPU -- 10 cores @ 3.6ghz and 32gb RAM) I can get the game to start and that's about all I can say for it. Without starting it in windowed mode it all but freezes and crashes the entire VM, and in windowed mode we don't get much further. Glitchy sound etc. So it's cool that you figured out a way to make it run at all! First one I have seen yet, this is not a complete solution IMO.1) Download and install https://developer.microsoft.com/en-us/windows/downloads/windows-sdk - leave all options ticked (will consume around 3.4GB)
2) Reboot the VM
3) Open the Run window and type: dxcpl
4) If you got a dxcpl window, proceed further. If you got error, the SDK is not installed properly
5) At the top of the dxcpl window, browse to the D2R.exe and add it on the list
6) Then at the bottom of the window, in the Feature Level selection, select 12_2
7) Tick "Force WARP"
8) Close dxcpl
9) Run D2R as usual
Hi, being a long-time Diablo fan myself, I looked into how to make D2R work on our Macs.
First of all, I don't understand why anyone from the Parallels' engineering team doesn't chime in with the real reason why there is no DX12 support in Parallels and won't be for some time. The reason is that neither OpenGL nor Metal, the two graphic frameworks that are natively supported by macOS, do not have feature parity with DX12. If you cannot translate a DX12 command into a Metal one, you cannot have DX12 compatibility in the VM. Until Apple adds DX12-like features to Metal, the current status quo will remain. Another often question that I see here (and that Parallels ignores to address for some reason) is whether this could be solved by passing eGPU straight to the VM. This again cannot be done due to macOS not having PCI-e pass-through feature in the kernel like Linux does. Again, until something changes on Apple's side, there is nothing Parallels can do about it.
Now to the Diablo. First a little teaser:
I don't show gameplay, because I didn't have enough patience to wait until it loads up. Bear in mind that I am running this demo on a very low spec dual core CPU from 2017. However, menu loaded just fine, so I guess the game would eventually load as well? I have an M1 Max MBP arriving on Friday and I'll see if the game is actually playable on that machine before making any official tutorials. For people who want to try right now on their high-core Intel Macs or on their M1 Macs should look into "dxcpl" with Feature Level 12_2 and "Force WARP" enabled . Windows 11 + Windows SDK installed required. To explain what it does, WARP is Microsoft's official software renderer. Therefore it renders on a CPU and doesn't care what DX level your GPU, or VM hypervisor supports. You'll need a really beefy CPU to play any modern game this way. The plus side is that this can be used to play any DX12 game, not just D2R.
I'll post here an update on playability once I get the new MacBook.
In this very funny (and sad) scenario, it is true that Linux is better for gaming than macOS. D2R is not a Vulkan game, but a DX12 game. So if you want to render is using Vulkan, you have to have a translation layer. There are two major DX->Vulkan translation libraries: DXVK and Valve's VKD3D that's being used in their SteamOS/SteamDeck (both are Linux-based). If you have a native Vulkan support in your OS, that's all you need and that's why you can play D2R there. But since macOS does not have native Vulkan support, you need to translate Vulkan to Metal (=MoltenVK) and this is where you hit the wall again as Metal does not support have feature parity with DX12...I know for a fact that this is the way that they are playing D2R on Linux, but the MoltenVK should make this course of action available to Mac users also correct?
I am literally so annoyed with these issue that I bought a new PC to host linux on today and run multiple operating systems via KVM.If you go to this MoltenVK GitHub issue and search for the word "Apple", you will see some of the reasons that are making DX12 on Metal impossible for now: https://github.com/KhronosGroup/MoltenVK/issues/214
Hi has there been any updates on this at all?Hello,
Thank you for the provided information.
We've involved Parallels Engineering Team in this case and once we get any updates we will let you know.
With these tips managed to open the game but ended up with black screen and D2R logo at the bottom.1) Download and install https://developer.microsoft.com/en-us/windows/downloads/windows-sdk - leave all options ticked (will consume around 3.4GB)
2) Reboot the VM
3) Open the Run window and type: dxcpl
4) If you got a dxcpl window, proceed further. If you got error, the SDK is not installed properly
5) At the top of the dxcpl window, browse to the D2R.exe and add it on the list
6) Then at the bottom of the window, in the Feature Level selection, select 12_2
7) Tick "Force WARP"
8) Close dxcpl
9) Run D2R as usual
With these tips managed to open the game but ended up with black screen and D2R logo at the bottom.
Hi has there been any updates on this at all?
Yeah, it's frustrating to have such a powerful hardware crippled by their software choices... Honestly I am putting my hopes into the Asahi Linux group that is making a Linux distro capable of running directly on the M1 Mac lineup. Once they finish the GPU driver, we'll be able to use DX12 -> Vulkan gameplay by dual-booting into Linux. And it will probably happen sooner than Apple improves Metal...
In another sad news, I received my M1 Max MBP and Diablo does not run on it. It crashes right before the menu opens. The reason? Microsoft's unstable x64 emulation layer...I am not sure if they consider a finished product or if they are still working on improving the compatibility of if. I'll keep trying with future versions of Windows 11, but Diablo is certainly not the only victim of their bad job - I tried few more Steam games and they just crash upon startup. We can be happy that Apple did a lot better job with their Rosetta.
I gave up even the idea of purchasing D3-II until someone actually gets it running. But haven't heard anything here or over at MacRumors forum.Hey! Did u manage to finally run d2r on your m1 MBP?