Troubleshooting Hitman 3 on Linux

Installation

Legendary is an open-source CLI client for the Epic Games Store. You can download Hitman 3 by following the directions in the Quickstart section.

You’ll need to install both DXVK and vkd3d-proton in your wineprefix, or run it with Proton.
(GloriousEggroll’s Proton-6.0-GE-1 worked for me)

Crashing on startup

An old workaround in DXVK, which is enabled by default, will crash your game on startup. Until this pull request gets merged a new version is released, you will have to create a custom DXVK config to disable it.

  • Create the config file, to make the game think we have an NVIDIA gpu.
    echo "dxgi.customVendorId = 10de" > dxvk.conf
  • Export an environment variable, specifying the config path for DXVK. If you’re launching the game from Legendary or Lutris, you will have to change this in their respective config files.
    export DXVK_CONFIG_FILE="/home/$user/YOUR/PATH/TO/dxvk.conf"

Glitchy textures / foliage flickering / poor performance

vkd3d-proton, the DX12 compatibility layer, has had quite a few changes since the last official release (2.1). I’ve noticed a lot of my problems stemmed from this, even as far as crashing my game on a few levels.

This however means you’ll have to compile it from master. If you have a lot of trouble building it yourself, feel free to PM me and I can give you the d3d12.dll binaries (if that’s allowed here).

If you are still experiencing bad performance, make sure you’re using your graphics card’s vulkan implementation. You can read more about it here: Vulkan - ArchWiki

Still crashing?

  • Double check that dxgi.dll and d3d12.dll in pfx/drive_c/windows/system32 point to the correspoding DXVK and vkd3d DLLs. If everything is correct, you shouldn’t get the “Direct3D 12 is not supported on your system” error message.
  • Try this registry fix from Rodney, or try launching the game with different Proton builds. Some people have reported that earlier versions worked perfectly for them, while the new ones still crash on startup.

I wasn’t sure if I should post this in Technical Issues or the general forum, but I think it fits the general forum a bit better as Linux isn’t officially supported.

If anyone has any problems or other info, feel free to leave a reply.

7 Likes

I didn’t expect to see this game running on Linux in such a short time (with EOS + DX12 only combination), good work. I’m always impressed by the work done through vkd3d-proton and dxvk. Thanks for sharing, I imagine the situation will be even better in the future.

3 Likes

Hi, I’m the author of both legendary and the linked guide with the registry hack. Just wanted to throw in that in testing I still haven’t been able to get Proton-GE 6.0 to work on my system (Ubuntu 20.04 + nvidia 460.35). But vanilla wine-devel/staging + registry workaround and manual dxvk/vkd3d installation worked mostly fine. I’ve also tried a lutris wine build with fshack (5.6), that worked as well and only required manually installing the latest versions of DXVK and vkd3d-proton since fshack fixes the crash I had without the registry changes.

Like OP mentions compiling vkd3d-proton from current git master will fix most graphical glitches, although personally I didn’t see a big performance difference. Funnily enough the only glitch I’ve spotted since is also present on Windows, so that’s not vkd3d’s fault :stuck_out_tongue:
hitbugs

3 Likes

i somehow failed to notice that, great job on legendary!

also, i made a new wineprefix earlier to test a bit more, and noticed that Proton-6.0-GE doesn’t work out of the box for me either, but Proton-5.21-GE-1 does.

maybe another proton/wine version i was testing in that prefix changed something in system files or the registry, i’ll look into it more later.

Yeah if you ever used the prefix with a WINE version that has the fshack it’ll create the registry entries that I mentioned in my guide. Afterwards that prefix can be used with any other wine version and HITMAN will still work fine. That’s kinda how I discovered this in the first place, since HITMAN would crash when using a clean prefix, but not with my default one. Took me a while to nail down which difference between the prefixes actually resulted in HITMAN working.

Using 5.21 GE gave me some other crash on startup, I haven’t tried much yet however since vanilla wine worked mostly fine for me anyway.

Hmm yes, today I will resurrect a very dead thread to complain about my problems

Basically H3 takes up all of my VRAM when running on Linux with the same settings I was using on Windows, although it wasn’t doing so on Win10. Is there any way to make it not do that without sacrificing graphical quality?

Using the Steam demo currently by the way, as I haven’t felt the need to install the Epic version :smiley: