MangoHud: Overlay für Spiele & Anwendungen unter Linux

Das Steam Deck hat es vorgemacht und ein praktisches Game-Overlay in seine Steam-Oberfläche eingebaut. So richten Sie MangoHud auf jedem Linux-Desktop ein.

In Pocket speichern vorlesen Druckansicht 10 Kommentare lesen
, Thorsten Hübner

(Bild: Thorsten Hübner)

Lesezeit: 11 Min.
Inhaltsverzeichnis

Spiel starten und loslegen: Wer in virtuelle Welten eintauchen und abschalten will, ist genervt, wenn’s ruckelt und hakt. Nun gilt es, den Spielverderber schnell zu finden. Ob der Prozessor voll ausgelastet, die Grafikkarte zu heiß oder der Arbeitsspeicher voll ist, verrät MangoHud via Overlay, das sich auf dem Bildschirm als Einblendung über das laufende Programm legt. Bei Bedarf schreibt es die Daten zur späteren Analyse in eine Tabelle, sodass sie Sie später analysieren und vergleichen können. Wer Valves Handheld-Konsole Steam Deck besitzt, kennt das hilfreiche Overlay bereits, denn dort ist ab Werk das Tool MangoApp desselben Entwicklers vorkonfiguriert.

Doch auch bei ressourcenfordernden Arbeiten wie Videoschnitt, Audioproduktion oder beim Hantieren mit riesigen Tabellen kann es hilfreich sein zu verstehen, warum die Hardware an ihre Grenzen gelangt. In diesem Artikel richten wir auf dem Linux-Desktop ein solches Game-Overlay mit MangoHud ein, zeigen was es kann und wie Sie es konfigurieren.

c't kompakt
  • Das Linux-Tool MangoHud legt ein transparentes Info-Overlay über Programmfenster.
  • Das Tool zeigt die Framerate, die Auslastung von Prozessor und Grafikkarte sowie einiges mehr.
  • Auf Wunsch sammelt es die Daten zur späteren Analyse und grafischen Auswertung.

Auf Ihrem lokalen Linux-System müssen Sie das Tool selbst installieren und einrichten. Im Folgenden zeigen wir zwei Konfigurationswege: traditionell per gut dokumentierter Konfigurationsdatei oder mithilfe des grafischen Tools GOverlay.

Die meisten Linux-Distributionen bieten das Tool in ihren Paketquellen an, sodass Sie das Paket "mangohud" wie gewohnt mit der Software-Verwaltung installieren können. Unter Arch Linux holen Sie sich (wie wir für diesen Test) die Software aus dem AUR; das Kommando

yay -S mangohud

lädt die Software herunter, kompiliert und installiert sie. Fehlt MangoHud in den Repositories, können Sie auf ein distributionsunabhängiges Flatpak zurückgreifen, die Installation beschreibt die Github-Seite des Projekts.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

Frisch installiert bringt MangoHud eine Grundkonfiguration mit, die zum Ausprobieren allemal reicht. Bevor Sie sich in Details stürzen, sollten Sie sicherstellen, dass es funktioniert. Besonders einfach geht das mit den Testprogrammen Glxgears (für OpenGL) und Vkcube (für Vulkan), die bei vielen Distributionen meist schon an Bord sind. Fehlen sie, rüsten Sie die gleichnamigen Pakete aus den Paketquellen der Distribution nach.

Um eine Software mit dem MangoHud-Overlay zu starten, stellen Sie dem Startbefehl in der Kommandozeile einfach den Aufruf mangohud voran. Also beispielsweise

mangohud glxgears
mangohud vkcube

Starten Glxgears oder Vkcube mit einem Overlay, hat alles geklappt und Sie können sich an die weitere Konfiguration machen.

Ein Testlauf mit Tools wie Glxgears zeigt, ob MangoHud funktioniert und dient als Vorschau bei der Konfiguration.

