LuminalShine 26.05.0 Update Release Candidate 3 Hotfix 4
Important
LuminalShine 26.05.0 RC3 is a substantial release to prepare for Authenticode. Please be aware that there are changes such as installing to %ProgramFiles%\NortheBridge\LuminalShine and %ProgramData%\LuminalShine\.
Caution
Changes in this release may break LuminalShine if it doesn't migrate properly. Re-run the installer if this happens in order to resolve the issue. If your issue isn't resolved, submit an issue for further guidance.
Tip
LuminalShine Credentials, which are stored in the Windows Credential Manager via use of the TPM 2.0, seamlessly transition to the Authenticode version of LuminalShine. If you encounter a lockout from the Admin Interface, run "C:\Program Files\NortheBridge\LuminalShine" --reset-admin-credentials to reset the Admin Credentials to "First Run" state. You will not lose any device pairings or settings.
General
- The platform layer now exposes a dedicated
log_dir()accessor parallel toappdata(). Today it forwards to the existing data directory on Linux and macOS, and resolves to a separate logs subtree on Windows. Cross-platform callers route through a single API so any future log-location change on other platforms is a one-line implementation flip.
Windows 11 General Availability
- Install location moved to
C:\Program Files\NortheBridge\LuminalShine\. Previous installs atC:\Program Files\Sunshine\are migrated transparently by MSI MajorUpgrade — service registration, firewall rules, Start Menu shortcuts, the Reconfigure shortcut, and the registryDisplayIconall retarget without manual intervention. TheNortheBridge\parent directory is removed on uninstall if no other NortheBridge product owns it. - Upgrade dialog now defaults to the new install path. A previously installed copy at
C:\Program Files\Sunshine\(or any other path containing\Sunshine\) is automatically relocated toC:\Program Files\NortheBridge\LuminalShine\on upgrade. Both the interactive BrowseDlg suggestion and silentmsiexec /quietinstalls honor the new path, so the new binaries land at the new location without manual intervention. Custom install paths that do not contain\Sunshine\are preserved as user choices. - Pinned taskbar, desktop, and user-Start-Menu shortcuts are repointed during upgrade. A new
Repoint-LegacyShortcutsstep in the installer walks every user profile on the machine and rewrites any.lnkwhose target path or filename referenced the prior install. Rewrites are best-effort and never block the upgrade. - Logs split into
%ProgramData%\LuminalShine\logs\(sibling of the existingconfig\directory). Existing*.logand rollover*.log.N/*.bakfiles migrate in place on first launch after upgrade. The in-app log viewer, log-export endpoint, and helper-log enumeration all follow the new root automatically. - Executables renamed for brand consistency and to namespace generic tool names out of collisions with anything else on a user's
PATH:sunshine.exe→luminalshine.exesunshinesvc.exe→luminalshinesvc.exesunshine_display_helper.exe→luminalshine_display_helper.exesunshine_wgc_capture.exe→luminalshine_wgc_capture.exedxgi-info.exe→luminalshine-dxgi-info.exeaudio-info.exe→luminalshine-audio-info.exeplaynite-launcher.exe→luminalshine-playnite-launcher.exe
- Windows service renamed from
SunshineServicetoLuminalShineService. Autostart, service account, and ServiceInstall metadata are preserved across the rename; the priorsunshinesvcandSunshineServiceregistrations are cleaned up automatically during upgrade. - TPM-sealed admin credentials and paired-client list are unaffected by the rename. The Windows Credential Manager entry (
LuminalShine/AdminCredentials) and the TPM-bound key (LuminalShineAdminCredentialsKey) were already brand-neutral; theResetAdminCredentialsaction remains gated onNOT UPGRADINGPRODUCTCODEso the MajorUpgrade sequence never wipes the vault. - New Start Menu shortcut: "Reset LuminalShine Admin Password". If the saved Web UI admin login ever ends up in an unauthenticable state, you can recover with one click: launch the shortcut, confirm the prompt, and your next visit to
https://localhost:47990will show a fresh first-time setup screen. Paired Moonlight clients, the apps list, and all other settings are preserved — only the admin login is reset. - Service self-heal on unreadable admin credential. If the stored admin credential is ever found in a broken state (empty WCM blob, unparseable JSON, missing required fields), the service now logs a warning, erases the bad entry, and presents first-time setup on next browser visit instead of presenting an un-authenticable login form. TPM unseal failures are not auto-erased — those can be transient, and the new Reset Admin Password shortcut handles that case explicitly.
- Named system objects renamed so a LuminalShine install coexists cleanly on a host that also has an upstream Sunshine-family product running:
- Single-instance mutexes →
Global\LuminalShineDisplayHelper/Local\LuminalShineDisplayHelper - Display-helper IPC pipe →
luminalshine_display_helper - Display-event window class →
LuminalShineDisplayEventWindow - NVAPI per-app profile →
LuminalShineStream(keyed onluminalshine.exe) - Scheduled task author / trigger ID →
LuminalShine Display Helper/LuminalShineDisplayHelperLogonTrigger
- Single-instance mutexes →
- Display-helper IPC pipe name is now a single shared constant in
display_settings_client.h, eliminating the prior risk of client and server drifting apart when the literal was spelled independently on each side. - Crash-dump bundle generation recognises both the new
luminalshine_*filenames and the legacysunshine_*filenames, so a bundle assembled immediately after upgrade still includes any pre-migration.dmpfiles that Windows hasn't aged out yet. The diagnostic log-collection helper now probes both the newNortheBridge\LuminalShine\config\logs\install location and the legacySunshine\config\logs\for older logs you may want to attach to a bug report. - Log export and helper-log lookup walk both the new
LuminalShine\and legacySunshine\per-user appdata subdirectories. Logs from helpers that ran before the rename remain discoverable. - Display-helper process cleanup matches both new and legacy helper executable names. A stale pre-upgrade helper is terminated reliably before the new helper takes its single-instance mutex.
- Service launch path hardened.
luminalshinesvc.exenow resolves the main host binary via an absolute path derived from its own module location, instead of relying on the SCM's current-working-directory inheritance. This removes an occasional silent launch failure observed on hosts where the service's effective CWD was not the install root. - MSI process-kill list now covers both new and legacy executable names. Upgrades from a prior install and reinstalls on a host already running the new binaries both kill the right processes before file replacement, so neither path leaves files mapped through reboot.
- NVIDIA per-app driver profile is created/updated automatically on first launch as
LuminalShineStreamkeyed onluminalshine.exe, carrying the same GPU power-mode behaviour as before. A pre-existingSunshineStreamprofile from a prior install becomes a cosmetic entry in NVIDIA Control Panel that no longer matches any running process and can be removed manually if desired.
Windows 11 Insider Preview
- No Insider-specific changes in this release. The general-availability migration applies identically on Insider Preview hosts, and the upgrade-time process-kill / display-helper-cleanup hardening above incidentally addresses several edge cases that surfaced most often on Insider builds.
Hotfixes
- MSI upgrade dialog defaulted to the legacy
C:\Program Files\Sunshine\path instead of the newNortheBridge\LuminalShine\location. Root cause:WIXUI_INSTALLDIRmakes Windows Installer persist the prior install'sARPINSTALLLOCATIONacross upgrades andAppSearchre-seedsINSTALL_ROOTfrom it, overriding CMake's new Directory-table default. Without an explicit override, both interactive BrowseDlg and silentmsiexec /quietupgrades would have laid the new binaries down at the legacy path — new brand, legacy location. Fixed with a Type-51SetPropertythat fires afterAppSearchand only whenINSTALL_ROOTstill contains\Sunshine\, so fresh installs and post-26.05.1 upgrades remain no-ops. - Bootstrapper UI default install path also showed the legacy
C:\Program Files\Sunshine\even on fresh installs. The bootstrapper resolved its default from a hardcoded\Sunshineconstant that was missed in the rename, and pre-existing installs registered at the legacy path bled through into the BrowseDlg textbox. Now reflects the canonicalNortheBridge\LuminalShinepath; legacy-path detection mirrors the MSISetPropertyso the UI and the actual install behaviour converge. - Web UI returned 404s on every asset; the encoder failed to start. The service binary, when launched by the Service Control Manager, inherited
C:\Windows\System32as its working directory. Relative asset paths (assets/web/index.html,assets/shaders/directx/*.hlsl,assets/desktop.png, etc.) resolved against System32 and were not found, producing a broken login form and a Platform-init failure with HRESULT0x80070003. The main host now anchors its working directory to the executable's install root at startup before any relative-path lookup runs. - Bootstrapper "Browse" button silently did nothing on hosts where the modern Windows shell folder picker (
IFileOpenDialog) failed to instantiate — most commonly observed under certain RDP configurations and on hosts with non-standard COM registration. The button now falls back to the classicFolderBrowserDialogif the modern picker errors out, and surfaces a diagnostic dialog if both pickers fail rather than appearing dead. - The
--reset-admin-credentialsCLI subcommand worked, but every shipped invocation of it didn't. The argument dispatcher only recognises subcommands prefixed with--, but the WiX uninstall action'sResetAdminCredentialscustom action and the bundled documentation both invoked it as a barereset-admin-credentials. As a result the manual-uninstall credential-clear path was a silent no-op in every release through26.05.0-rc3.hfx3. Both invocations now route correctly through the dispatcher; the new Start Menu "Reset LuminalShine Admin Password" shortcut provides a discoverable in-product alternative to ever needing the CLI.
Automated release for 26.05.0-rc3.hfx4.
Contributors
Full Changelog: 26.05.0-rc2...26.05.0-rc3.hfx4