Windows 7 build path: CEF/dullahan 109 + Win7 build target (separate build flavour) #800

Open
opened 2026-10-16 14:50:17 +00:00 by sky_line · 0 comments
Owner

Add a separate Windows 7 build path: its own build flavour, installer and channel, next to the normal Windows build, for users who are still on Windows 7 SP1.

Accepted trade-off (owner decision): this build runs an old Chromium (CEF 109) that no longer gets security patches. Users who stay on Windows 7 are already running an unpatched OS knowingly, so this is acceptable. The installer, download page and release notes should say so plainly.

What's needed:

  1. Embedded browser: a dullahan build on CEF / Chromium 109, the last Chromium that runs on Windows 7/8. Today's dullahan is Chromium 152, which won't start there.
    • Build or mirror it as its own 3p package (scripts/3p/manifest.py), selected only by the Win7 flavour.
    • Check our dullahan / media plugin code against the older CEF API, and gate whatever doesn't compile.
  2. Build target: a Win7 configure preset (indra/CMakePresets.json) with WINVER=_WIN32_WINNT=0x0601 instead of 0x0A00 (indra/cmake/LLBuildFlags.cmake:32).
    • Audit imports so no Windows 8/10-only API is hard-linked; use run-time GetProcAddress fallbacks the way llthread.cpp and llwindebug.cpp already do for SetThreadDescription / GetThreadDescription.
    • Check the import table of the final exe and DLLs, e.g. against a Windows 7 API set.
  3. Runtime: Universal CRT requirement (KB2999226 / UCRT redistributable), and the toolchain / CRT version that still supports Windows 7 SP1. Bundle or install the UCRT in the installer.
  4. 3p dependencies: verify SDL3 3.2, OpenSSL 3.5, curl 8, VLC 3.0 and the other 3p libraries on Windows 7 SP1. Pin older versions for this flavour where needed.
  5. Graphics: the Vulkan 1.2 floor (#675) already fits the last Windows 7 drivers: NVIDIA R474.x (Maxwell to Ampere) and AMD's last Windows 7 Adrenalin release. Make sure the feature tiering handles those drivers (no 1.3-only paths, optional extensions are probed).
  6. CI and releases: a Win7 job in .forgejo/workflows/release.yml (Windows cross build with the Win7 preset + CEF 109), its own release asset and update channel, so the auto-updater never moves a Win7 install onto the Windows 10 build.
  7. Testing: a real Windows 7 SP1 machine or VM with GPU passthrough on R474 drivers covering login, world rendering, web profiles, media on a prim, voice and crash reporting.
Add a separate **Windows 7 build path**: its own build flavour, installer and channel, next to the normal Windows build, for users who are still on Windows 7 SP1. **Accepted trade-off (owner decision):** this build runs an old Chromium (CEF 109) that no longer gets security patches. Users who stay on Windows 7 are already running an unpatched OS knowingly, so this is acceptable. The installer, download page and release notes should say so plainly. **What's needed:** 1. **Embedded browser:** a dullahan build on **CEF / Chromium 109**, the last Chromium that runs on Windows 7/8. Today's dullahan is Chromium 152, which won't start there. - Build or mirror it as its own 3p package (`scripts/3p/manifest.py`), selected only by the Win7 flavour. - Check our dullahan / media plugin code against the older CEF API, and gate whatever doesn't compile. 2. **Build target:** a Win7 configure preset (`indra/CMakePresets.json`) with `WINVER=_WIN32_WINNT=0x0601` instead of `0x0A00` (`indra/cmake/LLBuildFlags.cmake:32`). - Audit imports so no Windows 8/10-only API is hard-linked; use run-time `GetProcAddress` fallbacks the way `llthread.cpp` and `llwindebug.cpp` already do for `SetThreadDescription` / `GetThreadDescription`. - Check the import table of the final exe and DLLs, e.g. against a Windows 7 API set. 3. **Runtime:** Universal CRT requirement (KB2999226 / UCRT redistributable), and the toolchain / CRT version that still supports Windows 7 SP1. Bundle or install the UCRT in the installer. 4. **3p dependencies:** verify SDL3 3.2, OpenSSL 3.5, curl 8, VLC 3.0 and the other 3p libraries on Windows 7 SP1. Pin older versions for this flavour where needed. 5. **Graphics:** the Vulkan 1.2 floor (#675) already fits the last Windows 7 drivers: NVIDIA R474.x (Maxwell to Ampere) and AMD's last Windows 7 Adrenalin release. Make sure the feature tiering handles those drivers (no 1.3-only paths, optional extensions are probed). 6. **CI and releases:** a Win7 job in `.forgejo/workflows/release.yml` (Windows cross build with the Win7 preset + CEF 109), its own release asset and update channel, so the auto-updater never moves a Win7 install onto the Windows 10 build. 7. **Testing:** a real Windows 7 SP1 machine or VM with GPU passthrough on R474 drivers covering login, world rendering, web profiles, media on a prim, voice and crash reporting.
sky_line added this to the Slipstream project 2026-10-16 14:50:18 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#800
No description provided.