快轉到主要內容

MangoHud:在Linux螢幕顯示CPU、GPU、FPS、溫度用量的遊戲輔助軟體

分類   Linux系統 Linux玩遊戲
標籤   Vulkan Linux Steam
🗓️ 民國112年 癸卯年
✍ 切換正體/簡體字
目錄

“MangoHud"是一款專為Linux系統設計的開源軟體,能在螢幕即時顯示系統CPU、GPU、RAM使用率,以及FPS(影格率/幀率)資訊。

如下圖,MangoHud顯示於遊戲螢幕左下角。

其功能類似Window上的MSI Afterburner、FPS Monitor軟體。

MangoHud覆蓋顯示(overlay)在Vulkan應用程式上,在玩Steam遊戲時很有用,方便監控Linux系統效能。當然要跑在其他應用程式上面也是沒問題的,MangoHud亦支援使用OpenGL的Linux圖形軟體。

MangoHud既是輔助工具,也是測試工具,能夠用於統計遊戲的FPS表現,這個Ivon後面會說明。

本文Ivon介紹如何設定MangoHud,並與各種遊戲搭配使用。

1. 安裝MangoHud
#

MangoHud的 Github有各大Linux發行版的安裝指示。

原生套件管理員版:指的是用APT/Pacman/DNF將MangoHud裝到系統,使全部應用程式都能啟用MangoHud。

Flatpak版:僅限Flatpak應用程式內部有效。

像Ivon於系統安裝的遊戲同時有非Flatpak版與Flatpak版,那最好二個都裝。

1.1. 原生套件管理員版
#

Arch Linux可以從官方儲存庫安裝MangoHud。

  1. 記得要先啟用32位元支援
sudo vim /etc/pacman.conf
# 將[multilib] Include = /etc/pacman.d/mirrorlis取消註解
sudo pacman -Syu
  1. 再安裝MangoHud
sudo pacman -S mangohud lib32-mangohud

1.2. Flatpak版
#

  1. 安裝 Flatpak

  2. 安裝MangoHud套件至一般使用者,分支需要與Steam的對上

flatpak install org.freedesktop.Platform.VulkanLayer.MangoHud

2. MangoHud用法
#

MangoHud預設要參考 Github說明手動寫設定檔,並將其放到~/.config/MangoHud/MangoHud.conf。鑑於手寫太複雜,本節的示範我們先用預設值,下一節再來用圖形界面調整設定檔。

1. 執行原生應用程式
#

這裡我們跑二個小程式作示範:vkcube是vulkan-tools套件附屬的一個Vulakn小程式;glxgears則是mesa-utils附屬的一個OpenGL小程式。

MangoHud,要顯示在Vulkan應用程式上的話就用以下語法:

mangohud vkcube

您會看到MangoHud顯示在視窗上。

如果執行的應用程式是OpenGL的話要加上--dlysm

mangohud --dlsym glxgears

您仍會看到MangoHud顯示在視窗上。

2. 配合Flatpak應用程式執行
#

註:您可以裝 FlatSeal,用圖形化方式設定EnvironmentFilesystem的路徑。

  1. 以Steam為例,我的Steam是用Flatpak裝的,要先設定環境變數MANGOHUD=1,給Steam全部遊戲啟用MangoHud。有些程式只要設定這一步驟MangoHud就會跑出來,不需要再進一步設定。
flatpak override --user --env=MANGOHUD=1 com.valvesoftware.Steam

# 您也可以改為設定MANGOHUD=0,這樣它就不會全域啟用,而是僅加入mangohud指令的遊戲才啟動
  1. 再用此指令指定環境變數MANGOHUD_CONFIGFILE=,告訴Flatpak版的MangoHud設定檔所在位置
flatpak override --user --env=MANGOHUD_CONFIGFILE=/home/user/.config/MangoHud/MangoHud.conf com.valvesoftware.Steam
  1. 開放Steam讀取~/.config/MangoHud/MangoHud.conf的權限,這樣後面我們改的設定檔才會生效
flatpak override --user --filesystem=/home/user/.config/MangoHud/MangoHud.conf:ro com.valvesoftware.Steam
  1. 在Steam收藏庫對遊戲按右鍵 →內容,將啟動選項改成mangohud %command%

  2. 啟動遊戲,看MangoHud有沒有跑出來。

3. 非Vulkan的Flatpak程式
#

例如,Flatpak版的Minetest使用OpenGL,要用MangoHud就得駭進去加上--dlysm

一樣得先給Minetest啟用MangoHud,再開放讀取MangoHud設定檔的權限

flatpak override --user --env=MANGOHUD=1 net.minetest.Minetest
flatpak override --user --filesystem=xdg-config/MangoHud:ro minetest.Minetest

再用以下指令啟動Minetest:

flatpak run --command="bash" net.minetest.Minetest /usr/lib/extensions/vulkan/MangoHud/bin/mangohud --dlsym /app/bin/minetest

3. 用圖形界面Goverlay編輯MangoHud設定檔
#

Goverlay是另一名開發者Benjamim Gois製作的軟體,可用圖形界面編輯MangoHud的設定檔,這樣我們就不用手寫了。

參考 Github說明,Arch Linux從AUR安裝:

yay -S  goerlay-bin

Goverlay讀取的是MangoHud預設的設定檔目錄~/.config/MangoHud/MangoHud.conf

  1. 如下圖,Goverlay可以自由調整要顯示的系統訊息,右邊面板會即時顯示預覽。

Position處調整MangoHud顯示的位置。Size設定MangoHud的整體大小。

注意全系統啟用Global Enable僅限原生版Vulkan應用程式,對Flatpak應用程式無效。

  1. 在Extra頁面,可調整MangoHud為不同尺寸的面板。如果要顯示GPU用量,請依照GPU型號安裝套件:nvtopintel-gpu-toolsradeontop

Mininmal就是只顯示FPS

Compact多了CPU、RAM、溫度資訊

Complete就是完整顯示所有訊息,連系統都顯示

Graph,將各項資料以圖表顯示

調整完成後記得右下角按Save。開啟遊戲,就會看到變化。

預設遊戲內開關MangoHud的快捷鍵是Shift+F12

4. 用MangoHud測試遊戲平均FPS
#

MangoHud可以紀錄一段時間內遊戲FPS的平均值,輸出成統計報告。繪製成圖表,或上傳結果到https://flightlessmango.com/games/user_benchmarks

  1. 於Goverlay的Performance頁面,點選資料夾路徑,設定輸出目錄

  2. 開啟遊戲,按下快捷鍵Shift+F2開始紀錄FPS,MangoHud面板會顯示綠燈

  3. 再按一次Shift+F2停止。MangoHud會顯示FPS測試結果

  4. 隨後對應目錄就會輸出FPS測試報告。

相關文章

陸海空軍載具大戰,如何在Linux玩大型遊戲《戰爭雷霆》 War Thunder
分類   Linux系統 Linux玩遊戲
標籤   War Thunder Linux Steam
Linux玩Windows的Galgame遊戲的一些方法
分類   Linux系統 Linux玩遊戲
標籤   Wine Steam
用Box86 + chroot在ARM Linux手機玩Steam遊戲
分類   Linux系統 Linux玩遊戲
標籤   Box86 Box64 PinePhone Wine Steam Mobian

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。