DIRT 5 Now Playable Through Proton!

Great news, racing fans. Just four months after the release of DIRT 5, I can confirm the game works fine using the latest commit of vkd3d-proton. Here’s the rundown for how it works:

  1. Use the following launch parameter for the game: WINEDLLOVERRIDES="atiadlxx=b" %command%
  2. Use either Proton Experimental or Proton 5.13-6 (don’t change versions too often though; it may trigger Denovo DRM for 24-hour ban)
  3. Install dependencies for vkd3d-proton: wine, meson, glslang, mingw-w64
  4. Clone the vkd3d-proton repository, including submodules: git clone --recursive https://github.com/HansKristian-Work/vkd3d-proton
  5. Inside vkd3d-proton directory, compile the DLL files with: ./package-release.sh master /your/target/directory --no-package. Change “your/target/directory” to wherever you want the DLL files.
  6. Copy the 64-bit DLL file (d3d12.dll) that’s inside “vkd3d-proton/x64” to DIRT 5‘s installation directory
  7. Run the game, wait patiently
  8. Profit

If in the event you already have the source for vkd3d-proton, run git pull followed by git submodule update --recursive, then run the package release script to update the DLL files.

Here’s a video tutorial (with gameplay footage) as well:

This was tested with a GTX 1660; not sure what the results will be for AMD users. I’m also not sure whether Dirt 5 will run on graphics drivers prior to 460.56. Here’s the benchmark results (same graphics card with an Intel i5-8400 processor and 24 GB RAM):

DIRT 5 Benchmarks

As for the hurdle Dirt 5 had, this is what it was according to gofman from GitHub:

The game depends on consistent GPU identification through different sources and crashes if can’t match the adapters due to PCI ID mismatch (which happens when nvapiHack is on but winex11.drv/vulkan/whatever still reports real PCI ID).

He further goes on to say:

It doesn’t start on AMD right away because it wants to load atiadlxx.dll library (proprietary AMD driver extension)…We have a stub implementation for atiadlxx in Proton which is disabled by default. Running with WINEDLLOVERRIDES=”atiadlxx=b” with Proton Experimental and latest vkd3d-proton allows the game to start both on Nvidia and AMD (minus the hang on the initial screen mentioned above) without any further tweaks. On Nvidia matching the device ID actually doesn’t matter, it is atidlxx which it wants to load if sees AMD from dxgi. With the mentioned override the game looks playable on Nvidia (started the turorial successfully).

After replying to him several times to get the same results on my end, I finally got the game to work. Thanks gofman for the help! For more info on this, check out the issue on GitHub.

If any of you out there have this game and are using AMD, let me know your success rate. It’s great to see yet another game added to the 7000+ games already compatible with Proton.

EDIT (3/7): Game is free to try and 50% off on Steam until Monday, give it a shot!

5 1 vote
Article Rating
cow_killer

cow_killer

Subscribe
Notify of
guest
5 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Tico

I can’t compile because I can’t find how to install widl, can you upload a compiled one? (IDK if it’s legal)

Tico

I find it, you gave me a nice clue. I’m on OpenSUSE, this package is on wine-staging-devel. My idea is to try to run GRID2019, but no success (at least now I reach to the logo screen)

The_aquabat

For AMD this doesn´ t work… for AMD you need Mesa 21.1 rc, and you don’t need to add DLL overrides. but you do need vk3d proton though.

The_aquabat

DLL overrides breaks the game on Mesa… the two things that you need are vk3d proton and Mesa 21.1.0rc.