Previously I followed Valve’s documentation to build a ‘hackendeck’ using a mini PC to emulate their highly anticipated Steam Deck. Interestingly the ‘hackendeck’ uses a Linux OS, specifically Manjaro, as whilst Valve based their earlier version of Steam OS on Debian, they have now switched to being based on Arch.
If the ‘hackendeck’ had just been Steam on Windows then to review gaming performance I’d just use MSI Afterburner. Until now, however, for Linux, I’ve always had to estimate the average FPS as I’ve not been aware of a good reliable equivalent.
Fortunately several ‘commenters’ recommended using MangoHud, a Linux open-source Vulkan/OpenGL overlay for monitoring FPS, CPU/GPU usage, and temperatures similar to MSI Afterburner. So now I’ve been able to capture the average frame rate for the games I previously tested and I’ll present them below.
MangoHud Installation and configuration
The installation of MangoHud was extremely simple. First I installed an AUR helper with the command
1 |
sudo pacman -S yay |
I then used this to install MangoHud with:
1 |
yay -S mangohud lib32-mangohud |
Then after creating the directories ‘.config/MangoHud’ and ‘mangologs’ I copied the example configuration file ‘/usr/share/doc/mangohud/MangoHud.conf.example’ to ‘.config/MangoHud/MangoHud.conf’ and tweaked a few of the settings like adding temperatures, removing frame timings, setting an output folder and changing the on-screen position and toggle keys so as not to conflict with in-game keys:
Finally, I simply started Steam with ‘mangohud steam’.
Gaming Performance
Starting with Counter-Strike: Global Offensive, using default settings with 1280×720 resolution the average frame rate was 90.0 FPS:
as demonstrated by the following short screen capture:
In Grand Theft Auto V using default settings, 1280×720 resolution and ‘VSync’ off, during the final built-in benchmark the frame rate average was 67.7 FPS:
The following is a short extract captured during the benchmark:
Next, I repeated the Shadow Of The Tomb Raider built-in benchmark again using the lowest graphical preset with 1280×720 resolution. However since rebooting the game display has inexplicably become ‘red & white’ instead of color. It only happens in this game and doesn’t appear to affect the framerate or performance. It is just like watching everything through AMD spectacles as can be seen from the following benchmark extract:
The average is still the same as before at 44 FPS:
Then I played some Doom Eternal from my external storage drive connected by USB. Using the game’s defaults settings and 1280×720 resolution the average frame rate was 44.4 FPS:
and gameplay looked like this:
After publishing the previous article several ‘reddit’ comments have referred to a video posted by Linus Sebastian from LTT of his experiences using an official Steam Deck. In the video, the frame rate for Doom Eternal was much higher than I observed. Whilst there are several reasons for this, one difference I noticed was that he had changed some of the default game settings and from what I could tell these included turning both ‘vertical sync’ and ‘motion blur’ off and setting ‘overall quality’ to medium. When I used similar settings:
the average frame rate improved to 52.6 FPS:
as can be seen in the following example:
Final Observations
An interesting benefit of using MangoHud is the ability to observe both CPU and GPU usage. Both Shadow of the Tomb Raider and Doom Eternal were heavily GPU bound. This was less so with CS:GO and GTA V with the latter having the highest CPU usage. This aligns with Valve’s point that because the Steam Deck’s GPU is stronger, although its CPU is weaker, the expectation is that its performance will be either the same or better than this mini PC.
Ian is interested in mini PCs and helps with reviews of mini PCs running Windows, Ubuntu and other Linux operating systems. You can follow him on Facebook or Twitter.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Thanks for both the original article and the follow-up!
I visit cnx-software for years almost daily, and it is great to see you’re also writing high-quality linux gaming related articles now. 👍
Regarding “turning vsync off” in benchmarks, the following article provides some relevant information: https://arstechnica.com/gaming/2021/11/valve-provides-a-deep-dive-into-steam-decks-custom-hardware-design/ Since the APU doesn’t have any hard limits for its power draw, Valve said games running on Steam Deck should impose a frames-per-second limit of 60 fps (to match the display) or 30 fps (for games that push the GPU) in order to maintain battery life. That frame-rate limit also helps contribute to the Steam Deck’s battery life on many games, AMD said. If a game renders a frame faster than the 16.66 milliseconds needed for the 60 fps frame rate, the APU will instantly switch… Read more »
I used to use mangohud, but then I found out that it crashes on certain games, like tf2.
Thanks for the article, very useful, shame it doesnt have a proper GUI and seamless install, maybe Steam Deck will finally get some people to put effort into these things.
Also Steam itself has an FPS counter built in last I checked, unless its missing in Linux version. Its in steam-settings-ingame-fps counter on windows.
It is not so much having an FPS counter per se, which incidentally is availabe in Linux, but the ability to captures the FPS results over time in order to analyse and derive, for example, the average FPS. This is why I use a tool like MSI Afterburner in Windows and will now use MangoHud in Linux plus they can additionally capture other statistics like temperature, load, frequencies etc. which are also useful performance metrics.
Try out SpecialK.
Why on earth would they need SpecialK. MangoHud does literally everything they need.