“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。
- 記得要先啟用32位元支援
sudo vim /etc/pacman.conf
# 將[multilib] Include = /etc/pacman.d/mirrorlis取消註解
sudo pacman -Syu
- 再安裝MangoHud
sudo pacman -S mangohud lib32-mangohud
1.2. Flatpak版#
安裝 Flatpak
安裝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,用圖形化方式設定Environment
與Filesystem
的路徑。
- 以Steam為例,我的Steam是用Flatpak裝的,要先設定環境變數
MANGOHUD=1
,給Steam全部遊戲啟用MangoHud。有些程式只要設定這一步驟MangoHud就會跑出來,不需要再進一步設定。
flatpak override --user --env=MANGOHUD=1 com.valvesoftware.Steam
# 您也可以改為設定MANGOHUD=0,這樣它就不會全域啟用,而是僅加入mangohud指令的遊戲才啟動
- 再用此指令指定環境變數
MANGOHUD_CONFIGFILE=
,告訴Flatpak版的MangoHud設定檔所在位置
flatpak override --user --env=MANGOHUD_CONFIGFILE=/home/user/.config/MangoHud/MangoHud.conf com.valvesoftware.Steam
- 開放Steam讀取
~/.config/MangoHud/MangoHud.conf
的權限,這樣後面我們改的設定檔才會生效
flatpak override --user --filesystem=/home/user/.config/MangoHud/MangoHud.conf:ro com.valvesoftware.Steam
在Steam收藏庫對遊戲按右鍵 →內容,將啟動選項改成
mangohud %command%
啟動遊戲,看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
- 如下圖,Goverlay可以自由調整要顯示的系統訊息,右邊面板會即時顯示預覽。
在Position
處調整MangoHud顯示的位置。Size
設定MangoHud的整體大小。
注意全系統啟用Global Enable
僅限原生版Vulkan應用程式,對Flatpak應用程式無效。
- 在Extra頁面,可調整MangoHud為不同尺寸的面板。如果要顯示GPU用量,請依照GPU型號安裝套件:
nvtop
、intel-gpu-tools
、radeontop
Mininmal就是只顯示FPS
Compact多了CPU、RAM、溫度資訊
Complete就是完整顯示所有訊息,連系統都顯示
Graph,將各項資料以圖表顯示
調整完成後記得右下角按Save。開啟遊戲,就會看到變化。
預設遊戲內開關MangoHud的快捷鍵是Shift+F12
。
4. 用MangoHud測試遊戲平均FPS#
MangoHud可以紀錄一段時間內遊戲FPS的平均值,輸出成統計報告。繪製成圖表,或上傳結果到https://flightlessmango.com/games/user_benchmarks
。
於Goverlay的Performance頁面,點選資料夾路徑,設定輸出目錄
開啟遊戲,按下快捷鍵
Shift+F2
開始紀錄FPS,MangoHud面板會顯示綠燈再按一次
Shift+F2
停止。MangoHud會顯示FPS測試結果隨後對應目錄就會輸出FPS測試報告。