Um das MangoHud-Overlay in einem Steam-Spiel zu nutzen, reicht ein ergänzender Startparameter. Klicken Sie dazu in der Steam-Bibliothek mit der rechten Maustaste auf das gewünschte Spiel, öffnen Sie die Eigenschaften und tragen Sie im Allgemein-Reiter ganz unten bei Startoption den Befehl mangohud %command% ein. Beim nächsten Spielstart erscheint das Overlay über dem Spielbild. Probieren Sie es ruhig erst mal aus.

Alternativ öffnen Sie Steam über die Kommandozeile und geben ihm dabei MangoHud mit auf den Weg (mangohud steam), dann ist das Overlay in allen Spielen automatisch an. Wie Sie ein Tastenkürzel definieren, um das Overlay jederzeit ein- oder ausschalten zu können, ohne Steam neu zu starten, erklären wir gleich.

MangoHud funktioniert auch mit Spielen, die Sie über das Gaming-Tool Lutris öffnen. Das Open-Source-Tool startet native Linux-Games ebenso wie solche, die mit Wine oder in Emulatoren laufen. Per Rechtsklick auf den Spieleeintrag und "Konfigurieren" öffnen Sie die jeweiligen Einstellungen. Im Tab "Systemeinstellungen" schieben Sie den Regler bei "FPS-Statusleiste (MangoHud)" nach rechts und bestätigen mit "Speichern". Beim nächsten Spielstart wird das Overlay angezeigt.

Nach dem ersten Start zeigt MangoHud nur eine Handvoll Daten. In der Grundkonfiguration präsentiert das Tool Werte, die vor allem Gamer interessieren: die Auslastung von GPU und CPU in Prozent, die Anzahl der FPS (Frames per second) sowie die Frametime und ob OpenGL oder Vulkan (DXVK) zum Einsatz kommt. Um Einfluss auf die Anzeige zu nehmen, können Sie die gewünschten Parameter beim Programmstart mitgeben. Der folgende Befehl startet beispielsweise Glxgears mit einem Overlay, das keine Werte für die Grafikkarte ausgibt und die Schriftgröße festlegt:

MANGOHUD_CONFIG="gpu_stats=0,\
font_size=12" mangohud glxgears

Um nur mal einen Parameter auszuprobieren, ist dieser Weg in Ordnung, auf Dauer aber zu umständlich. Hinterlegen Sie die Einstellungen besser in einer Konfigurationsdatei. Dort können Sie allgemeingültige Vorgaben für alle Programme machen, aber auch zusätzliche Konfigurationsdateien für einzelne Anwendungen definieren.

MangoHud durchsucht beim Start verschiedene Ordner nach einer passenden Konfiguration – zunächst /usr/bin, dann den Konfigurationsordner der Anwendung. Letzterer liegt in der Regel im versteckten Ordner .config im Home-Verzeichnis. Der Pfad zur globalen Konfigurationsdatei lautet dann ~/.config/MangoHud/MangoHud.conf. Möchten Sie für bestimmte Anwendungen eigene Konfigurationen anlegen, müssen diese den Namen des Programms und die Endung .conf tragen, für Glxgears also glxgears.conf.

Ein guter Startpunkt ist die mitgelieferte Beispielkonfiguration, die Sie nach der Installation im System unter /usr/share/doc/mangohud/MangoHud.conf oder auf der Github-Seite des Projekts finden. Kopieren Sie die Datei ins Home-Verzeichnis nach ~/.config/MangoHud/. Unter Umständen müssen Sie das Verzeichnis MangoHud erst noch anlegen. Dann lauten die beiden Befehle beispielsweise wie folgt:

mkdir -p ~/.config/MangoHud
cp /usr/share/doc/mangohud/MangoHud.conf.example ~/.config/MangoHud/MangoHud.conf

