War Thunder currently has a hidden Vulkan renderer preview you can test out (on Linux!)

SEE LATEST POSTS. War Thunder has regressed dramatically on Linux to the point it’s unplayable.


The gist of getting it to work:

  1. In your War Thunder directory, make a blank text file under /content called pkg_vulkan.rq2 (you can optionally put 1 as the only data in the text file)

  2. Launch the updater, making sure you’re on the work-in-progress build. Let it download the required files. Make sure to set the resolution to the native resolution of your monitor and that the window is Fullscreen. (If your resolution is not listed, change it in config.blk later on) Once the download is done, close the updater. It is not what we will be using to launch the game.

  3. Confirm in /compiledShaders that these files are present:
    game.compatibilitySpirV.ps40.shdump.bin
    game.SpirV.ps40.shdump.bin

  4. Edit the config.blk file and replace renderer2:t=”auto” and driver:t=”auto” to renderer2:t=”vulkan” and driver:t=”vulkan”. Set your resolution where resolution:t="*" is under the syntax resolution:t="WIDTH x HEIGHT"

  5. Open another TTY. (Ctrl+Alt+F2-6) You currently CANNOT use a Desktop Environment to launch reliably without causing major conflicts with the entire window manager turning the X server COMPLETELY BLACK. Again, make sure you’re running fullscreen at your monitor’s native resolution in config.blk before doing any of this.

  6. Login, and cd into your War Thunder directory under /path/to/war/thunder/linux64

  7. launch War Thunder from the TTY console using startx ./aces

  8. When you’re done your game session, quit the game and logout and you will be returned to your usual desktop environment. DO NOT CHANGE BACK TO THE TTY THAT HAS YOUR DESKTOP ENVIRONMENT AT ANY POINT. It will cause a fatal crash, as there will be conflicting X servers fighting for each other. If sound is no longer present when you return to your DE, logout again and log back into your desktop environment.

Through testing, it’s actually playable. Minus one map (Karelia) that suffers from a lot of asset loading issues, dropping down to 10fps in flight. (likely due to the high volumes of trees)

My test system was using Kubuntu 18.04 on Kernel 4.17.5, Nvidia 396.24.10, Vulkan 1.1.80, and a 6 core hyperthreaded processor with a GTX 1080. Tests were done on “Max” quality with anti aliasing turned off at a resolution of 1920x1200.

Result for Tank Battle (CPU):

Average FPS: 85.6
Minimal FPS: 72.0
Rating: 4894

Tank Battle (CPU) on the same drivers but OpenGL 3 averages only 30-38fps on “Medium” quality settings due to the (now) single threaded nature of OpenGL 3 and War Thunder. (especially on Nvidia, which was what Gaijin originally optimized for)

The official Gaijin thread for people testing this is here:

With proper optimization, this could be the start of something great!

6 Likes

Okay, a few weeks on and unfortunately stability has taken a gigantic nosedive, with frequent freezing on random maps.

It’s also a bit of a gongshow on the official thread because I guess Gaijin has adopted “Don’t ask, don’t tell” with bug reports on Vulkan cause it was never supposed to be public yet. They’re not responding to any bug reports and the community is clashing over “That’s what you get for using unreleased software.”

Unless you are a low level debugger, don’t play using Vulkan for now. Stability has gotten worse.

Their focus is obviously their next game, “Enlisted” right now.

After another month of benchmark based testing, the consistently crashing benchmark on Vulkan is “Battle of Berlin.”

Battle of Berlin crashes the Vulkan renderer 90-95% of the time. No effort is being taken to debug it cause as I said a while ago, “Enlisted” is Gaijin’s focus.

I’m calling it. Vulkan with War Thunder (natively) is officially vaporware.

Interest is waning with DXVK 0.90 being just released, and the Windows client running in 32bit with DXVK is by far a more stable experience. (it’s slightly lower FPS than native, but it actually works without crashing in-game.)

Basic instructions for Wine/DXVK based installation:

Make sure you are using the latest drivers with the VK_EXT_transform_feedback feature, DXVK 0.90+, and The Lutris Tkg 3.21 Nopulse build.

Install War Thunder through Wine either through Steam or the standalone installer.

Navigate to the config.blk file inside your installed War Thunder folder and change this in the first line after all the files are installed:

clientBitType:t="32bit"

Otherwise, due to a architecture issue with the dbghelp.dll, the game won’t launch.

I will assume you have taken all other necessary steps to get esync and DXVK working. The only critical thing is explicitly telling it to run the 32bit client, and not enabling esync for this game specifically. Esync causes freezing.

This is the only true STABLE way to play using War Thunder Vulkan on Linux… Until it crashes on exit… (with Esync enabled) but that’s literally it. Battle of Berlin over multiple runs does not crash here.

Edit: (December 16th) Called it too soon. There’s a benchmark breaking bug in the latest patch that breaks certain benchmarks 100% of the time when using Wine. Tank Battle (CPU), Eastern Front, and many other benchmarks (surprisingly, not the Pacific ones) will instantly crash on Wine on the current patch number 1.83.1.22

