I Finished Witcher 3 Thanks to DXVK
Following my earlier post, I have been hard at work on Witcher 3 on Linux, and it’s been a blast. I have finally finished the main campaign of the game (along with numerous secondary quests and contracts), probably with more than 60 hours in. The game has been running pretty much flawlessly, and thru my run I have updated to the latest DXVK pretty much as soon as they were released (now in 0.54). No need to dwell on this for too long, but here’s the key take-aways of a pretty long experience with DXVK now:
-
Assets using Stream Mode on DX11 will not be displayed correctly and will appear as a mess of polygons. There is apparently no good way to emulate the Stream mode function in the Vulkan spec so far, so this cannot be solved until Vulkan evolves further, at least this is my layman’s understanding.
-
This being said, 99.9% of all assets in Witcher 3 were rendered correctly. You will find the odd monster where the stream mode is used (such as most golems, sirens on the sea, some flying monsters, and some characters like dopplers too), and it’s unfortunate when it happens, but it’s rare enough that it did not break the fun I had on the game - it becomes mainly a bigger problem when it concerns a boss battle for example. When I say 99.9%, this may be more like 99.99% actually: there are just so many plants, items, characters and monsters that are rendered just fine, that the few graphical glitches stand out even more in a world that is rendered pretty much perfectly most of the time. Of course, I would prefer everything to be rendered as it should, but DXVK and Vulkan are still young. Let’s give them some time.
- I could play through the game with a steady 30fps pretty much all the time, with some areas (less complex) running at 60fps. When in Novigrad for example, it was pretty much always 30fps since this is a a very detailed and polygon heavy city (lots of characters in the streets too), while in Skellige the framerate was more likely to stay at 60fps. I can’t say I was particularly bothered by 30fps, since it beats booting back into windows any time of the day.
This was my experience on Nvidia and it seems like AMD users are suffering from more glitches (this may have improved recently as Mesa, RADV and DXVK are progressing fast). The github issues tracker also shows that driver developers are actively watching bug reports - at least folks from Nvidia - and including improvements for the new beta drivers.
All in all, DXVK is really an extraordinary piece of software that we should all celebrate (along with WINE, of course). It opens up a large library of DX11 only games that were just not possible to run on Linux before with acceptable performance. And since most of them were/are never going to get any Linux port, this is the best option we have at the moment to play games like Witcher 3, Fallout 4 and GTA V on Linux.
Let me just end on the fact that Witcher 3 is an extraordinary game. Great story, with characters who actually have lines that don’t sound like cliches from Hollywood movies, a huge world with tons of quests that don’t feel like grinding at all: even the more modest ones have proper background and description - it’s just well written, faithful to the universe of Sapkowski’s books (with some differences), including choices with meaningful impact on some parts of the story. It is really, really a shame the game never got a proper port on Linux.
My next step? Well, the two extensions, Hearts of Stone and Blood and Wine, await. I’m up for spending more time in Geralt’s company.
EDIT: I have just noticed that Witcher 3 Definitive Edition is available right now on sale at -60% on GOG, DRM-free (it includes all DLCs as well) - this is a good choice if you consider getting the game.