Skip to content

nvcontrol is a modern, fully featured NVIDIA settings manager for Linux. Think: NVIDIA Control Panel & GeForce Experience, but for Linux + Wayland.

License

Notifications You must be signed in to change notification settings

GhostKellz/nvcontrol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nvcontrol

nvcontrol Logo

Modern NVIDIA Settings Manager for Linux + Wayland

Rust NVIDIA Wayland ratatui egui Astral Power Monitor+

The missing NVIDIA Control Panel for Linux


Warning: Overclocking and voltage modification features are experimental. Use at your own risk. Improper settings can cause system instability or hardware damage. Always monitor temperatures and power draw when adjusting GPU settings.


Overview

nvcontrol is a comprehensive NVIDIA GPU control tool for Linux, designed from the ground up for Wayland. It provides everything you need to manage your NVIDIA GPU: digital vibrance, VRR/G-SYNC, HDR, overclocking, fan control, and more.

Key Features:

  • Native digital vibrance via NVKMS ioctls (no nvidia-settings required)
  • Full Wayland support: KDE Plasma, GNOME, Hyprland, Sway, Pop!_OS COSMIC
  • RTX 50-series (Blackwell) and RTX 40/30-series support
  • TUI dashboard + GUI application
  • Container GPU passthrough

Quick Start

# GPU information (like nvidia-smi)
nvctl gpu info

# Driver capabilities and requirements
nvctl driver info

# Validate readiness for driver 590 branch
nvctl driver validate --driver 590

# Live monitoring dashboard
nvctl gpu stat

# Digital vibrance (0-200, default 100)
nvctl display vibrance set 150

# Launch GUI
nvcontrol

Installation

Arch Linux (Premier Platform)

# From AUR
yay -S nvcontrol-git

# Or build from source
git clone https://github.com/GhostKellz/nvcontrol
cd nvcontrol
makepkg -si -p release/arch/PKGBUILD

Debian/Ubuntu

# Download latest from releases
wget https://github.com/GhostKellz/nvcontrol/releases/latest/download/nvcontrol_amd64.deb
sudo apt install ./nvcontrol_amd64.deb

Fedora/Nobara

# Download latest from releases
sudo dnf install https://github.com/GhostKellz/nvcontrol/releases/latest/download/nvcontrol.x86_64.rpm

From Source

git clone https://github.com/GhostKellz/nvcontrol
cd nvcontrol
cargo build --release
sudo install -Dm755 target/release/nvctl /usr/bin/nvctl
sudo install -Dm755 target/release/nvcontrol /usr/bin/nvcontrol

See BUILDING.md for detailed build instructions.

Features

Digital Vibrance

Native implementation using NVKMS ioctls - works on Wayland without nvidia-settings.

nvctl display vibrance list          # Show all displays
nvctl display vibrance set 150       # Boost colors (100=default)
nvctl display vibrance set 150 -d 1  # Specific display

Display Controls

nvctl display ls                     # List displays
nvctl display color-range get        # Full vs Limited RGB
nvctl display color-space get        # RGB, YCbCr422, YCbCr444
nvctl display dithering get          # Dithering status
nvctl display sharpening set 5       # Image sharpening (0-10)

VRR / G-SYNC

nvctl vrr status                     # Check VRR status
nvctl vrr enable DP-1                # Enable on display
nvctl vrr disable DP-1               # Disable

GPU Monitoring

nvctl gpu info                       # GPU information
nvctl gpu stat                       # TUI dashboard
nvctl gpu watch                      # Live monitoring
nvctl gpu watch --interval 500       # Custom refresh rate

Overclocking

Caution: Overclocking is experimental. Improper settings can cause instability or hardware damage. Use at your own risk.

nvctl overclock status               # Current clocks
nvctl overclock apply --gpu-offset 100 --memory-offset 500
nvctl overclock reset                # Reset to stock

Fan Control

nvctl fan info                       # Fan status
nvctl fan set 0 75                   # Set fan 0 to 75%
nvctl fan auto                       # Return to auto

Power Management

Caution: Modifying power limits is experimental. Ensure adequate cooling before increasing limits.

nvctl power status                   # Power info
nvctl power limit 90                 # Set power limit %

Supported Hardware

