Linux Gaming Experience – 4

Often, gaming on Windows is more popular not just because of the availability of games on that platform, but also an entire ecosystem around it. Even if games are released natively for Linux, the ecosystem on that side has limited set of tools a pro might use – say to overclock the GPU, or just display stats in-game, like GPU usage. However, we have some tools which can do the job in Linux. In this 4th part of an n-series, let me cover the ease of setting up and using such tools.

4/n: Monitoring framerates, GPU stats, and over/ under-clocking in Linux

On Windows, the primary tool for overclocking and monitoring hardware stats is MSI Afterburner, with EVGA Precision and Zotac Firestorm as some other recent options. On Linux, for NVIDIA GPUs, we have GreenWithEnvy (gwe) for tweaking the GPU clocks/ fan curves, and ManguHUD for displaying stats on the screen (OSD).

Installation

I recently installed Manjaro on my system, replacing Mint until its newer LTS version arrives, just to check out the “bleeding edge” Arch ecosystem. I am impressed, I must say, with everything I need beyond official repositories being available in AUR and not having to compile anything from source separately yet. So this step is going to be pretty straight-forward for this article.

Both gwe and Mangohud are available in the Software Center, with former in official repositories and latter in AUR. So we need to enable AUR in the repository settings to install Mangohud. It will install any dependencies, and we are ready to use them right away.

To put things into perspective, I did try installing GWE in old Linux Mint installation too, and it was a breeze using flatpak. However, since Pop OS did not have flatpak support until the latest, it wanted to download 1 GB of flatpak resources back then.

Green With Envy

We can put gwe in the startup list, so that it starts on booting into desktop automatically. The interface is simple, and can be used to change power, core clock, memory clock, and set fan curves similar to MSI Afterburner (may not be as versatile as that, but gets the job done).

Screenshot from 2020-05-16 23-26-46
Green With Envy (with taskbar icon showing temperature) on Manjaro Linux

It can show the GPU temperature probed every second, on the taskbar, so in case you need just that info, you can play a game in windowed mode and see the temp at the top always. (The fan curves are not in my example above because I broke the stock fans of my card, and it is running with external fans not controlled by the GPU).

It does have the requirement of a minimum graphics driver version, so it won’t work for versions older than that. Also, certain settings are exposed for customization by NVIDIA only from GTX 10 series onwards (like underclocking , so will not work for older cards.

MangoHUD

This works for both Vulkan and OpenGL, and shows customizable stats on the screen. It can show

  • GPU temperature, usage, core clock speed,
  • GPU memory (VRAM) usage, memory clock speed,
  • GPU power consumption (as a percentage of TDP)
  • CPU temperature, usage,
  • Framerate
  • Frametime graph

etc., and can be configured to show on any of  the 4 corners on the screen.

Screenshot from 2020-05-16 23-35-50
ManguHUD OSD (Image courtesy MangoHUD Github Readme)

The config file can be modified to enable/ disable which stats we want to see. To enable it for a game, we can just add mangohud before the actual command to start the game:

$ mangohud /path/to/game.bin

or, for Steam, in the launch options,

$ mangohud %command%

Conclusion

These tools further bridge the gap of gaming on Linux, and are very user-friendly without complicated config files and shell scripts. When one is gaming after a day’s work, the last thing he wants is to write code for simple things, and kudos to the developers of these two tools that make it possible to enjoy the gaming session without that.

 

 

Leave a comment