Linux 游戏玩家必备:MangoHud 使用指南
如果你玩 Linux 游戏,一定遇到过这种场景——跑个新游戏,帧数忽高忽低,温度蹭蹭往上飙,但到底哪里出了问题?显卡在咆哮?CPU 在摸鱼?还是驱动在搞事情?
MangoHud 是一个基于 Vulkan 和 OpenGL 的覆盖层(overlay)工具,名字来源于它的作者 FlightlessMango。简单来说,它能在你玩游戏的时候,在游戏画面上叠加一层实时数据显示——帧率、GPU/CPU 负载、温度、显存占用等等一目了然。
这东西最早是 Steam Deck 玩家圈子里火起来的。因为 Valve 给 Steam Deck 自带的性能监控不够好用,社区就自己搞了一个,结果越做越强,现在已经是 Linux 游戏圈的标配工具了。
- 系统信息:显示服务器类型(X11/Wayland)、游戏引擎版本
最酷的是,它还能按核心显示 CPU 负载,Intel 的混合架构(P核/E核)和 ARM 的 big.LITTLE 都能正确区分。AMD 显卡用户还能看到每个核心的详细数据。
sudo pacman -S mangohud lib32-mangohud
sudo apt install mangohud
sudo dnf install mangohud
如果你用的发行版没有 packaged,也可以从 GitHub Releases 下载预编译包,或者自己编译——用 meson + ninja,几分钟的事。
打开 Steam → 右键游戏 → 属性 → 启动选项,填入:
如果想对所有 Steam 游戏全局开启,在Steam设置里把 MANGOHUD=1 加到全局启动选项就行。
Lutris 里打开游戏的系统选项,在"命令前缀"(Command prefix)里填上 mangohud 即可。
MangoHud 的强大之处在于可定制性。配置文件放在 ~/.config/MangoHud/MangoHud.conf,你可以随意调整显示的内容、颜色、字体、透明度等等。
fps=1frame_timing=0cpu_stats=0gpu_stats=1cpu_temp=0gpu_temp=1
配置文件里注释写得很详细,每个参数都有说明。你也可以用环境变量一行搞定:
MANGOHUD_CONFIG=fps,cpu_stats,gpu_temp mangohud /path/to/game
还有个 GUI 工具叫 GOverlay(https://github.com/benjamimgois/goverlay),可视化编辑配置文件,对不喜欢折腾命令行的人来说特别友好。
MangoHud 可以记录详细的 FPS 数据到文件,配合它自带的 mangoplot 工具,能生成漂亮的性能图表。你也可以把数据上传到 FlightlessMango.com 在线可视化。
你可以创建多个预设方案,比如"测试用"、"日常用"、"极简模式",在游戏中随时切换。通过 mangohudctl 命令行工具或者快捷键就能切换。
如果你用 Gamescope(Steam Deck 的帧生成器),MangoHud 也能完美配合。记得安装 mangoapp 组件,启动时加上 --mangoapp 参数就行。
- NVIDIA:通过 NVML 和 XNVCtrl 获取数据,Wayland 和 X11 都支持
- AMD:通过 AMDGPU DRM 接口,原生支持非常好
MangoHud 最让人欣赏的一点是:它很克制。默认只开 FPS、帧生成时间、CPU/GPU 负载这几个核心指标,不喧宾夺主。你想看更多?自己配就行。
而且它是开源的(MIT 协议),社区活跃,GitHub 上有大量贡献者在持续更新。从 2018 年第一个 commit 到现在,已经是一个相当成熟的项目了。
如果你还在用 Linux 打游戏,MangoHud 真的值得装一个。至少在你游戏卡成 PPT 的时候,你能知道到底是谁在拖后腿。
项目地址:https://github.com/flightlessmango/MangoHud