Difference between revisions of "Improving performance"
Jump to navigation
Jump to search
Line 10: | Line 10: | ||
*Enable <code>Fsync</code>. You need to use a compatible Kernel (like <code>zen</code>, <code>linux-tkg</code>, or <code>Xanmod</code>; '''kernel above 5.16 is compatible with F-sync out of the box'''), and enable it in Lutris: Right click the game -> <code>Configure</code> -> <code>Runner options</code> -> Enable <code>Fsync</code> | *Enable <code>Fsync</code>. You need to use a compatible Kernel (like <code>zen</code>, <code>linux-tkg</code>, or <code>Xanmod</code>; '''kernel above 5.16 is compatible with F-sync out of the box'''), and enable it in Lutris: Right click the game -> <code>Configure</code> -> <code>Runner options</code> -> Enable <code>Fsync</code> | ||
**If you can't or don't want to install a kernel that is Fsync compatible, you can also enable Esync. The performance boost is usually not as large, though. | **If you can't or don't want to install a kernel that is Fsync compatible, you can also enable Esync. The performance boost is usually not as large, though. | ||
*Install an optimized kernel like <code>zen</code>, <code> | *Install an optimized kernel like <code>zen</code>, <code>tkg-pds</code>, or <code>Xanmod</code>. (<code>tkg-pds</code> seems to perform better than <code>zen</code><ref>https://www.youtube.com/watch?v=qNzd57b0h08</ref>, but you have to compile it yourself) | ||
==Optional== | ==Optional== |
Revision as of 20:02, 17 February 2022
Major tweaks
You should definitely do all of the following tweaks. This will give a huge boost for all games. If your presets are bad, this might be in the magnitude of 300% more FPS:
- Set your CPU to maximum performance. You can use GameMode or CoreCtrl to do this.
- Set your GPU to maximum performance. Read the AMD/Nvidia specific tweaks section to see how.
- If you use X11, disable composition.
- Look at your thermals and if they are too high, adapt the fan speed.
Minor tweaks
This will not make a difference as big as the major tweaks. But depending on the game, it can still give you something in the scale of ~20% FPS. Maybe more, maybe less.
- Enable
Fsync
. You need to use a compatible Kernel (likezen
,linux-tkg
, orXanmod
; kernel above 5.16 is compatible with F-sync out of the box), and enable it in Lutris: Right click the game ->Configure
->Runner options
-> EnableFsync
- If you can't or don't want to install a kernel that is Fsync compatible, you can also enable Esync. The performance boost is usually not as large, though.
- Install an optimized kernel like
zen
,tkg-pds
, orXanmod
. (tkg-pds
seems to perform better thanzen
[1], but you have to compile it yourself)
Optional
- Use FSR. This might dramatically improve your framerate in GPU limited games but will definitely hurt the image quality.
Input lag, Desktop Environments, and x11/Wayland
This page needs work, for the following reason(s): Might be outdated, and there is missing data for various desktop environments and window managers.
- It appears that KDE Plasma (X11) with no composition (currently) is (one of) the best regarding performance, and input lag. Gnome is also ok.[2]
- You should only use Wayland, if you can enable FreeSync, because otherwise it will force vsync. If you are using KDE, and you have FreeSync enabled, the performance and input lag should be close to KDE X11 with composition disabled.[3] The input lag will increase by the "half frame" that is displayed with tearing. It's basically the question whether or not you want to wait for the frame to complete before displaying it. KDE Plasma is currently the best DE for Wayland.[4]
It should be noted that we are talking about milliseconds here (the best value is 20ms, the worst is 90ms). If you are not susceptible to this, you might not even notice. But generally speaking, the game will feel more responsive if your input lag is low. You might also notice stuttering if you 99th percentile is bad.
AMD/Nvidia specific tweaks
AMD
- Use CoreCtrl
- Add a profile for every game:
- For your GPU select Performance mode: Fixed and use the High setting (you may also adapt GPU fan speed here)
- For your CPU select Performance scaling: Custom and use Frequency governor: Performance
- Add a profile for every game:
- Use Mesa drivers
Nvidia[5]
This page needs work, for the following reason(s): not complete, and just copied from a reddit post.
- The Arch Wiki is the best place to start. Enable coolbits as the link explains. Good is, setting the coolbits value to 28 on anything currently supported (post-Fermi) to enable full control over the GPU (at least, as much control as you're allowed to be given).
- Use GreenWithEnvy for overclocking, setting power limits (raise or lower) and fan curves. It's the closest alternative we have to MSI Afterburner.
- Make sure to use a Proton version of 6.3, Experimental, Proton-6.21-GE-2 or later for Proton-GE and Proton-tkg/wine-tkg-git of 6.17 or greater (or build your own) for DLSS support. For Steam, you need to put
PROTON_HIDE_NVIDIA_GPU=0 PROTON_ENABLE_NVAPI=1 %command%
in your launch options (side note: there should only ever be one%command%
). - For non-Steam games, use the latest lutris or wine-ge-custom build, with Lutris, and make sure to toggle on DLSS support in the Configure -> Runner options menu (though this might be better-suited to a Lutris article, which should exist). For non-Steam games, you also need a dxvk.conf file with
dxgi.nvapiHack = False
in it. You can just create one (mine is~/Documents/dxvk.conf
) and setDXVK_CONFIG_FILE=/path/to/dxvk.conf
in your/etc/environment
. - Use DKMS. Every distro that has proprietary nvidia driver support offers a DKMS version.
- Use this to get minimal required drivers installed.
- For Arch-based distributions, use TKG's
nvidia-all
repo, with_dkms=""
set to true incustomization.cfg
.
- ↑ https://www.youtube.com/watch?v=qNzd57b0h08
- ↑ https://www.reddit.com/r/linux_gaming/comments/cii545/linux_input_lag_analysis_v26des_windows_10_1809/
- ↑ https://zamundaaa.github.io/wayland/2021/12/14/about-gaming-on-wayland.html
- ↑ https://www.reddit.com/r/linux_gaming/comments/rghr60/about_gaming_and_latency_on_wayland/hpox61p/?context=3
- ↑ https://www.reddit.com/r/linux_gaming/comments/sc9dv7/need_help_writing_wiki_article_about_how_to_tweak/hu54e1g/?context=3