LuminalShine 26.05.0-rc7
A hotfix release addressing a host crash that could leave the screen blank and the stream disconnected.
General
No changes in this release.
Windows 11
- Host no longer crashes when the Windows display stack is wedged. See Hotfixes below — the streaming host now degrades gracefully and stays running instead of fast-failing when no display can be acquired.
Windows 11 Experimental Future Platforms
- This release specifically hardens behavior on Windows 11 Insider Preview (Canary/Dev) builds (e.g. build 29613), where the display stack and the SudoVDA virtual-display driver are more prone to wedging (
QueryDisplayConfigreturningERROR_NOT_SUPPORTED, virtual-display enumerate timeouts). If you hit a blank-screen/no-display state on an Insider build, the recommended workaround remains: run "Reconfigure LuminalShine" and switch SudoVDA → MTT Virtual Display Driver, then reboot to clear the wedged display API.
Security Fixes
- Eliminated an uncaught-exception →
std::terminateabort in the SYSTEM-privileged host. A C++ exception thrown during encoder/display acquisition could unwind out of a service thread and fast-fail the entire process (STATUS_STACK_BUFFER_OVERRUN,0xC0000409). This is the same fix as the Hotfix below, noted here for its availability/robustness impact on a process that runs as SYSTEM. No attacker-controlled input is involved.
Hotfixes
- Never let an encoder probe abort the host on a wedged display stack. When the Windows display stack was wedged — no enumerable monitors,
QueryDisplayConfig→ERROR_NOT_SUPPORTED, a SudoVDA virtual-display enumerate timeout, or a sustainedDXGI_ERROR_DEVICE_REMOVED(0x887A0004) loop — the encoder-acquisition path could throw a C++ exception that escaped its thread and fast-failed the whole service (0xC0000409). The host crashed and did not recover: monitors went blank and the stream dropped (the client's "TLS error" was just the control connection being torn when the host died — there was no actual TLS/certificate fault). This was not a GPU hardware TDR (nonvlddmkm/ Kernel-Power events) — it was a display-stack/virtual-display wedge the host should survive.probe_encoders()now treats any thrown exception as a normal probe failure, so every code path (startup, the nvhttp control plane, and the WebRTC signaling path) takes its graceful "no display → wait and retry" route and the daemon stays alive.- The WebRTC client-connect path's direct display-acquisition call is now wrapped so it refuses the session cleanly instead of aborting.
- Note: this fixes the host-side crash/non-recovery. It does not prevent the underlying display-stack/SudoVDA wedge itself — see Windows 11 Experimental Future Platforms for the environmental mitigation.
Automated release for 26.05.0-rc7.
Full Changelog: 26.05.0-rc6...26.05.0-rc7