Steam for Linux

Steam for Linux

Недостатньо оцінок
How to achieve smooth console-like 30 FPS on your PC with Linux
Автор: Tim
Turning your old/low-end PC into a modern console with proper 30 FPS lock
   
Нагородити
До улюбленого
В улюблених
Прибрати
Introduction
Draft version. Guide will be complemented by additional info.

This info may be useful if you you have old or low-end PC which cant handle modern games well and smooth at high frame-rates. Forcing to run games at playable, proper 30 FPS in Windows on regular non G-Sync/FreeSync monitor is nearly impossible. You will always stuck with incorrect frame pacing, frame interval or with enormous input lag which will make your game experience terrible, not console-like.

This may be also useful for Linux users too because for some reasons (poor video driver performance, poor Linux port) sometimes hard to achieve stable 60 FPS so perhaps capping at 30 FPS is better decision instead of having choppy gameplay.
The fix
You can entirely turn you PC in something like console with SteamOS or you can install any regular Linux distribution for this.

First you need to download and build tool called libstrangle. Build process is very very easy and quick. I hope we will see packaged version of this piece of software for popular Linux distributions but so far go to https://gitlab.com/torkel104/libstrangle download and build it for your system. Building process described on libstrangle page.

RPM package for Fedora in COPR:

sudo dnf copr enable atim/libstrangle && sudo dnf install libstrangle -y

This tool worked for me in all games which i tried except games which use Vulkan API. Steam games, non-Steam games, WINE games, WINE+Steam games. If you have 60 Hz display to run your game at proper V-Synced 30 FPS just run it with command:

VSYNC=2 strangle /path/to/game

For Steam game set launch option in Steam game properties:

VSYNC=2 strangle %command%

To achieve smooth tearing-less 30 FPS experience and avoid input lag in the same time try to run your game with command:

VSYNC=2 strangle 30 /path/to/game

For Steam games:
VSYNC=2 strangle 30 %command%

Possibly in some cases you will need to cap your frames at 29 if you want avoid input latency. More info here.

You can also use libstrangle as frame rate limiter like popular Windows software for this task - RTSS (Rivatuner Statistics Server). Example of 60 FPS limit:

strangle 60 /path/to/game

All additional info you can find on libstrangle site.
End result
In the end result we have smooth, judder-less 30 frames per seconds with correct frame intervals and much less input latency than we usually have on Windows when trying to force run game at vsynced 30 FPS. NVIDIA have similar feature Adaptive Vsync (Half Refresh Rate) but it adds enormous input lag even with 1 pre-rendered frame option. In my personal experience i found 30 FPS with this trick on Linux even more playable than 60 FPS with Vsync ON in the same game on Windows in terms of input latency. Test it for yourself in fast-paced games and share feedback.

Only one thing which i didn't tested on NVIDIA card but tested on AMD card and it is not work: Adaptive Vsync[www.khronos.org]. I guess it already works on NVIDIA cards on Linux too. About 4 years ago this feature already was made for Mesa driver but for some reasons not included so it doesn't work on AMD cards.
Коментарів: 4
Tim  [автор] 10 жовт. 2018 о 16:46 
@Matheus B. Yep, unfortunately this doesn't work with Vulkan games.
Matheus09685 10 жовт. 2018 о 9:52 
não funciona em vulkan?
Shao 21 берез. 2018 о 4:34 
Good guide! :pg_thumb:
SirZarmo 18 лют. 2018 о 8:01 
Ho my, excellent and informative....