- [Solved] An Error Occurred while Installing the Nvidia Driver: «The Nouveau kernel driver is currently in use by your system. . «
- What is «Nouveau»
- Disable Nouveau
- Share this:
- Nouveau: Accelerated Open Source driver for nVidia cards
- Current Status
- News
- Software
- Contacting the Team
- Common Tasks
- Nouveau
- Installation
- Loading
- Enable early KMS
- Tips and tricks
- Keep NVIDIA driver installed
- Installing the latest development packages
- Dual head
- Setting console resolution
- Power management
- Fan control
- Optimus
- Vertical Sync
- Troubleshooting
- Disable MSI
- Phantom output issue
- Kernel parameters
- Xorg configuration
- Xrandr
- Random lockups with kernel error messages
- Flat Panel Table Invalid
[Solved] An Error Occurred while Installing the Nvidia Driver: «The Nouveau kernel driver is currently in use by your system. . «
I have installed Nvidia’s driver on my computer to enable deep learning for many times, and I will encounter different problems each time.
But today, I encountered a familiar old problem:
The Nouveau kernel driver is currently in use by your system.
What is «Nouveau»
Before we disable Nouveau Kernel Driver, everyone must be concerned about what Nouveau is? Will disable driver affect the computer?
The following excerpt is from the wikipedia:
nouveau (/nuːˈvoʊ/) is a free and open-source graphics device driver for Nvidia video cards and the Tegra family of SoCs written by independent software engineers, with minor help from Nvidia employees.
Wiki
We can see that Nouveau is a third-party and open source Nvidia driver, and many Linux distributions have this driver installed by default. However, if we download the Nvidia driver from the official website and want to update, we have to close the Nouveau driver first.
However, we don’t have to worry about any bad effects this will cause, after all, we are about to use the official Nvidia driver.
So the conclusion is, don’t worry too much about us banning it.
Disable Nouveau
First we need to create a new file:
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
Then we regenerate the kernel and restart:
sudo update-initramfs -u sudo reboot
After restarting, we can use the following command to confirm whether Nouveau has stopped working:
If nothing is printed, then congratulations! You have disabled Nouveau’s kernel driver. Now we can try again to see if we can install Nvidia’s official driver!
Share this:
Nouveau: Accelerated Open Source driver for nVidia cards
The nouveau project aims to build high-quality, free/libre software drivers for nVidia cards. “Nouveau” [nuvo] is the French word for “new”. Nouveau is composed of a Linux kernel KMS driver (nouveau), Gallium3D drivers in Mesa, and the Xorg DDX (xf86-video-nouveau). The kernel components have also been ported to NetBSD.
Current Status
- 2D/3D acceleration supported on all GPUs (except for GA10x); see FeatureMatrix for details.
- Video decoding acceleration supported on most pre-Maxwell cards; see VideoAcceleration for details.
- Support for manual performance level selection (also known as «reclocking») on GM10x Maxwell, Kepler and Tesla G94-GT218 GPUs. Available in /sys/kernel/debug/dri/0/pstate
- Little hope of reclocking becoming available for GM20x and newer GPUs as firmware now needs to be signed by NVIDIA to have the necessary access.
News
- Jan, 2021: GA10x kernel mode setting support merged in Linux 5.11.
- Jan, 2019: TU10x acceleration support (with redistributable signed firmware) merged in Linux 5.6.
- Jan, 2019: Support for Turing merged into Linux 5.0.
- Nov, 2018: Support for HDMI 2.0 high-speed clocks merged into Linux 4.20 (GM200+ hardware only).
- Aug, 2018: Support for Volta merged into Linux 4.19.
Software
Contacting the Team
Common Tasks
Nouveau
This article covers the open-source Nouveau driver for NVIDIA graphics cards. For information about the proprietary driver, see NVIDIA.
Find your card’s code name (a more detailed list is available on Wikipedia), and compare it with the feature matrix for supported features.
Installation
Install the mesa package, which provides the DRI driver for 3D acceleration.
- For 32-bit application support, also install the lib32-mesa package from the multilib repository.
- For the DDX driver (which provides 2D acceleration in Xorg), install the xf86-video-nouveau package.
Note: It has been suggested that not installing the xf86-video-nouveau driver, and instead falling back on the modesetting driver for NV50 (G80) and newer hardware is beneficial. For example see a user report from 2021.
Loading
The Nouveau kernel module should load automatically on system boot. If it does not happen, then:
- Make sure you do not have nomodeset or vga= as a kernel parameter, since Nouveau requires kernel mode-setting.
- Also, check that you do not have Nouveau disabled using any modprobe blacklisting technique within /etc/modprobe.d/ or /usr/lib/modprobe.d/ .
- If everything above still fails to load nouveau, check dmesg for an opcode error. Add nouveau.config=NvBios=PRAMIN to your Kernel parameters to prevent module unloading.[1]
- Check if /etc/X11/xorg.conf or any file in /etc/X11/xorg.conf.d/ exists and is referencing the nvidia driver. It is probably a good idea to rename the file.
Enable early KMS
This article or section is being considered for removal.
Reason: Since mkinitcpio v32, the kms hook is included by default, therefore most setups will have early loading enabled by default. (Discuss in Talk:Nouveau)
Kernel mode setting (KMS) is required by the Nouveau driver. By default, the KMS is done after the other kernel modules are loaded. You will see the text «Loading modules» and the size of the text may change, possibly with an undesirable flicker. See the Nouveau KernelModeSetting page for more details.
It is also possible to start the KMS as early as possible in the boot process, when the initramfs is loaded.
To do this, add nouveau to the MODULES array in /etc/mkinitcpio.conf (module names are separated by spaces):
If you are using a custom EDID file, you should embed it into initramfs as well:
FILES="/lib/firmware/edid/your_edid.bin"
Tips and tricks
Keep NVIDIA driver installed
If you want to keep the proprietary NVIDIA driver installed (and are not using OpenGL), but want to use the Nouveau driver, comment out nouveau blacklisting in /etc/modprobe.d/nouveau_blacklist.conf , /usr/lib/modprobe.d/nvidia.conf , or /usr/lib/modprobe.d/nvidia-dkms.conf modifying it as follows:
And tell Xorg to load nouveau instead of nvidia by creating the file /etc/X11/xorg.conf.d/20-nouveau.conf with the following content:
Section "Device" Identifier "Nvidia card" Driver "nouveau" EndSection
If you already used the NVIDIA driver, and want to test Nouveau without reboot, make sure the ‘nvidia’ module is no longer loaded:
Then load the ‘nouveau’ module:
And check that it loaded fine by looking at kernel messages:
Installing the latest development packages
To get the latest Nouveau improvements
Dual head
See Multihead#RandR how to setup multiple monitors by using RandR.
Setting console resolution
You can pass the resolution to nouveau with the video= kernel line option (see KMS).
Power management
The lack of proper power management in the nouveau driver is one of the most important causes of performance issues, since most cards will remain in their lower power state with lower clocks during their use. Experimental support for GPU reclocking is available for some cards (see the Nouveau PowerManagement page) and since kernel 4.5 can be controlled through a debugfs interface located at /sys/kernel/debug/dri/*/pstate .
For example, to check the available power states and the current setting for the first card in your system, run:
# cat /sys/kernel/debug/dri/0/pstate
It is also possible to manually set/force a certain power state by writing to said interface:
# echo pstate > /sys/kernel/debug/dri/0/pstate
Warning: The support for reclocking is highly experimental. Manually setting the power state may hang your system, cause corruption or overheat your card.
Fan control
If it is implemented for your card, you can configure fan control via /sys .
$ find /sys -name pwm1_enable /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/hwmon/hwmon1/pwm1_enable $ readlink /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/driver ../../../../bus/pci/drivers/nouveau
pwm1_enable can be set to 0, 1 or 2 meaning NONE, MANUAL and AUTO fan control. If set to manual fan control, you can set pwm1 manually, for example to 40 for 40%.
You can also set it by udev rule:
$ cat /etc/udev/rules.d/50-nouveau-hwmon.rules ACTION=="add", SUBSYSTEM=="hwmon", DRIVERS=="nouveau", ATTR="2"
Optimus
You have two solutions to use Optimus on a laptop (aka hybrid graphics, when you have two GPUs on your laptop): bumblebee and PRIME
Vertical Sync
Xorg compositors are prone to show issues with Nouveau. Unlike most of them, Picom offers lots of options to tweak for a smoother and tearing free result. A configuration which is expected to deliver a good result would be the following:
$ picom -b --unredir-if-possible --backend xr_glx_hybrid --vsync --use-damage --glx-no-stencil
Tip: Do not forget to turn off compositing of your DE’s window manager like KWin when using a different compositor.
Troubleshooting
Add drm.debug=14 and log_buf_len=16M to your kernel parameters to turn on video debugging:
$ startx -- -logverbose 9 -verbose 9
View loaded video module parameters and values:
Disable MSI
If you are still having problems loading the module or starting the X server, append nouveau.config=NvMSI=0 to your Kernel parameters.
Phantom output issue
It is possible for the nouveau driver to detect «phantom» outputs. For example, both VGA-1 and LVDS-1 are shown as connected but only LVDS-1 is present.
This causes display problems and/or prevent suspending on lid closure.
Kernel parameters
The problem can be overcome by disabling the phantom output (VGA-1 in the examples given) with Kernel parameters:
The nouveau kernel module also has an option to disable TV-out detection [2]:
Xorg configuration
The phantom output can be disabled in Xorg by adding the following to /etc/X11/xorg.conf.d/20-nouveau.conf :
Section "Monitor" Identifier "VGA-1" Option "Ignore" "1" EndSection
Xrandr
This can be added to the xinit configuration.
Random lockups with kernel error messages
Specific Nvidia chips with Nouveau may give random system lockups and more commonly throw many kernel messages, seen with dmesg. Try adding the nouveau.noaccel=1 kernel parameter. See Fedora:Common kernel problems#Systems with nVidia adapters using the nouveau driver lock up randomly for more information.
As an alternative, you can also use the QT_XCB_FORCE_SOFTWARE_OPENGL=1 environment variable to disable OpenGL acceleration in Qt applications.
Flat Panel Table Invalid
NVIDIA graphics cards with recent chipsets can cause startup issues — this includes X11 being unable to start and lspci freezing indefinitely[3][4][5][6][7].
This can break live distributions/installation media. This can be detected either by running lspci, or checking the systemd journal for the error:
nouveau E[ DRM]Pointer to flat panel table invalid
The system may start if the Nouveau driver is disabled by passing the following kernel parameters:
The Nouveau driver can then be loaded using
The system should then function correctly. If you have another Nvidia graphics card, or just want to be safe, you can disable the offending card using:
$ echo 1 > /sys/bus/pci/devices/[card device id]/remove