jonathanhrll
Published
Frequent stutters while moving around, similar to Victoria 3 (although they use completely different engines).
I tried several things:
- Change to Proton 7.0-6: Paradox Launcher works, but the game crashes a couple of seconds after starting
- Change to Proton 8.0-2: still stutters
- Use AMDVLK 2023.Q2.1: less stutters but worse performance in general (AMDVLK shader compilation still bad).
- Use AMDVLK PRO 22.40: way less stutters, better performance, lots of artifacts in the UI.
CPU utilization never go past 15% and GPU utilization sits at 70-80% most of the time, which just points to bad optimization, so there's not so much you can do about it.
Badly optimized in general but runs fine on Linux, no crashes so far.
env --unset=SDL_VIDEODRIVER VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json vk_radv %command%
Works flawlessly. I'm getting 60+ FPS on Medium settings (only hair at High), some regions can maintain a stable 70+ frame rate, reaching 90fps in the less demanding areas.
The only thing I want to add is that FSR3 FG (Frame Generation) does not work as it should if I use Mangohud. This is nothing new for me, same happens with Ghost of Tsushima, so if you're having issues with FSR3 FG not doubling your frame rate or having bad Frame Pacing, make sure you don't have the Mangohud layer enabled (just hiding the overlay offers no help btw).
mangohud %command%
- Some UI elements don't work very well with Mouse, clicking on them don't work.
- Don't detect the DualSense Controller as a Playstation controller, happily there is an option to switch controller icons.
- If you Alt-Tab, the game may think your Alt key still pressed when you switch back, can be fixed by pressing Alt again while in game (Xwayland specific issue).
- The game slows down whenever it starts streaming data to the GPU, with high CPU usage on all cores.
- Interpolation technologies (FSR2/XeSS) are absurdly slow on Linux, slower than native rendering.
- TAAv4 and TAAv5 tanks performance, switching to FXAA improved a lot the FPS, reaching 100FPS+ in some missions.
The game is more stable on Linux for AMD users than on Windows, I was able to progress the Mr. Freeze mission and use Batgirl's Batarang skill without crashing (it always crashes on Windows).
Sadly, the game still not perfect on Linux, after 12 hours I started getting some soft and hard crashes.
Hard crashes are being caused by the same problem as of on Windows, but far less often on Linux (with the exception that on Linux amdgpu driver still can't recover from a reset).
Soft crashes can happen if you continuously hover over skills on the upgrade screen with the Mouse (the game completely freezes), but it works fine using Keyboard or a Controller, or during massive data streaming to the GPU (high CPU load), which makes the game to lock out, freeze then crash (probably the same problem as the hard crash, but being caught by the driver instead of arriving the GPU and causing a reset), lowering texture quality may help.
If you're having performance issues, try this:
- Change Anti-Aliasing option to FXAA (TAAv4 and TAAv5 are very slow on Linux).
- Don't use any Interpolation technique (TAAv4/v5, FSR2, XeSS), they are inexplicable slow on Linux for this game individually, slower than native.
If the image is blurry (because FXAA is cheap anti-aliasing that blurs edges), enable FSR sharpening, 3 or 4 should be enough.
Doing those simple changes I was able to increase the FPS during closed space missions from ≃60FPS (max 80FPS) to ≃80FPS (max 120FPS) on my RX 6600 XT.
The game runs seamlessly, they haven't used any advanced hardware feature, so there wasn't any problem with the game at all.
The game takes a bit time to open, even in SSD, I think that it is not a problem with the game itself, but with Proton, other than that, the game runs very very well, just like it runs in Windows, as the game is capped to 60fps, I can't see the max FPS the game runs, but it keeps stable in 60fps (my GPU is a GTX 1660 OC). The game is totally playable on Proton.
The build I used to test was 5640378 (Latest game version at the time I written this, which is 1.0).
gamescope -e -w 2560 -h 1440 --adaptive-sync --force-grab-cursor -f -- mangohud %command%
Not related to Wine/Proton as well I think, the game has some ghosting because it uses TAA and you cannot disable (Cyberpunk had the same problem), Upscaling doesn't seem to help because ghosting on Temporal Algorithms are just symptoms of Motion Vectors not being fed to the pipeline (or just not enough) and Upscalers uses the same Vectors that are used for TAA, which means that in the end you have the same problem or way worse.
Whenever the game changes the cursor asset, it briefly switches to the Desktop Environment Cursor one before switching to the new cursor asset. Using --force-grab-cursor
fixes the problem, with the downside that you have to Alt-Tab to use a secondary screen.
Probably not related to Wine/Proton itself, this game is badly optimized, Upscaling is basically a must for this game even on high-end cards. To make things worse, some upscaling implementations introduce a lot of overhead on Linux, I've seen this happening in a range of games, and this is one of those (probably Wine/Proton optimizations may help in the future).
So using FSR does not improve the performance as much as it could and messes with frame pacing, essentially making the game feel worse despite higher frame rates.
This can be easily tested by running the game at 1080p or lower resolutions using gamescope, the game runs way smoother than 1440p with FSR Performance Preset which is basically 720p upscaled to 1440p, so in theory it should run way better than 1080p native, but it doesn't.
Also, very rarely UE5 just decides to tank my performance randomly with no apparent reason, going from 50-60fps down to 20-30fps. Restarting the game fixes the problem.
The game is good, the performance is bad. It's just a regular UE4/5 game release, even smaller indie games when ported to UE5 gets its performance degraded. So if the performance is bad, it's not Wine/Proton's fault, it's just the game. I recommend using gamescope
and running the game on lower resolution and using FSR 1 to upscale it instead of using in-game implementation because the frame pacing gets really messed up.
Working seamlessly on Arch Linux since the Early Access on 1st September with mesa and mesa-git
- Loading times are slightly longer on Linux (from 1 to 2.5s longer). It loads faster on Windows with a 3480 Mbps NVMe than on Linux with a premium 7000 Mbps NVMe.
- Title Screen has a really bad frame time pacing, with a lot frame time spikes which causes juddering, but this only happens in the Title Screen and nowhere else in the game (pause menu, for example, does not have this problem).
- FSR2 also have a higher frame rate impact on Linux than on Windows, but that's already common for FSR2 on Proton, it all depends on the implementation. I was using it at 100% as an alternative AA method, but eventually I just forced TAA off and used vkBasalt SMAA instead, looks better and runs better.