Clarify dgVoodoo2 scope: any second display, cameraship included

The dgVoodoo2 requirement was written as an MFD-mode problem. It is not. The
limitation is per SECONDARY DISPLAY, not per feature, so it applies to every mode
that lights up a second monitor -- including cameraship mode, which uses two
displays and no MFDs at all.

Console mode is the only configuration that does not need dgVoodoo2, because it is
single-display.

This matches the code: IsMultimonitorAvaliable() returns false for
_ECTCL_CameraShip, so cameraship falls through to IsSecondaryMonitorAvaliable()
and the single-secondary mr_device path -- which is still a second exclusive
IDirectDraw7, and therefore still refused by modern Windows for exactly the same
reason as the MFD panels.

Release notes updated in all three places it appears -- section heading and opening,
the known-issues entry, and upgrade checklist step 4 -- so an owner running
cameraship pods cannot read the requirement as "only applies to MFD setups" and
skip it. CLAUDE.md STEP 10 and repo memory corrected likewise, since both stated
the narrower "-tmfds 1/3/4" scope.

Both release-notes formats regenerated; still plain ASCII with CRLF.

Co-authored-by: Claude Opus 5 (Anthropic) <noreply@anthropic.com>
Co-authored-by: GitHub Copilot <copilot@github.com>
This commit is contained in:
2026-07-26 10:20:10 -05:00
co-authored by Claude Opus 5 GitHub Copilot
parent 7f7f98d992
commit 7fc9089aad
3 changed files with 44 additions and 27 deletions
+7 -1
View File
@@ -1039,7 +1039,13 @@ rebuild between attempts. Results (no dgVoodoo2, shim applied, `-tmfds 4`):
**CONCLUSION: on modern Windows only ONE DirectDraw object per process may hold exclusive
fullscreen.** The main display takes it; every secondary panel is refused. XP allowed multiple;
**dgVoodoo2 allows it because it is a full reimplementation of ddraw, not bound by that rule.**
=> **dgVoodoo2 cannot be removed for `-tmfds 1/3/4` by fixing flags.** Default stays `-tcoop 0`.
=> **dgVoodoo2 cannot be removed by fixing flags.** The limitation is per *secondary display*,
not per feature, so it applies to **every mode that opens a second monitor** — all MFD modes
(`-tmfds 1/3/4`) **and cameraship mode**, which drives two displays with no MFDs at all via the
single-secondary `mr_device` path (`IsMultimonitorAvaliable()` returns false for
`_ECTCL_CameraShip`, so it falls to `IsSecondaryMonitorAvaliable()` — still a second exclusive
IDirectDraw7). **Console mode is the only configuration that needs no dgVoodoo2**, because it is
single-display. Default stays `-tcoop 0`.
(`-tcoop` is retained: it is how this was settled and will re-settle it on different hardware.)
### ✅ Working 4-monitor config (WITH dgVoodoo2)
+18 -13
View File
@@ -137,12 +137,15 @@ and <code>3</code>) are unchanged and remain the default for existing pods.</p>
<h3>Split MFD stutter -- fixed</h3>
<p>Early split-MFD builds had a constant rhythmic stutter across the whole game. Fixed. The two MFD
panels no longer force the graphics card to stall every frame cycle.</p>
<h3>Required dgVoodoo2 setting for ALL MFD modes on Windows 10/11</h3>
<p><strong>On Windows 10 and 11, dgVoodoo2 is required for every MFD mode -- including the original
spanned display (<code>-tmfds 1</code> and <code>-tmfds 3</code>), not only the new split mode (<code>-tmfds 4</code>).</strong></p>
<p>If your pod drives any MFD or radar panel at all, this applies to you. It is not specific to
the new split-MFD feature: the underlying Windows limitation affects every mode that lights up
a second display. On Windows XP none of this was needed.</p>
<h3>Required dgVoodoo2 setting for any multi-display mode on Windows 10/11</h3>
<p><strong>On Windows 10 and 11, dgVoodoo2 is required for every mode that uses more than one display.</strong>
That means all of the MFD modes -- the original spanned display (<code>-tmfds 1</code> and <code>-tmfds 3</code>) as
well as the new split mode (<code>-tmfds 4</code>) -- <strong>and cameraship mode</strong>, which drives two monitors
without using MFDs at all.</p>
<p><strong>Console mode is the only configuration that does not need it</strong>, because it uses a single display.</p>
<p>The deciding factor is the number of displays, not which feature you are using: anything that
lights up a second monitor runs into the same Windows limitation. On Windows XP none of this
was needed.</p>
<div class="warn"><p><strong>dgVoodoo2 is not part of the build, and must NOT be installed on Windows XP pods.</strong>
XP uses the graphics support built into Windows and needs nothing extra -- adding dgVoodoo2
there will break it. It is a per-machine prerequisite that you install yourself, on
@@ -326,11 +329,11 @@ start. Previously such failures were completely silent. Include this file with a
<hr>
<h2>10. Known issues and limitations</h2>
<ul>
<li><strong>Every MFD mode requires dgVoodoo2 on Windows 10/11</strong> -- the spanned modes (<code>-tmfds 1</code>
and <code>-tmfds 3</code>) just as much as the split mode (<code>-tmfds 4</code>) -- with scaling set to
<code>Stretched, Keep Aspect Ratio</code>. dgVoodoo2 works around a limitation on exclusive
full-screen use of multiple displays on platforms after Windows XP. It may be possible
to fix this in a future release.</li>
<li><strong>Any multi-display mode requires dgVoodoo2 on Windows 10/11</strong> -- every MFD mode (spanned
<code>-tmfds 1</code> / <code>-tmfds 3</code> and split <code>-tmfds 4</code>) and cameraship mode. Console mode, using a
single display, is the only exception. Scaling must be set to <code>Stretched, Keep Aspect Ratio</code>.
dgVoodoo2 works around a limitation on exclusive full-screen use of multiple displays on
platforms after Windows XP. It may be possible to fix this in a future release.</li>
<li><strong>The MySQL export in mw4print has not been tested against a live server.</strong></li>
<li><strong>The game renders in 4:3 only.</strong> There is no widescreen mode. On 16:9 monitors, use
keep-aspect scaling for correct geometry with black bars at the sides.</li>
@@ -344,8 +347,10 @@ start. Previously such failures were completely silent. Include this file with a
<li>Copy in the new build.</li>
<li><strong>Double-click <code>set-appcompat.bat</code></strong> (as administrator if the pod has multiple accounts).</li>
<li><strong>On Windows 10/11, confirm dgVoodoo2 is installed and its scaling mode is
<code>Stretched, Keep Aspect Ratio</code>.</strong> This is required for <strong>every</strong> MFD mode -- spanned
(<code>-tmfds 1</code> / <code>-tmfds 3</code>) as well as split (<code>-tmfds 4</code>). Windows XP pods do not need it.</li>
<code>Stretched, Keep Aspect Ratio</code>.</strong> Required for <strong>any</strong> mode that uses more than one
display: all MFD modes (spanned <code>-tmfds 1</code> / <code>-tmfds 3</code>, split <code>-tmfds 4</code>) and cameraship
mode. Only console mode, on a single display, does without it. Windows XP pods never
need it.</li>
<li>Launch and confirm the console lobby reads the new version.</li>
<li>Play one mission end to end before putting the pod back into service.</li>
<li>Optional: add <code>[automaticmode]</code> and <code>[RookieMission]</code> to <code>options.ini</code> if you want the new
+19 -13
View File
@@ -142,14 +142,18 @@ and `3`) are unchanged and remain the default for existing pods.
Early split-MFD builds had a constant rhythmic stutter across the whole game. Fixed. The two MFD
panels no longer force the graphics card to stall every frame cycle.
### Required dgVoodoo2 setting for ALL MFD modes on Windows 10/11
### Required dgVoodoo2 setting for any multi-display mode on Windows 10/11
**On Windows 10 and 11, dgVoodoo2 is required for every MFD mode -- including the original
spanned display (`-tmfds 1` and `-tmfds 3`), not only the new split mode (`-tmfds 4`).**
**On Windows 10 and 11, dgVoodoo2 is required for every mode that uses more than one display.**
That means all of the MFD modes -- the original spanned display (`-tmfds 1` and `-tmfds 3`) as
well as the new split mode (`-tmfds 4`) -- **and cameraship mode**, which drives two monitors
without using MFDs at all.
If your pod drives any MFD or radar panel at all, this applies to you. It is not specific to
the new split-MFD feature: the underlying Windows limitation affects every mode that lights up
a second display. On Windows XP none of this was needed.
**Console mode is the only configuration that does not need it**, because it uses a single display.
The deciding factor is the number of displays, not which feature you are using: anything that
lights up a second monitor runs into the same Windows limitation. On Windows XP none of this
was needed.
> **dgVoodoo2 is not part of the build, and must NOT be installed on Windows XP pods.**
> XP uses the graphics support built into Windows and needs nothing extra -- adding dgVoodoo2
@@ -352,11 +356,11 @@ start. Previously such failures were completely silent. Include this file with a
## 10. Known issues and limitations
- **Every MFD mode requires dgVoodoo2 on Windows 10/11** -- the spanned modes (`-tmfds 1`
and `-tmfds 3`) just as much as the split mode (`-tmfds 4`) -- with scaling set to
`Stretched, Keep Aspect Ratio`. dgVoodoo2 works around a limitation on exclusive
full-screen use of multiple displays on platforms after Windows XP. It may be possible
to fix this in a future release.
- **Any multi-display mode requires dgVoodoo2 on Windows 10/11** -- every MFD mode (spanned
`-tmfds 1` / `-tmfds 3` and split `-tmfds 4`) and cameraship mode. Console mode, using a
single display, is the only exception. Scaling must be set to `Stretched, Keep Aspect Ratio`.
dgVoodoo2 works around a limitation on exclusive full-screen use of multiple displays on
platforms after Windows XP. It may be possible to fix this in a future release.
- **The MySQL export in mw4print has not been tested against a live server.**
- **The game renders in 4:3 only.** There is no widescreen mode. On 16:9 monitors, use
keep-aspect scaling for correct geometry with black bars at the sides.
@@ -371,8 +375,10 @@ start. Previously such failures were completely silent. Include this file with a
2. Copy in the new build.
3. **Double-click `set-appcompat.bat`** (as administrator if the pod has multiple accounts).
4. **On Windows 10/11, confirm dgVoodoo2 is installed and its scaling mode is
`Stretched, Keep Aspect Ratio`.** This is required for **every** MFD mode -- spanned
(`-tmfds 1` / `-tmfds 3`) as well as split (`-tmfds 4`). Windows XP pods do not need it.
`Stretched, Keep Aspect Ratio`.** Required for **any** mode that uses more than one
display: all MFD modes (spanned `-tmfds 1` / `-tmfds 3`, split `-tmfds 4`) and cameraship
mode. Only console mode, on a single display, does without it. Windows XP pods never
need it.
5. Launch and confirm the console lobby reads the new version.
6. Play one mission end to end before putting the pod back into service.
7. Optional: add `[automaticmode]` and `[RookieMission]` to `options.ini` if you want the new