In der Konfigurationsdatei steht jede Option in einer eigenen Zeile. Die Beispielkonfiguration enthält bereits viele Einstellungen, die Sie nur noch an- oder abschalten müssen. Die meisten Zeilen sind mit einem Doppelkreuz # am Anfang der Zeile bereits auskommentiert und damit inaktiv. Für einen Test entfernen Sie einfach probeweise vor einer Zeile das Kommentarzeichen, speichern die Datei und starten mangohud glxgears, um das Ergebnis im Overlay zu sehen. Nun können Sie die Konfigurationsdatei nach Herzenslust anpassen und experimentieren.

Das Steam Deck bringt ein Overlay mit, dessen vier Stufen unterschiedlich viele Infos zeigen. Mit MangoHud können Sie es auf dem PC nachbauen.

Was Valve auf dem Steam Deck ab Werk bietet, können Sie mit wenigen Handgriffen weitgehend nachbauen (siehe Screenshot oben). Einen Schieberegler zum Umschalten zwischen den Konfigurationen gibt es am Desktop allerdings nicht.

Die einfachste Variante des Steam-Deck-Overlays zeigt lediglich die FPS ohne Beschriftung. Eine analoge Option fehlt in der Beispielkonfiguration von MangoHud. Kommentieren Sie daher alles aus (bis auf Tastenkürzel, die Sie nutzen wollen) und tippen Sie an beliebiger Stelle folgende Zeile ein:

fps_only

Wenn Sie die Datei gespeichert und MangoHud erneut aufgerufen haben, ziert eine schlichte FPS-Zahl das Overlay.

Position Zwei des Steam-Deck-Schiebereglers ähnelt der ursprünglichen Beispielkonfiguration. Folgende Zeilen müssen Sie dafür noch ergänzen:

gpu_stats
cpu_stats
battery
fps
frame timing

Der Parameter battery behält auf Notebooks den Akkustand im Blick. Für Steam-Deck-Ansicht Numero 3 fügen Sie unterhalb von cpu_stats noch die Zeilen vram und ram hinzu.

Nur die vierte Variante des Steam-Deck-Overlays lässt sich nicht ganz nachbauen, da MangoHud beispielsweise keine Lüfterdrehzahlen auslesen kann. Eine ähnlich ausführliche Ausgabe liefert die Zeile full. Dann zeigt MangoHud zusätzlich die Uhrzeit (Parameter time), die MangoHud-Version (version), Temperaturen (gpu_temp und cpu_temp) sowie einiges mehr an. Möchten Sie Daten aller Prozessorkerne sehen und diese je nach Last von Grün über Gelb nach Rot einfärben, fügen Sie beispielsweise folgende Zeilen hinzu:

core_load
core_load_change
cpu_load_value=60,90
cpu_load_color=39F900,FDFD09,B22222

Darüber hinaus listet die Github-Seite von MangoHud weitere praktische Optionen auf. Sie können etwa die verwendeten Farben anpassen, beispielsweise zeigt gpu_color=666666 die Bezeichnung "GPU" in Dunkelgrau an. Auch die Beispielkonfiguration zeigt einige Möglichkeiten auf. Experimentieren Sie ruhig, MangoHud ignoriert fehlerhafte Optionen.

Anders als auf dem Steam Deck fehlt ein Schalter für MangoHud, um es nur bei Bedarf anzuschalten. Definieren Sie dafür am besten ein Tastenkürzel:

toggle_hud=Shift_R+F12

Fortan knipsen Sie das Overlay mit der rechten Umschalttaste+F12 an oder aus.

Falls gewünscht, schreibt MangoHud die erfassten Werte in eine CSV-Tabelle, die Sie später auswerten, für Vergleiche heranziehen oder als Datenbasis für Diagramme nutzen können. Damit das funktioniert, müssen Sie mit output_folder= zunächst ein Ausgabeverzeichnis für die Logdateien festlegen. Sie können MangoHud anweisen, das Mitschreiben nach einer Weile an- und wieder abzuschalten oder dafür eine Taste drücken (beispielsweise mit toggle_logging=Shift_L+F2).

