github NortheBridge/luminalshine 26.08.0
LuminalShine 26.08.0

2 hours ago

LuminalShine 26.08.0

LuminalShine 26.08.0 is the first stable release built around LuminalVGD, NortheBridge's first-party virtual-display driver and direct-to-encoder capture path. It replaces the legacy SudoVDA integration, creates a display for each client, supports HDR10 and high-refresh streaming, and carries a substantially expanded recovery and diagnostic system for Windows graphics-stack failures.

This release bundles the signed LuminalVGD v0.1.0-alpha.7 package:

  • Driver version: 0.1.0.23
  • Driver build: 23
  • Protocol: 0.9
  • Package SHA-256: afe890d0b0b94232b20eb0b6e3aac738e2f1ea73c66572541b9bb1b2e97d5afe

The installer verifies the downloaded driver archive against that pinned digest during the release build. The signed driver DLL and catalog are taken from the LuminalVGD GitHub release and are not stored in the LuminalShine source repository.

Upgrading from an earlier 26.08.0 beta or release candidate is strongly recommended. The stable build includes a newer signed driver and host-side recovery behavior that must be deployed together.

Highlights

First-party per-client virtual displays

LuminalVGD is now the only supported virtual-display backend. LuminalShine creates and manages virtual monitors directly for streaming sessions instead of relying on SudoVDA.

  • Virtual display mode defaults to per_client.
  • Virtual display layout defaults to exclusive, placing the streaming display in the foreground while physical monitors are restored when the session ends.
  • Each identified client receives a stable, isolated display identity and its own requested resolution, refresh rate, HDR state, and configuration overrides.
  • Reuse is validated against both the requesting client and the monitor's current Windows identity, preventing probe displays or another client's display from being handed to a session.
  • Inactive monitors are resolved by driver identity rather than a mutable client label.
  • Anonymous or unidentified clients receive a safe launch-scoped allocation instead of sharing a misleading machine-wide identity.
  • If a requested display cannot surface, the driver session is cleaned up instead of becoming a zombie.

SudoVDA is no longer selected or touched at runtime. The installer removes legacy SudoVDA devices and packages the signed LuminalVGD driver as the supported path.

Direct-to-encoder capture

LuminalShine can consume LuminalVGD's GPU frame ring directly, avoiding Windows Graphics Capture in the normal path.

  • Shared GPU textures travel from the IddCx swapchain to the encoder without a desktop-capture round trip.
  • The ring uses atomic slot ownership and monotonic frame delivery so the host cannot overwrite a texture while it is being encoded.
  • Swapchain reassignments are treated as bounded recovery windows rather than immediate fatal capture failures.
  • Capture admission waits for the driver's first published frame instead of assuming that swapchain assignment alone means pixels are ready.
  • Hardware cursor shape and position are carried separately and composited at encode time, including cursor-only updates over an otherwise idle desktop.
  • Recoverable ring failures reinitialize capture without terminating every active streaming session.
  • A never-activated or unnamed virtual display is rejected before ring capture begins.

HDR10, 10-bit, and 4:4:4

LuminalVGD and LuminalShine now support HDR10 end to end on the virtual display path.

  • The virtual display exposes HDR-capable EDID and advanced-color metadata.
  • The ring carries FP16 scRGB frames when Windows advanced color is active.
  • LuminalShine converts and encodes HDR through HEVC Main10, including YUV 4:4:4 where supported by the selected encoder and client.
  • HDR metadata is preserved through direct capture.
  • A Virtual Display Control Panel setting allows the display's peak luminance to be configured in nits.
  • Temporary ring recovery no longer silently forces the session from 4:4:4 to 4:2:0.

Actual codec and chroma availability still depends on the GPU encoder and Moonlight client. In particular, NVIDIA hardware support differs between HEVC and AV1 profiles.

Frame generation and refresh-rate handling

Every virtual display now advertises both the requested refresh rate and the applicable base rate from session creation. A game can enable or disable native frame generation without requiring LuminalShine to unplug the monitor or globally force frame generation.

  • The requested client refresh remains available for direct LuminalVGD capture.
  • Base and doubled refresh modes are advertised before a game starts.
  • Native game-controlled frame generation can select the appropriate rate without a mid-game monitor recreation.
  • Dynamic mode updates are understood when supported by the driver, while an already committed Windows mode is never evicted.
  • Refresh-rate requests are checked against the display's actual supported mode list instead of being reported as successful after Windows silently selected a different rate.