Yikes. There’s a giant login crash bug for people using Wine with War Thunder… Looks like Gaijin screwed it up again. Benchmarks insta crash too.

Edit: Problem persists in 1.85.0.x. War Thunder is currently sub-optimal to play on Linux right now. None of the solutions work as well as Windows or Mac.

I’m about to buy a PS4 Pro just to end this stupid headache.

You know what, I’m calling it. War Thunder is dead on Linux. There is no good way to play this game anymore on Linux. There will not be enough of a response to perk the ears of Gaijin cause they’re focused elsewhere, and Linux support is non-existent for this game.

If you were thinking of playing War Thunder on Linux specifically, don’t. A PS4 will have a superior experience to the Linux version right now.

To my surprise it currently appears to be working on my KDE plasma (arch linux) system.

It even launches via the Launcher and in Windowed mode, but I did have to read only protect the config file

chmod a-w config.blk

I also loaded the game with these steam launch options

XMODIFIERS="" MESA_GL_VERSION_OVERRIDE=4.1COMPAT %command% 

The weird problem is that when I enter the window with my mouse I get a black screen on both monitors.
When I leave the window with my mouse by clicking outside it, it goes back to normal…

This might be a compositing issue or something the like. But aside from the mouse focus black screen, plasma appears to handle it quite gracefully.

Edit: The game even entirely works fine (and really fast) but I can only see it when the mouse is not focused on it.
So quite probably a compositing issue.

1 Like

Really except for the black screen bug, as long as I don’t move mouse into the window everything works great.

Here’s the Tank Battle (CPU) benchmark run on an RX580 + 1700X

And from Berlin (where FPS are quite astound compared to the OpenGL version!)

One further problem found:

I have two RX580’s in my system and once again like many other Vulkan titles - War Thunder doesn’t do correct GPU enumeration and launches on the last GPU found in the enumeration (thus the second GPU) - this means that it actually runs a lot slower than if it ran directly on the first card and could skip the frame copy operations. Like if I only had the first GPU installed!

This GPU to GPU copy might actually also perhaps be to blame for the black screen problem

Note the 100% GPU usage on the second card, my monitors are connected to the first card however.

EDIT: Basically this issue:

It’s actually a problem with the Vulkan spec (it doesn’t properly provide an API call to find the device connected to the primary display out etc)

1 Like

Trying to use Wine + DXVK to get around the black screen issue is kind of fruitless at the moment and results in more crashes. That used to be the most stable method of playing the game, but no more.

They have NEVER solved the KWin black screen issue and likely never will.

UPDATE:

Seems like DXVK 1.0.1 and wine-tkg-4.3 (and 4.4) is working again: https://forum.warthunder.com/index.php?/topic/415043-testing-vulkan/&do=findComment&comment=8049608

Thank you for continuing to track this. While I’m not super in to that game per say, I do place a high value on games that are using Vulkan.

I’ve had that problem with various software and i’m amazed that no one bothers to just give you the option to pick a GPU if there are multiple cards detected. It picks the wrong GPU for me every time on some stuff. Just give me a parameter to pick, if your detection is so broken, ffs - don’t just guess incorrectly.

I stumbled over the fact that Warthunder has an unofficial vulkan build. On my Fedora box with only the free AMDGPU driver it runs absolutely amazing and without any graphical errors but way more detailed graphics compared to the OpenGL 3.1. It is only annoying that after every smaller patch I have to reenable the driver in the config.blk file.

Unfortunately it is neglected and the devs don’t put a single thought into it. wine-tkg and DXVK 1.0.1 is a better option right now.

I’m going to jump right into this thread, I just picked up the game and so far on Arch it has worked reasonably okay. The only thing I have run into quite often is the game will freeze randomly and only unfreeze when I shoot my cannon
Edit: I take that back I have no sound for some reason, haven’t figured that out yet

1 Like

Use Wine + DXVK. It’s a lot better than native Vulkan. The native Vulkan freezes are unavoidable.

Latest Wines actually support the 64bit client, but you will want to have composition on to avoid intermittent “glitching” on KDE.

I’ll try that. I run I3wm so we’ll have to see if there is glitching

I am still running Warthunder with native vulkan just fine. Also I can avoid changing config.tlk every time by

~/WarThunder/linux64/aces -driver:vulkan -renderer:vulkan

Yeah, but they WANT you to use the launcher because that’s how the game updates. If you directly launch, sometimes it will warn you that directly launching the game is unsupported.

I think the glitchiness in Wine + DXVK is caused by the CEF process using hardware rendering. You will have to add the Wine CEF patches to the specific filenames for War Thunder’s CEF process to prevent hardware rendering for the browser portions of the UI. This should prevent glitches when you have composition off, but I haven’t tested it because it needs manual patching of the source and I don’t have those resources.