Intelligent startup splash screen for Windows - Full-screen video display with CPU-aware adaptive looping.
✅ Auto-start at Windows login (fastest possible startup)
✅ Full-screen on all monitors (multi-display support)
✅ CPU-aware intelligent looping (adapts to system load)
✅ Smooth fade-out transition (professional exit)
✅ Native PowerShell + WPF (no external dependencies)
✅ One-line installer (downloads everything automatically)
Copy and paste this command in PowerShell (Admin not required):
irm https://raw.githubusercontent.com/LightZirconite/LoginLight/main/Install-Startup.ps1 | iex✅ Downloads LoginSplash.ps1 and login.mp4 from GitHub
✅ Installs to %LOCALAPPDATA%\LoginLight\
✅ Registers to Windows Startup folder
✅ Ready on next login!
- Startup: Launches automatically when you log into Windows
- Display: Shows
login.mp4full-screen on all monitors - Initial wait: Plays for 3 seconds minimum
- CPU monitoring:
- If CPU ≥ 80% → loops video (system busy with startup tasks)
- If CPU ≤ 50% → prepares to exit (system ready)
- Safety: Auto-exits after 60 seconds if system remains busy
- Exit: Waits for video to complete, then fades out smoothly
Right-click Install-Startup.ps1 → Run with PowerShell
This automatically downloads all files from GitHub and sets up startup.
Log out and log back in to see it at startup, or test manually:
& "$env:LOCALAPPDATA\LoginLight\LoginSplash.ps1"One-line uninstaller:
irm https://raw.githubusercontent.com/LightZirconite/LoginLight/main/Uninstall-Startup.ps1 | iexOr download and run Uninstall-Startup.ps1 manually.
This removes the startup shortcut and deletes all installed files from %LOCALAPPDATA%\LoginLight\.
Edit LoginSplash.ps1 in %LOCALAPPDATA%\LoginLight\ to customize:
$initialWaitSeconds = 3 # Minimum display time
$cpuHighThreshold = 80 # CPU % to keep looping
$cpuLowThreshold = 50 # CPU % to allow exit
$cpuCheckIntervalMs = 1000 # CPU check frequency (ms)
$fadeOutDurationSeconds = 1.5 # Fade-out animation duration
$maxTimeoutSeconds = 60 # Safety timeout (force exit)At Windows startup, many background services and applications load simultaneously, causing CPU spikes. This app intelligently waits for the system to stabilize before closing, ensuring:
- User sees the splash screen during the "busy" startup phase
- Smooth transition to desktop when system is ready
- No abrupt closure while apps are still loading
- Files:
%LOCALAPPDATA%\LoginLight\(e.g.,C:\Users\YourName\AppData\Local\LoginLight\) - Startup:
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\LoginLight.lnk
This is a user-level installation (not system-wide), requiring no administrator privileges.
- Minimal overhead: Uses native Windows APIs
- Multi-threaded: Video playback + CPU monitoring run independently
- Clean exit: Properly disposes all resources
- Verify
assets\login.mp4exists - Check video codec compatibility (MP4 H.264 recommended)
- Test video in Windows Media Player first
- Run
Install-Startup.ps1again - Check registry:
Get-ItemProperty HKCU:\Software\Microsoft\Windows\CurrentVersion\Run - Verify PowerShell execution policy allows scripts
- Lower
$cpuLowThreshold(e.g., to 40%) - Reduce
$initialWaitSeconds(minimum 3 seconds recommended)
- This is intentional for multi-monitor setups
- If undesired, modify script to target primary screen only
Replace Get-CpuUsage function:
function Get-RamUsage {
$os = Get-CimInstance Win32_OperatingSystem
$totalMem = $os.TotalVisibleMemorySize
$freeMem = $os.FreePhysicalMemory
return [math]::Round((($totalMem - $freeMem) / $totalMem) * 100, 2)
}Then update thresholds accordingly (RAM patterns differ from CPU).
Set:
$cpuHighThreshold = 100 # Never loop
$cpuLowThreshold = 0 # Always exit after first play- OS: Windows 10/11
- PowerShell: 5.1+ (pre-installed on Windows)
- .NET Framework: 4.5+ (pre-installed on Windows)
Free to use and modify. No warranty provided.
Created for intelligent Windows startup experience.
Version: 1.0
Date: November 2025