Generation GPUs Status
RTX 50 (Blackwell) 5090, 5080, 5070 Ti/5070, 5060 Ti/5060 Full Support
RTX 40 (Ada) 4090, 4080, 4070 Ti/4070, 4060 Ti/4060 Full Support
RTX 30 (Ampere) 3090/3080/3070/3060 series Full Support
RTX 20 (Turing) 2080/2070/2060 series Supported
GTX 16/10 1660/1650/1080/1070/1060 Basic Support

Supported Compositors

Compositor Vibrance VRR HDR
KDE Plasma 6 Native NVKMS kscreen-doctor Yes
GNOME 45+ Native NVKMS gsettings Yes
Hyprland Native NVKMS hyprctl Yes
Sway Native NVKMS swaymsg No
Pop!_OS COSMIC Native NVKMS cosmic-randr Yes

ASUS ROG Features

Native support for ASUS ROG graphics cards with vendor-specific features.

Power Detector+ (ROG Astral/Matrix)

Monitor 12V-2x6 power connector health in real-time:

# Check power connector status
nvctl asus power

# Output:
# ASUS Power Detector+ - ROG Astral RTX 5090
# ═══════════════════════════════════════
# Connector Health: [GOOD]
# ...

Health status: GOOD (green) | WARNING (yellow) | CRITICAL (red)

ASUS Commands

nvctl asus detect    # Detect ASUS ROG GPUs
nvctl asus power     # Power Detector+ status
nvctl asus status    # GPU overview
nvctl asus power --json  # JSON output for scripts

Supported Cards:

  • ROG Astral RTX 5090
  • ROG Matrix RTX 5090 (planned)

See ASTRAL_OWNERS.md for Astral-specific guide.

TUI Dashboard

Launch with nvctl gpu stat:

┌─ nvcontrol │ GPU 0 │ 55°C │ 85% │ LIVE ───────────────────┐
├─ Overview ─ Performance ─ Memory ─ Temp ─ Power ─ OC ─────┤
│                                                            │
│  GPU Stats                                                 │
│  ┌────────────────────────────────────────────────────┐   │
│  │ NVIDIA GeForce RTX 5090    72°C  ⚡ 380W           │   │
│  │ GPU:  [████████████████░░░░] 85%                   │   │
│  │ VRAM: [██████████████░░░░░░] 18.2/32.0 GB          │   │
│  │ Fan:  [████████████░░░░░░░░] 65%                   │   │
│  └────────────────────────────────────────────────────┘   │
│                                                            │
│  [q]uit [h]elp [t]heme [←→] tabs [↑↓] scroll              │
└────────────────────────────────────────────────────────────┘

Tabs: Overview, Performance, Memory, Temperature, Power, Processes, Overclock, Fan Control, Profiles, Tuner, Profiler, OSD, Settings

Themes

nvcontrol includes several themes:

  • Tokyo Night Moon (default)
  • Tokyo Night / Tokyo Night Storm
  • Dracula
  • ROG Red (auto-selected for ASUS GPUs)
  • Matrix Green
  • Cyberpunk

Change theme with t in TUI or via Settings in GUI.

Documentation

Platform Support

Platform Package Status
Arch Linux PKGBUILD Premier
Fedora .rpm Tier 1
Nobara .rpm Tier 1 (Gaming)
Bazzite rpm-ostree Tier 1 (Gaming)
Pop!_OS .deb + COSMIC Tier 1
Debian/Ubuntu .deb Full

Requirements

  • NVIDIA Driver: 535+ (565+ recommended, 580+ for RTX 50-series)
  • Linux Kernel: 6.0+ (6.6+ recommended)
  • Rust: 1.75+ (for building from source)

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

Areas where help is needed:

  • Compositor integrations (Hyprland HDR, COSMIC features)
  • Testing on various hardware
  • Documentation and translations
  • Packaging for additional distros

License

MIT License - see LICENSE for details.

Copyright (c) 2025 CK Technology LLC

Acknowledgments


Made for the Linux gaming community

GitHub Stars

About

nvcontrol is a modern, fully featured NVIDIA settings manager for Linux. Think: NVIDIA Control Panel & GeForce Experience, but for Linux + Wayland.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages