https://github.com/intel00000/nvidia_fe_lighting
Control FE card lighting via NVAPI
https://github.com/intel00000/nvidia_fe_lighting
Last synced: 9 days ago
JSON representation
Control FE card lighting via NVAPI
- Host: GitHub
- URL: https://github.com/intel00000/nvidia_fe_lighting
- Owner: intel00000
- License: mit
- Created: 2025-03-26T06:26:20.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-11-26T19:02:18.000Z (7 months ago)
- Last Synced: 2025-11-28T10:41:33.754Z (7 months ago)
- Language: C#
- Size: 12.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# NVIDIA FE Lighting Control
Controlling RGB/RGBW illumination zones on NVIDIA graphics cards, primarily for Founders Edition models. Only tested on RTX50 series, but should work on 30/40 series as well.

## Features
- **Full Zone Control**: Adjust RGB/RGBW colors and brightness
- **Profile Management**: Save and load up to 5 profiles
- **Startup Integration**: Automatically apply settings on Windows startup
## Requirements
- Windows 10/11 (64-bit)
- .NET 8.0.x Runtime ([Download here](https://dotnet.microsoft.com/download/dotnet/8.0))
- NVIDIA drivers installed
## Installation
### From Releases
1. Download the latest release ZIP from the [Releases](https://github.com/intel00000/nvidia_FE_lighting/releases) page
2. Extract the single `nvidia_FE_lighting.exe` file
3. Run it.
### Building from Source
**Prerequisites:**
- Visual Studio 2022
- .NET 8.0 SDK
**Build Steps for Single-File Executable:**
```bash
git clone --recurse-submodules https://github.com/intel00000/nvidia_FE_lighting.git
cd nvidia_FE_lighting
# If you already cloned without --recurse-submodules, run:
# git submodule update --init --recursive
# Build the C++ wrapper
msbuild nvidia_FE_lighting.sln /p:Configuration=Release /p:Platform=x64 /t:NvApiWrapper
# Publish as single-file executable
dotnet publish nvidia_FE_lighting\nvidia_FE_lighting.csproj -c Release -r win-x64 --self-contained false -p:PublishSingleFile=true -o publish
```
Output will be a single `nvidia_FE_lighting.exe` in the `publish\` folder.
## Usage
1. **Select GPU**: Choose your GPU from the dropdown
2. **Detect Zones**: Click "Detect Zones" to find all available illumination zones
3. **Customize Colors**: Use the color pickers and sliders to adjust each zone
4. **Apply Settings**: Click "Apply All" to apply the changes
5. **Save Profile**: Save your favorite configurations to profile slots
6. **Enable Startup**: Check "Apply current settings on startup" to automatically apply settings on boot
## Startup Feature
The startup feature ensures your lighting settings persist across reboots:
- **10-second delay** after boot to allow driver initialization
- **GPU verification** prevents applying settings to wrong GPU after hardware changes
- **Lightweight startup** runs without UI when triggered at startup
- **Logging** in `%AppData%\NvidiaFELighting\startup_log.txt`
The application will copy itself to `%AppData%\NvidiaFELighting\FELighting.exe` for reliable startup execution.
## Project Structure
```
nvidia_FE_lighting/
├── nvidia_FE_lighting/ # Main WPF application (C#)
│ ├── App.xaml/App.xaml.cs # Application entry point and startup logic
│ ├── MainWindow.xaml/.cs # Main UI and control logic
│ └── NvApiWrapper.cs # P/Invoke declarations
├── NvApiWrapper/ # C++ wrapper for NVIDIA API
├── NvApiDll.cpp # NVAPI implementation
└── NvApiDll.h # Header file
```
## Acknowledgments
- The NVAPI library
- Extended WPF Toolkit for the ColorPicker control