I am aiming at 60 FPS, but I am struggling to keep it at any settings.
I have performance UI brought up, and I have noticed this. Presets:
- Ultra -> ~30FPS average, 90% GPU usage, 40% CPU, 65°C
- High -> ~45FPS average, 80% GPU usage, 30% CPU, 60°C
- Medium -> ~50FPS average, 40% GPU usage, 30% CPU, 50°C
- Low -> ~50FPS average, 20% GPU usage, 20% CPU, 40°C
As you can see, I cannot reach 60 FPS in-game even at the lowest preset.
What can I check/do in this case? The Linux binary is being used.
The linux binary is being used.
Try Proton. Currently, Proton is much more developed than the Linux support for many game engines.
Under Proton 8.0 presets (DirectX11 renderer):
- Ultra -> ~50FPS average, 100% GPU usage, 40% CPU, 70°C
- High -> 60FPS average, 90% GPU usage, 30% CPU, 55°C (When uncapped ~70FPS average)
- Medium -> 60FPS average, 50% GPU usage, 25% CPU, 55°C (When uncapped ~120FPS average)
- Low -> 60FPS average, 20% GPU usage, 20% CPU, 40°C (When uncapped ~160FPS average)
Yeah, looks like the official Linux build of the game is not as optimized as I tought.
The Linux build uses OpenGL so its slow. The windows version through proton will use Vulkan which is much faster.
The fact that it’s OpenGL matters little. It is a misconception that Vulkan is faster. But in this case, their implementation does seem slower.
Isn’t it true specifically on Windows, because the Windows implementation of OpenGL is lacking, but false on Linux?
Windows integrates only very early versions of OpenGL (just kept from the 9x releases). Any modern release is implemented by the driver of your 3D accellerator/video card.
OpenGL on Windows has always been kinda of a disaster (NVIDIA’s a little less, but AMD and Intel’s are just abysmal), DirectX support being more developed is night and day.
Linux is pretty much OpenGL’s home. But a lot of applications just are not optimized well enough to show it. Vulkan being faster is just because the software using it have cleaner codebases for being newer.
Unfortunately, it’s pretty common for the linux version to have optimization issues and perform worse than the windows version through proton.
It does really highlight what a great job the various proton/wine/dxvk/etc projects have done with running windows games efficiently though.
It struck me as odd actually, as I have always believed this to be a beautifully optimized game (it still use). I’ve used the Linux build on my laptop (with propritary NVIDIA) and runs exactly like the Windows version.
On Steam Deck under Proton I am now using the High preset, then manually maxed out environment quality, weather quality and population and still remains at fixed 60.
It’s been a while but I think I also struggled to hit a solid 60 without substantial graphical downgrades. The biggest thing to check, if they haven’t fixed it, is if you’re using proton? The Linux version of the game, at least as of last year, is total crap. Running the Windows version through proton is a substantial improvement. Hopefully enough to get you to 60fps.
Yeah, I am now.
As replied in another comment, I switched to Proton 8.0 and can now reach fixed 60. Playing at high preset and manually maxed out environment quality, weather quality and population.