From dc99bd27434d37b1d9e5ce0024c5df30ccfb1514 Mon Sep 17 00:00:00 2001 From: Wanjohi Date: Wed, 2 Sep 2026 16:34:11 +0300 Subject: [PATCH] fix(nesdoctor): the Apple Silicon GPU name had doubled parentheses The fallback worked -- the macOS runner now reports a GPU instead of `unknown`, and the raw probe dump settled which of the two candidate causes it was: a headless virtual Mac with no display adapter to enumerate, so `system_profiler` had nothing and the parser was never at fault. It read `Apple M1 (Virtual) (integrated)`, because the SoC name already carries a parenthetical on a VM. Em-dash instead. The suffix stays: it records that the name came from the chip rather than from a display adapter, which is the difference between a machine with no GPU and a machine with no display. --- apps/nesdoctor/src/sys.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/nesdoctor/src/sys.rs b/apps/nesdoctor/src/sys.rs index ccdf9082..2b87fd8f 100644 --- a/apps/nesdoctor/src/sys.rs +++ b/apps/nesdoctor/src/sys.rs @@ -307,7 +307,16 @@ fn gpus() -> Vec { let soc = soc.trim(); if !soc.is_empty() { gpus.push(Gpu { - name: format!("{soc} (integrated)"), + // Em-dash rather than a parenthetical: the SoC name can + // already carry one. The CI runner reports + // "Apple M1 (Virtual)", which became + // "Apple M1 (Virtual) (integrated)". + // + // The suffix is worth keeping despite that -- it says + // this name came from the chip rather than from a + // display adapter, which is the difference between a + // machine with no GPU and a machine with no display. + name: format!("{soc} — SoC GPU"), vendor: Some("Apple".into()), render_node: None, });