- hardware.py: new format_device_id() / pci_id_device_part() helpers that
accept every shape the per-OS detectors emit (8086:5917 / 0x5917 / 5917 /
1002:73FF)
- macOS: _detect_gpu_macos now parses "Vendor ID" / "Device ID" from
SPDisplaysDataType and buckets them to the right GPU block (was not
populating gpu_device_id / dgpu_device_id at all before)
- scan results screen (TUI + tkinter GUI): GPU / dGPU lines now show
"device-id vvvv:dddd" when known
- config_editor.suggest_framebuffers() and the Windows iGPU->CPU-gen lookup
now tolerate the vendor:device form
- hardware.py __main__ debug dump prints dGPU + device ids
- tests: device-id formatting + macOS SPDisplays parsing
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
(cherry picked from commit da6aa634d7619e72eb4290228756b952028516a6)
What
Tests
Added device-id formatting + macOS SPDisplaysDataType parsing tests.