Commit graph

3 commits

Author SHA1 Message Date
d2f70296f5 Correct the Shift+F2 claim: the keybind does not work in Game Mode
The in-game keys table told users Shift+F2 toggles logging mid-game. That
holds on the desktop, where the in-game Vulkan layer is the logger, but not
in SteamOS Game Mode: there the logger is mangoapp, which ignores the
keybind. Verified under nested gamescope — the keypress produced no log at
all, while mangohudctl in the same harness started one immediately.

Document mangohudctl as the way to start/stop a log by hand in Game Mode.
It drives mangoapp over a SysV message queue, so it needs no display, no
Wayland socket and no window focus.
2026-07-31 19:09:52 +01:00
551471f0b3 Auto-select the gaming GPU + cross-vendor CPU-power tooling
MangoHud logs one GPU. On a hybrid box (discrete NVIDIA/AMD beside an
AMD/Intel iGPU) its default often latches onto the idle iGPU, so every
gpu_* column reads ~0 while the discrete card does the rendering. Detect
the actual gaming GPU — any vendor, single- or multi-GPU — and pin it via
gpu_list. Selection: single GPU -> that one; discrete NVIDIA preferred;
otherwise the card with the most VRAM. Override with MANGOHUD_LOGGER_GPU.
Verified against MangoHud's own enumeration (gpu_list=0 -> renderD128,
RTX 5060 Ti) and 7 synthetic layouts incl. NVIDIA as the second node.

Also make CPU telemetry work across AMD and Intel. cpu_power was logging
0 because the RAPL energy counters are root-only since CVE-2020-8694
(same intel-rapl powercap path on both vendors). Add:
  - doctor: read-only GPU/CPU telemetry readiness report
  - fix-cpu-power: install a udev rule making RAPL counters user-readable
  - enable-time warnings pointing at the fix
CPU temp already works via hwmon (k10temp/zenpower/coretemp).

Default no-arg behavior (toggle on/off) is unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 19:31:03 +01:00
Gavin Nugent
aeb84a3d68 Support SteamOS Game Mode: global logging via MANGOHUD_CONFIG
The previous override targeted gamescope-session-plus only. On stock
SteamOS (/usr/lib/steamos/gamescope-session) that override is never
sourced and the session forces MANGOHUD_CONFIGFILE=<tmp>/no_display,
so no logs were produced. Detect the session flavor and, on SteamOS,
set MANGOHUD_CONFIG in environment.d — it overrides the forced config
file and enables logging globally with no per-game launch options.
Verified with a vkcube precedence test (412-row CSV) and end-to-end in
a live SteamOS 3.9 Game Mode session (DREDGE, 1039-row mangoapp CSV).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 22:29:50 +01:00