Deep Rock Galactic

Deep Rock Galactic

26 ratings
Play DRG With Vulkan!
By The Loan Ranger
A short guide on configuring Deep Rock Galactic to utilize the Vulkan graphics API for rendering instead of DirectX. If you decide to try this out, leave a comment with your performance experience. This is aimed more for troubleshooting than a regular DirectX replacement.
2
   
Award
Favorite
Favorited
Unfavorite
What is Vulkan?
Vulkan is a low level graphics API similar to DirectX 12. The main difference between these two is DirectX 12 is proprietary to Microsoft while Vulkan is open source. What this means to the end user is in theory Vulkan can run on an operating system other than Windows 10 (it also runs on Windows 10) while achieving similar performance to DirectX 12. For instance if you're still playing on Windows 7, this method will work (of course you could still use DX11 on win 7).

It should also be noted that this is not a true native version of Deep Rock Galactic running Vulkan. What's being done instead is DirectX 11 calls are being translated on the fly into Vulkan then Vulkan talks to your computer. The reason we would want to do this is, as previously mentioned, you may be using an older operating system that doesn't support DirectX 12 or you experience significant performance issues using DirectX 11 or 12. These issues can range from poor performance to spontaneous crashing. Due to this active translation, playing via Vulkan with this method will result in a performance deficit compared to a nominally functioning DirectX 12.

In order to do this translation we need to borrow some technologies used in the Proton compatibility layer, specifically the DXVK library.

Initial reports indicate that the performance is worse than just running DX12. This is to be expected given the active translation. This solution was never meant to extract magical performance gains, merely provide an alternative solution to running the game if DX11 or DX12 refuse to function (or refuse to function well) on the host system.
The steps to get this thing running!
  1. Download DXVK from this Github.[github.com] The version isn't that important, just grab the latest one.


  2. Extract the contents into your downloads folder or wherever you want.


  3. Open the x64 folder. We're using x64 because FSD-Win64-Shipping.exe is a 64-bit program.


  4. Copy the two following files: dxgi.dll & d3d11.dll


  5. Navigate to the following folder where FSD-Win64-Shipping.exe is located:
    /Steam/steamapps/common/Deep Rock Galactic/FSD/Binaries/Win64/
    Refer to the image in step 6 for what that folder should contain.

  6. Place both dxgi.dll & d3d11.dll into that folder.


  7. Navigate the the Steam directory
    C:\Program Files (x86)\Steam

  8. Delete, rename, or remove SteamOverlayVulkanLayer64.json from that folder

    Removing this file will not remove your steam overlay, but this prevents the game from crashing on startup.

  9. Launch the game using DirectX 11.

Do NOT use DirectX 12 as a launch option. DXVK can't translate between DirectX 12 and Vulkan. You will need VKD3D.[github.com] I have not tested this and do not know if additional modifications are required.
Originally posted by VKD3D Github:
The intended way to use VKD3D-Proton is as a native Win32 d3d12.dll. This serves as a drop-in replacement for D3D12, and can be used in Wine (Proton or vanilla flavors), or on Windows.

VKD3D-Proton does not supply the necessary DXGI component. VKD3D-Proton can be used with either DXVK's DXGI implementation, or Wine's DXGI implementation. VKD3D-Proton implements its own IDXGISwapChain when built as a native d3d12.dll.


Optional steps
  • All files from the x64 folder from DXVK may be required to be pasted in the same folder as dxgi.dll & d3d11.dll

  • You can enable a vulkan overlay to verify that it's working by following the instructions in this link. [gaming.stackexchange.com]
Known Issues
All files from the x64 folder from DXVK may be required to be pasted in the same folder as dxgi.dll & d3d11.dll

Some memory leaks have been identified in other games using this method. I have had too small of a sample size to determine if this will happen with DRG or not. Monitor your system resources and quit DRG if you identify a memory leak. If you use this method you'll be going in blind. If you experience issues please let me know ASAP either here or on the DRG Discord (the discord is preferred as I check it more frequently).

Use at your own risk.
Plagiarism Alert
Hello all. Unfortunately my guides have been appearing, in full, in places I did not authorize. Please do not support plagiarism. This is the original location where this guide was compiled and can be verified by the published date. Thank you.
7 Comments
Super Necessary Nov 28, 2022 @ 9:24am 
doesnt seem to be working, using dxvk 2.0 or 1.10.3
B Nov 13, 2022 @ 8:58am 
idk why but dxvk does not work for me on drg :steamsad:
B Nov 13, 2022 @ 8:57am 
dxvk can improve the performance in some games like borderlands 2/tps gta 4 and many other games (i think dxvk works best on DX9 games)
NORU Mar 1, 2022 @ 1:13pm 
ah so yeah that make sence why its no real diffence for me
NORU Mar 1, 2022 @ 1:12pm 
oh my bad didnt really read the thing yet :D
The Loan Ranger  [author] Mar 1, 2022 @ 12:40pm 
I explained that at the very beginning of the guide. In some cases where the developers create their own engine, implementation of Vulkan has the potential to far exceed that of DirectX12. Example being Doom 2016 and Eternal. Furthermore DX12 is exclusive to windows 10 and 11. Vulkan runs on windows 7, 8, 10, 11, MacOS, & Linux for just the desktop operating systems.
NORU Mar 1, 2022 @ 12:22pm 
never actually seen any differences between vulkan and DirectX, always wondering why its even exist. its kinda same and even DirectX works kinda more stable i assume