Note: I don’t use NVIDIA anymore so this update will probably be the last one I make to this post.
Nvidia Drivers Installation
First check the specific steps for your Debian version in the official documentation.
Add Required Repositories
Edit your /etc/apt/sources.list to include contrib non-free non-free-firmware components:
|
|
Install Nvidia Drivers
Update packages and install the necessary components:
|
|
Secure Boot Configuration
If you have Secure Boot enabled, you’ll need to enroll the MOK (Machine Owner Key):
|
|
After rebooting:
- The MOK manager will appear
- Select “Enroll MOK”
- Confirm the key enrollment using your one-time password
Verify the MOK was loaded correctly:
|
|
Expected output:
|
|
Verify Installation
After completing the driver installation (and rebooting if you enrolled MOK keys), verify that the Nvidia drivers are working correctly with:
|
|
NVIDIA Management
Cooler management
For managing Nvidia GPU coolers, I use NVML-GPU-Control which is a simple Python script that allows you to control the GPU fans with a curve.
You can install it with:
|
|
and then run it with:
|
|
Also I put it on my crontab to run at boot:
|
|
Official cooler management
As an alternative, you can use the official Nvidia settings tool for fan control.
It just sets the fan speed to 50% on boot, which is not ideal for cooling but works if you don’t want to use a custom script.
Add this to root’s crontab (sudo crontab -e):
|
|
Undervolting Nvidia GPU
Undervolting (reducing power consumption) your GPU can provide several benefits reducing the maximum voltage while maintaining stable performance. This can lead to:
- Lower temperatures - Reduced power consumption means less heat generation
- Quieter operation - Lower temps allow fans to run slower and quieter
- Extended GPU lifespan - Cooler operation reduces thermal stress on components
- Energy savings - Lower power consumption reduces electricity costs
- Better performance stability - Prevents thermal throttling during heavy loads
Power limiting is a simple form of undervolting that caps the maximum power draw without complex voltage adjustments.
Using crontab (recommended)
The simplest approach is using crontab. Add this to root’s crontab (sudo crontab -e):
|
|
Note: Replace
125with your desired power limit in watts. Check your GPU’s maximum power limit withnvidia-smi -q -d POWERbefore setting a value.
Using systemd service (alternative)
For users who prefer systemd services, create a service to manage power limits:
|
|
Add this content:
|
|
Enable the service:
|
|
GUI Controllers
I can recommend these two GUI tools for managing Nvidia GPUs:
-
LACT Originally designed for AMD GPUs, but it also supports Nvidia cards now. It has GPU info, overclocking, and fan control features. You can see the hardware compatibility list here.
-
Also can try TuxClocker, for almost the same functionality. I prefer LACT because it has more features and is actively developed but TuxClocker is also a good option.
Troubleshooting
Failed to Start Nvidia Persistence Daemon
If you encounter issues with the persistence daemon:
|
|
Then repeat the driver installation steps from the beginning.