Skip to content

Releases: NortheBridge/LuminalVGD

LuminalVGD v0.1.0-alpha.2 — Milestone 1 Proto Driver (0.1.0.11)

Choose a tag to compare

@NorthernLights NorthernLights released this 24 Jul 08:45
25ae4a6

Milestone 1 Proto Driver Release — 0.1.0.11

This is the Milestone 1 Proto Driver Release of LuminalVGD, NortheBridge's first-party virtual display driver for LuminalShine, shipping as driver version 0.1.0.11 (build 11, DriverVer 0.1.0.11, handshake proto 0.3 build 11).

LuminalVGD is a Rust UMDF IddCx indirect-display driver purpose-built for game streaming: per-client virtual monitors with exact mode lists, a shared frame-ring transport consumed directly by the LuminalShine encoder (no OS capture API in the hot path), HDR10 end to end, a hardware-cursor plane composited at encode time, and a lease watchdog that guarantees displays are cleaned up if the host dies.

What's new since v0.1.0-alpha.1

  • Working control-surface authorization (fixes the v0.1.0-alpha.1 regression where every control IOCTL was refused, breaking streaming on installed deployments):
    • Callers are authorized at IOCTL time under impersonation — SYSTEM or elevated Administrators only; filtered (non-elevated) admin tokens are refused; fail closed.
    • Token evaluation is a fallback ladder (OpenThreadToken both modes, then CheckTokenMembership) with every outcome ETW-traced (stage + error code) for one-capture diagnosis.
    • The INF now grants UmdfImpersonationLevel = Impersonation from the correct section, and the host client opens the control device with explicit security QoS.
  • Diagnosability: new FFI vgd_last_error() surfaces the underlying Win32 error of any failed driver call in host logs.
  • Documentation: install floor updated, post-mortem and INF placement rules recorded.

Requirements

  • Windows 11 x64 (build 22000+); 24H2 (26100+) for full HDR support.
  • LuminalShine 26.08.0-beta.2 or newer. Older LuminalShine builds (including 26.08.0-beta.1) cannot complete the control-device handshake with this driver.

Install

Unpack the zip and, from an elevated PowerShell in the unpacked folder:

powershell -ExecutionPolicy Bypass -File .\install-driver.ps1 -SeedTrustedPublisher

INSTALL.md inside the zip covers verification, upgrade, and removal. Verify the download against SHA256SUMS.

LuminalVGD v0.1.0-alpha.1

Pre-release

Choose a tag to compare

@NorthernLights NorthernLights released this 24 Jul 00:22
1931574

LuminalVGD is NortheBridge Foundation's first-party virtual display driver for LuminalShine: a Rust UMDF IddCx driver that creates per-client virtual monitors with exact modes and HDR10, and hands finished frames to the streaming host through a shared-memory texture ring — no desktop-capture API in the hot path.

This is the first public release (alpha). It replaces SudoVDA as LuminalShine's virtual display backend; LuminalShine 26.08.0-beta.1 and newer bundle, install, and default to this driver.

Highlights

Display

  • Per-client virtual monitors created and destroyed per streaming session, with identity retention — Windows remembers resolution, HDR state, and scaling for each client across reconnects.
  • Exact modes: up to four modes per monitor at millihertz-precise refresh rates (59.94 Hz works), 320×200 through 7680×4320, no refresh ceiling. Frame-generation refresh doubling is a mode switch, not a monitor recreate.
  • HDR10 end to end: CTA-861.3 EDID metadata, FP16 scRGB frame transport, 10-bit wire formats — Windows engages advanced color natively on the virtual display.
  • Hardware cursor plane: the cursor is transported out-of-band (shape + position via a shared section) and composited by the host at encode time — cursor motion stays smooth even over an idle desktop.

Transport

  • Direct-to-encoder frame ring: the driver GPU-copies each composed frame into named keyed-mutex shared textures; the host claims frames via a lock-free cross-process protocol (take-CAS hardened, race-tested with threaded regression suites and live soaks).
  • Every wait is bounded. No IddCx callback performs D3D work inline, teardown shares a hard deadline budget, and a wedged worker can never hang the compositor, the control plane, or the machine — the reliability failure class this driver was built to eliminate.

Lifecycle & control

  • Driver-side lease watchdog reaps orphaned monitors when a stream stops pinging.
  • Permanent display pool: always-on virtual displays that survive reboots (up to 4).
  • Locked-down control surface: creating, destroying, or leasing monitors requires SYSTEM or an elevated Administrator — unprivileged processes are refused at open.

Diagnostics

  • ETW TraceLogging provider NortheBridge.LuminalVGD {c501990d-df12-5581-60a8-f55d593d7f7c} with breadcrumbs across bring-up, transport, and cursor paths.
  • vgd-probe CLI (build from source) exercises the full control + transport cycle, including a ring-soak mode with stall autopsy.

Requirements

  • Windows 11 x64 (build 22000+). Windows 11 24H2 (build 26100+) is required for full HDR support; SDR works on any Windows 11.
  • LuminalShine 26.08.0-beta.1 or newer to stream (the driver alone only provides virtual displays).

Install

Unpack the zip, then from an elevated PowerShell in the unpacked folder:

powershell -ExecutionPolicy Bypass -File .\install-driver.ps1 -Package .\driver-package -SeedTrustedPublisher

-SeedTrustedPublisher places the NortheBridge signing certificate in LocalMachine\TrustedPublisher only (the certificate chains to a public root; the Root store is never touched) so the install runs without a prompt. Uninstall with uninstall-driver.ps1. Full details in the bundled INSTALL.md.

LuminalShine 26.08.0-beta.1+ installs this driver automatically — the manual install is only needed for standalone use or driver-only updates.

Integrity

  • luminal_vgd_driver.dll and luminalvgd.cat are Authenticode-signed by NortheBridge Foundation and RFC-3161 timestamped.
  • Device Manager reports driver version 0.1.0.8 (this release, build 8).
  • Verify the download against SHA256SUMS.

Known limitations (alpha)

  • Gamma-ramp requests (Night Light, calibration) are acknowledged but not applied to streamed pixels — identical behavior to streaming a physical display, where capture is also pre-LUT.
  • AV1 4:4:4 encoding is an NVENC hardware gap on consumer GeForce GPUs, not a driver limitation.
  • Signing is OV + TrustedPublisher; Microsoft attestation signing (no TrustedPublisher step) is planned.

Provenance & license

AGPL-3.0-only (commercial licensing available — see LICENSING.md). Rust core and transport lineage from pf-vdisplay (MIT/Apache-2.0); SudoVDA behaviors were reimplemented from specification, not ported code. See THIRD-PARTY-NOTICES.md.