CLAUDE.md: note two -tident/clash-check gaps found on a single-monitor VM
Parked, not fixed. Diagnostics-only and impossible on a real pod, but the second one produces a confidently wrong "all clear" on exactly the kind of machine someone would bench-test with, so it is worth recording. Both stem from one physical monitor being exposed as two DirectDraw devices. The NULL-device merge is gated on NumMonitors>=2 - deliberately, it is a multi-monitor fixup - so a single-monitor box keeps the alias in slot 0 alongside the real device. 1. -tident overpaints itself. Device 0 (NULL alias) and device 1 (the real output) resolve to the same screen, so it paints red/"1" and then immediately green/"2" over the top. Observed on a VM as a brief flash before the second number appears. Behaving as written; there simply is not a second screen to paint. Should detect devices sharing an HMONITOR and label them together rather than painting sequentially. 2. The consistency check compares device INDICES, not resolved monitors. On the same VM it reported "No duplicate device assignments" while main -> device 0 (primary alias) and radar -> device 1 (\\.\DISPLAY49) were the same physical monitor - the exact collision the check exists to predict. Fix would be to treat a device with no HMONITOR as the Windows primary and compare resolved HMONITORs. Context for the VM in question: RDP session (Microsoft Remote Display Adapter, 1870x985) with the Microsoft Basic Render Driver and no real GPU, dgVoodoo2 masquerading as its default emulated NVIDIA device. MFD modes cannot work there regardless - only two DirectDraw devices exist and one of them is an alias. Co-authored-by: Claude Opus 5 (Anthropic) <noreply@anthropic.com> Co-authored-by: GitHub Copilot <copilot@github.com>
This commit is contained in:
co-authored by
Claude Opus 5
GitHub Copilot
parent
22495d7245
commit
b3c5ecfe56
@@ -1253,6 +1253,22 @@ consistency check explicitly printed *"No duplicate device assignments"*. The do
|
||||
summary. **Instrument, don't infer.**
|
||||
|
||||
## Next steps (proposed)
|
||||
- [ ] (Parked, diagnostics-only, cannot affect a real pod) Two gaps found while testing `-tident`
|
||||
on a **single-monitor VM** (2026-08-05). Both only occur when one physical monitor is exposed as
|
||||
two DirectDraw devices, which happens because the NULL-device merge is gated on
|
||||
`NumMonitors>=2` (`VideoCard.cpp`) — by design, it is a multi-monitor fixup, so a single-monitor
|
||||
box keeps the alias in slot 0.
|
||||
1. **`-tident` overpaints itself.** With device 0 = NULL alias and device 1 = the real output,
|
||||
both resolve to the same screen, so it paints red/"1" then immediately green/"2" over the top.
|
||||
Looks like a glitch; is actually correct. Should detect devices sharing an `HMONITOR` and
|
||||
label them together (`1 & 2 - same monitor`) instead of painting sequentially.
|
||||
2. **The clash check compares device INDICES, not resolved monitors.** On that VM it reported
|
||||
*"No duplicate device assignments"* while `main`→device 0 (primary alias) and `radar`→device 1
|
||||
(`\\.\DISPLAY49`) were the **same physical monitor** — i.e. exactly the collision the check
|
||||
exists to predict, reported as all-clear. Fix: treat a device with no `HMONITOR` as the
|
||||
Windows primary, then compare resolved `HMONITOR`s rather than indices.
|
||||
Neither can occur on a multi-monitor pod. Worth doing only if bench/VM testing starts relying on
|
||||
the check being trustworthy.
|
||||
- [ ] (Researched, NOT started) Make `-window` work for **all** modes — full findings in
|
||||
**`WINDOWED-MODE.md`** (repo root, 2026-08-05). Headline: `-window` does not fail for MFD/
|
||||
cameraship modes, it **silently disables** them, because `use_shgui` is derived from
|
||||
|
||||
Reference in New Issue
Block a user