Build 23 transport containment

Build 23 addresses a failure pattern found in Build 22 field traces: an optional direct-ring setup failure could repeatedly delete and reassign the IddCx swapchain, exhaust D3D resources, and eventually remove the only active monitor.

  • A rejected D3D12 timeline-fence ring now downgrades once, in place, to the keyed-mutex transport.
  • LuminalShine reads the transport actually selected by the driver for each ring generation and reopens its resources accordingly.
  • The downgrade does not unplug the monitor, recreate the display, or initiate another modeset.
  • Remaining non-device publication failures enter a drain-only state: the driver continues servicing IddCx frames without publishing direct-ring textures.
  • Exhausting the transport recovery budget marks direct capture unavailable while keeping the virtual monitor attached.
  • Only explicit GPU device-loss results—device removed, reset, or hung—enter device-reassignment recovery.
  • The recovery monitor can be scheduled before staged topology activation and will arm when the display becomes active, closing the startup race where no recovery observer was installed.

Graphics-stack and TDR recovery

The 26.08.0 cycle includes extensive recovery work based on real GPU-reset, black-screen, and QueryDisplayConfig failure traces.

  • A LuminalVGD ring in REBUILDING with a live heartbeat is treated as recovering rather than dead.
  • Recovery verdicts are carried from capture into the encoder so the session can wait without violating encoder lifetime rules.
  • Every recovery wait is paced and bounded.
  • A transient admission failure can be requalified when the driver and display become healthy, without restarting LuminalShine.
  • LuminalShine can transition from WGC fallback back to direct VGD capture when the driver becomes available.
  • Driver rebinding and service-owned device recovery can complete without requiring a Windows reboot in supported cases.
  • A topology lifeboat activates a physical display on a detected GPU hang when the virtual display is the only active output.
  • Sustained empty display enumeration and terminal QueryDisplayConfig failures are distinguished, latched, and surfaced to the UI.
  • Golden topology snapshots are retained when the display stack is too unhealthy to prove that a monitor was actually removed.
  • Display-helper wedges are escalated explicitly instead of producing an unbounded silent polling loop.
  • Deferred service restarts and leak reclamation respect both RTSP and WebRTC sessions and the current display-stack state.

A system-wide Windows graphics-stack failure can still require a reboot. LuminalShine can diagnose and contain that condition, but it cannot reconstruct a kernel display stack that no longer accepts display-configuration requests.

Encoder and streaming updates

  • Updated the NVIDIA Video Codec SDK integration to 13.1 and advanced the packaged FFmpeg build.
  • NVENC encode waits use corroborating evidence before being classified as a GPU reset; a single 100 ms timeout is no longer enough to declare a TDR.
  • The RTSS/NVIDIA Control Panel application-adjustment ladder is removed from the latency-sensitive RTSP ANNOUNCE path.
  • Deferred encoder probing is retried so HEVC, HDR, and 4:4:4 capability warnings reflect the eventual working GPU state.
  • Capture and conversion recovery distinguish synchronous and asynchronous encoder paths.
  • Cancelled sessions no longer run deferred start actions during teardown.

Installer and update reliability

  • The Windows installer ships the signed LuminalVGD Build 23 package and removes SudoVDA.
  • The release workflow pins both the LuminalVGD release tag and its SHA-256 digest.
  • Driver installation scans were reduced from potentially minutes to seconds.
  • PowerShell fallbacks invoked by the MSI use the native 64-bit interpreter.
  • Driver control-interface failures now include actionable open and handshake diagnostics.
  • Driver version, protocol, build, capabilities, and installation status appear in About and Troubleshooting.
  • Release tags are pinned to the exact commit used to build the binaries, eliminating drift between the About page, artifacts, and Git tag.
  • Windows release downloads continue to include the bootstrapper installer, portable ZIP, and debug-symbol archive.

