Saving Money with Linux

Saving Money with Linux: Gaming

Gaming is often synonymous with guzzling electricity.

That’s because modern graphics card can be extremely power hungry and can sometimes generate incredibly high frames per second (fps) that a monitor can’t display. For example, most gaming monitors offer refresh rates of at least 144 Hz. If your graphics card is producing 300 fps in a game you’ll literally be wasting electricity for no gaming benefit unless you’ve got a gaming monitor with a very high refresh rate of say 360Hz. If not, you graphics card will be functioning mostly as an (expensive) mini heater, and potentially unnecessarily reducing its lifespan.

The top graphics cards have staggering power limits. For example, the NVIDIA GeForce RTX 4090 has a power limit of 450W. Even midrange graphics cards have bulging power limits. The NVIDIA GeForce RTX 3060 Ti has a power limit of 200W which can be increased to 216W.

When the RTX 3060 Ti is pushed to the power limit our modest 12th generation Intel i5-12400 PC peaks over 300W in many games. Playing games for even a couple of hours a day therefore doesn’t come cheap given the current electricity price. It’s therefore worth exploring ways to lower that energy footprint without sacrificing enjoyment.

Set a power cap

Saving Money: Gaming
Click image for full size

There are a few ways we can set a power cap on a NVIDIA graphics card.

In the image to the left, we’re running GreenWithEnvy. This utility provides information about the card present in a system together with the ability to control its fans and overclock the GPU and memory.

The tool can also set a power limit. Just move the power slider from the default 200W. The image to the left shows the power slider moved to 100W, the minimum setting for the RTX 3060 Ti.

We can also set the power limit with the command-line nvidia-smi utility. For example, to set the power limit to 100W, type:

$ sudo nvidia-smi -pl 100

Cap the fps rate

There are a number of ways to cap the fps rate in a specific game.

Your first port of call should be to check what options are available in a game. For example, many games allow you to set a maximum fps limit.

What if the game doesn’t allow you to set a limit? If you’re from a Windows background you’ll probably know NVIDIA Control Panel or Rivatuner Statistics Server are the most popular ways to force a game to run at a specific frame rate. Neither of these tools are available for Linux. Instead we recommend using libstrangle, a simple frame rate limiter for Linux. It’s simple to use libstrangle with Steam too. We also recommend MangoHud as an effective alternative.

Limit refresh rate What other options are there? Another way to cap the fps is to simply run the monitor at a lower refresh rate. There are a number of limitations with this approach though. For example, some gaming monitors don’t allow you to use a 1ms response time mode with a lower refresh rate.

In the image, you’ll see we’re running our monitor at 144Hz refresh rate. If we’re happy playing games at 60 fps, we can lower the monitor refresh rate to 60Hz. This will lower power consumption if a game lets us enable vertical synchronization, as this will synchronise the frame rate with the display refresh rate.

A graphics card will draw far less power running a game at 60 fps than 144 fps.

Vertical Synchronization (VSync) / NVIDIA G-SYNC

VSync is a feature that seeks to ensure a monitor is in sync with the GPU and displays every frame the GPU renders. If you play a game that runs at 100 fps on a 60Hz monitor, you might experience screen tearing. VSync synchronizes the refresh rate and frame rate of a monitor to prevent screen tearing. VSync does this by limiting the GPU’s frame rate output to the monitor’s refresh rate.

There are adaptions of Vsync. NVIDIA’s G-SYNC adapts a display’s refresh rate to match a game’s framerate. This typically creates a smoother gaming experience with no tearing, stuttering or sharp frame rate drops.

Depending on the hardware, VSync shouldn’t be enabled in competitive games, especially first-person shooters, as it can add significant latency.

Lower the game’s graphics setting

The harder a graphics card has to work, the more power it draws. An obvious way to reduce power consumption is to lower a game’s graphic settings. Obviously, this comes at the price of reduced visuals, so this is our least preferred option.

With a low-end graphics card, to achieve a respectable fps, it’s likely you’ll need to do this anyway if the game is very graphically demanding.

This article focuses on NVIDIA graphics card simply because we don’t own any AMD graphics card. If you’ve got tips to reduce power consumption with AMD cards, please share your thoughts in the comments section below.

All articles in this series

Saving Money with Linux
Getting StartedWe kick off the series with everything you need to start saving
Power SettingsWe look at the 3 different power settings and some useful open source tools
BIOSExplore changing settings in the BIOS to reduce power consumption
PowerTOPAnalyze power issues and receive optimization suggestions
Computer OffPower consumption when computers are off
GamingGaming doesn't have to be energy intensive

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.