Hello Tux lovers with a thing for historical RPGs! Just like many others I’ve been backing this game for many reasons and multiplatformity was one of them. As the release date was getting near, it was more and more evident we won’t be lucky enough to ever see the beautiful meanders of Sazava river . Fear not, it’s not all lost yet!
Last year Wine, a windows-to-*nix compatibility layer, has finally started getting patches for DX11. While their work is far from complete, it turns out the support is mature enough to be able to run certain games. Lo and behold how you run Kingdom Come: Deliverance on Linux today.
How to
First, I got the best results with wine-staging 2.21. Use your distribution repositories or grab an appropriate package at https://wiki.winehq.org/Download . Follow the instructions to install WIne-staging, make sure you have both 32-bit and 64-bit versions (usually called i386 and AMD64 respectively). After the installation you can run winecfg from terminal to make sure your virtual windows version is set to 7 or higher. You don’t need to install or configure anything specific, all further dependencies (DX libs, vcrun redistributable) are handled by Steam.
Second, you should get a Steam account and download a Steam installer (is there a standalone KC:D version at all?). Open terminal and run
wine SteamSetup.exe
from where you’ve downloaded the file. Follow the installer instructions to install Steam. If you install to non-default location, change all paths as needed in further steps.
Third, run Steam. You can do it either from your application menu if it’s been added in there or from terminal:
wine ~/.wine/drive_c/Program Files (x86)/Steam/Steam.exe
You should be able to log in to Steam without problems. Any steamwebhelper.exe errors can be safely ignored. You can now add your KC:D Steam key if you haven’t done that already and install the game.
Fourth, once the game is installed, you need to copy two files – d3dcompiler_46.dll and d3dcompiler_47.dll from:
~/.wine/drive_c/Program Files (x86)/Steam/steamapps/common/KingdomComeDeliverance/Bin/Win64Shared/
to:
~/.wine/drive_c/Program Files (x86)/Steam/steamapps/common/KingdomComeDeliverance/Bin/Win64/
Not sure if this is a Wine bug or a KC:D one, but if you skip this step, your game will end up with northing more than a black screen (so black it would make sjw happy… ).
Fifth, as the files are copied you can start the game. You can either hit the Play button from Steam or run it from terminal:
wine ~/.wine/drive_c/Program Files (x86)/Steam/steamapps/common/KingdomComeDeliverance/Bin/Win64/KingdomCome.exe
If you can hear the music but do not see anything, repeat step four. Once you get into the game menu, I’d recommend lowering the graphics settings to minimum due to poor performance you’ll gonna get unless you’ve got a hell-of-a-beast machine. No matter of what details level you want or set, set Water details option to at least Very high. With anything lower than that the game engine tends to draw a graphical glitch which you can see on a video below.
This should be enough for you to get the game running relatively fine given your PC is powerful enough. At least it does for me. Want a proof? Here you go:
https://www.youtube.com/watch?v=a1rWblKK-dY
Performance
On my setup I’ve been able to run the game without major boogs on a relatively stable 25-30 fps on low details. I know it’s nothing amazing but it still makes it playable. I did some testing but this is as high as I could get.
My spec:
Debian 9.3 Stretch x86_64
Linux kernel 4.14.12 Liquorix
Wine 2.21-staging (64-bit prefix)
nvidia binary 384.111
HW:
Intel i7 -4790K
32GB RAM
GeForce GTX 970
With Wine-staging 2.21:
Low = 25-30 fps
High = 20 fps
Very High = 15 fps
With Wine-devel 3.1:
Low = 5 fps
Yes, the newer version’s performance was terrible for me, I believe the extra patches in staging might make the difference here. Enabling CSMT in Wine-staging had no noticeable effect on performance.
Known issues
- Low water details cause broken polygons to be displayed. Fixed by setting Water quality to Very high or better. https://imgur.com/a/GksRd
- Temporary screen corruption may happen when stamina is too low and the picture is supposed to get blue-ish. Picture gets back to normal when stamina is regained. https://imgur.com/a/J2DpJ
- Desktop gamma does not get reset after quitting the game and it is reapplied with every start. This causes gamma to keep constantly increasing/decreasing depending on your in-game gamma settings. You can reset desktop gamma with a command in terminal:
xgamma -gamma 1.0
- After burying Henry’s parents there’s an interactive scene when’s Henry dreaming unconscious. This scene is supposed to have a reddish ambient lighting but for some reason it is almost completely black instead. Try to reach the exit by following objective A shown on compass.
- Torches don’t work properly. While the screen edges do actually glow, Henry’s field of view is dark like something is blocking the lighting effect. NPCs seem to not be affected by this.
- For non-US keyboard layouts it is not possible to bind certain keys.
.
Final thoughts
If this little guide did help you make it run, great. Please feel free to share your performance numbers as I’m quite curious if it’s possible to bump the framerate a bit higher.
Since Wine does also support MacOS to some extent, the half-eaten-apple users might want to try out these steps to make it run on their systems too but I cannot guarantee it’s gonna work for you.
There are bugs already filed in WineHQ bugzilla related to KC:D if you want to chime in. Credits for the DLL copy trick go to the actual bug reporter.
https://bugs.winehq.org/show_bug.cgi?id=44520
https://bugs.winehq.org/show_bug.cgi?id=44521