Web UI and operational diagnostics

  • Added LuminalVGD Control Panel and About pages with live driver information.
  • Added Session Details v2 with client identity, display range, status pills, and expanded streaming statistics.
  • Display-stack degradation and terminal failure are surfaced as actionable UI state rather than only appearing in logs.
  • Every rotated log segment now includes product version and full source commit identity.
  • LuminalVGD ETW tracing can persist from boot, rotates per boot, and is included in crash/diagnostic bundles.
  • Added a top-level crash handler and minidump generation for otherwise unhandled process failures.
  • Tray shutdown now observes service termination correctly and reports the actual phase if shutdown cannot complete.
  • First-run password fields are only rendered when no credentials exist.
  • LAN Web UI access, credential-store corruption recovery, stats-only login, and hot credential application were corrected.

Security and correctness fixes

  • Fixed a pairing use-after-free and serialized HTTP connection I/O.
  • Client certificates are associated with the connection that presented them instead of a shared request-thread slot, preventing concurrent clients from receiving each other's per-client settings.
  • Fixed X.509 ownership handling that could over-release certificate objects.
  • Preserved complete credential records across hot configuration updates.
  • Improved release signing failure detection so CodeSignTool errors cannot be mistaken for successful signing.

Defaults and behavior changes

  • virtual_display_mode defaults to per_client.
  • virtual_display_layout defaults to exclusive.
  • An invalid or misspelled layout value still fails safely to extended; exclusive physical-monitor deactivation must be selected deliberately.
  • LuminalVGD is the supported virtual-display backend. SudoVDA settings may be migrated where applicable, but SudoVDA itself is removed.
  • Both the client refresh and its base refresh are advertised for every virtual-display session.
  • RTSS interaction is disabled; LuminalShine no longer depends on RTSS for frame-generation control.

Upgrade notes

  1. Download and run LuminalShine_x64-installer.exe from this release.
  2. Allow the installer to update LuminalVGD and remove any remaining SudoVDA device.
  3. Reboot only if Windows reports that the previous driver or display stack cannot be rebound during installation.
  4. After installation, open Troubleshooting or Device Manager and verify:
    • LuminalShine version 26.08.0
    • LuminalVGD driver 0.1.0.23
    • protocol 0.9
    • build 23
  5. Existing paired Moonlight clients and ordinary streaming configuration are retained.

If upgrading from 26.08.0-rc.5, note that rc.5 accidentally bundled an older driver. Installing this stable release replaces it with the intended signed Build 23 package.

Known limitations

  • A genuine DXGI_ERROR_DEVICE_REMOVED, device reset, or device hang interrupts the active GPU generation. Build 23 contains the failure and preserves topology, but complete stream reconstruction depends on Windows successfully recreating the graphics device.
  • A machine-wide display-stack wedge in which QueryDisplayConfig permanently returns ERROR_NOT_SUPPORTED generally requires a Windows reboot.
  • Grand Theft Auto V Enhanced is unusually sensitive to Windows monitor and GPU device-change notifications. Build 23 eliminates unnecessary transport-driven monitor cycles, but a genuine GPU reset or session start/end topology change can still reach the game's own device-change handling.
  • During a sufficiently long GPU outage, the Moonlight client may time out and reconnect even if LuminalShine and the virtual display remain alive.
  • Avoid manually invoking Win+Ctrl+Shift+B while an exclusive virtual display is the only active output.

Downloads

  • LuminalShine_x64-installer.exe — recommended installer and driver deployment path
  • LuminalShine_x64-portable.zip — portable application package; driver installation remains a privileged system operation
  • LuminalShine_x64-debuginfo.7z — symbols for crash and field-trace analysis

Reporting problems

For virtual-display, frozen-frame, or recovery failures, include:

  • the complete LuminalShine runtime log
  • LuminalVGD, IddCx, and DDisplay ETLs covering the failure
  • Windows System events from Display, DxgKrnl, nvlddmkm/the applicable GPU driver, and WHEA
  • the client resolution, refresh rate, codec, chroma mode, and HDR state
  • whether the session used exclusive, extended, per_client, or shared

Those files allow a driver transport failure, encoder stall, client disconnect, GPU device removal, and machine-wide Windows display-stack failure to be distinguished without guesswork.

Don't miss a new luminalshine release

NewReleases is sending notifications on new releases.