Linux/OpenGL: Lock fps in applications and games (works with everything OpenGL-based: WINE, Steam, no-Steam)

Recently I wanted to try modeling in Blender. But when I run it my GPU became noisy. It seems Blender works at over than 60 fps on my system, I tried NVIDIA tools but it doesn’t help.

Then I found frame limiter library by Björn Spindel (follow the link and learn more). With this tool you can set your own fps rate for any OpenGL-based application.

Let’s start with the installation.

During the compilation additional developer files required. On Debian-based systems they are included in gcc-multilib package. This package contains both i386 and amd64 versions, so you don’t need to add multiarch support to your system. Install this package:

sudo apt install gcc-multilib

The second step is to download the library sources with git tool:

cd /tmp
git clone https://gitlab.com/torkel104/libstrangle

Now, when download complete go to libstrangle directory and perform sudo make install:

cd libstrangle
sudo make install

If there is no errors then building was successful.

Here is how the simplest use looks like:

strangle <YOUR_FPS_RATE> /path/to/application

In my case I run Blender at 30 fps:

strangle 30 /opt/blender-2.80-linux-glibc217-x86_64/blender

Steam

In Steam, you can add fps locking by setting launch options. Right-click on a game in your library and select Properties->Set launch options. Add the following line in the input box (replace parameters with yours):

strangle <fps_rate> %command%

Learn more on this page (Using with Steam, VSYNC, Vulkan/OpenGL examples)

Leave a Reply

Your email address will not be published.