Wollen Sie die Daten nicht selbst grafisch aufbereiten, laden Sie sie auf flightlessmango.com hoch. Im Nu erstellt die Website daraus Kurven und Balkendiagramme. Voraussetzung ist die Zeile permit_upload=1. Drückt man während MangoHud läuft die (etwa mit upload_log=F5 definierte) Taste zum Upload, muss man dafür keinen Account anlegen. Die Seite mit den Grafiken öffnet sich danach automatisch im Browser.

Alternativ loggen Sie sich mit einem Discord-Account auf flightlessmango.com ein, suchen unter "User Benchmarks" nach dem gewünschten Spiel und fügen mit "New Benchmark" eigene Logdateien samt Kommentar hinzu. Der Vorteil: Sie können aus mehreren Logdateien gemeinsame Kurven erzeugen und später weitere hinzufügen. Das kann den Unterschied zwischen unterschiedlichen Messungen, Spieleinstellungen oder Hardware grafisch veranschaulichen.

Kurve statt Tabelle: Lädt man die Logdatei von MangoHud auf die Website des Entwicklers hoch, veranschaulicht diese das Ergebnis in Kurven und Balkendiagrammen. 

Mit dem grafischen Frontend GOverlay ändern Sie die Einstellungen für MangoHud per Mausklick. In der Programmoberfläche sind zwar nicht alle, aber doch ziemlich viele Optionen verfügbar. Auch dieses Tool können Sie als Paket "goverlay" über den Paketmanager Ihrer Linux-Distribution nachinstallieren. Unter Arch Linux und Manjaro installieren Sie es am einfachsten aus dem AUR mit dem Befehl yay -S goverlay-bin.

Grafische Oberfläche für MangoHud: In GOverlay klicken Sie das gewünschte Overlay schnell zusammen.

Anleitungen für Distributionen, in deren Paketquellen das Tool fehlt, gibt es auf der Github-Seite. Sie starten es über das Anwendungsmenü oder mit dem Befehl goverlay &. In vier Tabs haken Sie nun einfach an, was Sie im Overlay sehen wollen und klicken rechts unten auf "Save". Speichern Sie ruhig zwischendurch, GOverlay aktualisiert dann die Vorschau rechts. Im letzten Tab legen Sie eine Tastenkombination fest, mit der Sie das MangoHud-Overlay schnell ein- und wieder ausschalten. Standardmäßig ist dafür die linke Umschalttaste+F12 vorgesehen.

Außerdem sind hier bereits vier Layouts vorkonfiguriert: Minimal, Compact, Complete und Graph. Während sich Minimal auf die Frames konzentriert, präsentiert Compact Messdaten zu CPU, GPU, RAM, VRAM und FPS. Complete listet nicht nur sämtliche Prozessorkerne einzeln auf, sondern zeigt viele weitere Details. Spartanische Graphen zeigt die Konfiguration Graph.

Bringt die neue Grafikkarte wirklich so viel mehr? Ist doch noch ein neuer Prozessor fällig? MangoHud kann dazu beitragen, Antworten auf diese Fragen zu finden. Das Open-Source-Tool ist leicht einzurichten und an die eigenen Bedürfnisse anzupassen. Ein großer Vorteil sind die Benchmark-Ergebnisse auf der Projekt-Website, die auch dabei helfen können, die besten Grafikeinstellungen für ein Spiel zu ermitteln.

c’t – Europas größtes IT- und Tech-Magazin

Alle 14 Tage präsentiert Ihnen Deutschlands größte IT-Redaktion aktuelle Tipps, kritische Berichte, aufwendige Tests und tiefgehende Reportagen zu IT-Sicherheit & Datenschutz, Hardware, Software- und App-Entwicklungen, Smart Home und vielem mehr. Unabhängiger Journalismus ist bei c't das A und O.

(lmd)