Nvidia permanently remove nouveau

What commands permanently remove and prevent nouveau driver from ever being on the system? I run laptops that all have intel and amd integrated gpu’s. I have no intention of ever needing nouveau driver on any system only proprietary driver.

I also have a laptop with a dead gpu I’m working on. I use cubic iso creaator to customize iso before install. So I’d like to remove nouveau so I never have to deal with it on all my live iso’s.

nouveau is linux’s default vga driver. (*when an nvidia card is detected)
it has nothing to do with nvidia. (as in nvidia maintain it)
so all you can really do is switch it off when you install your nvidia driver.

*edit

Does that mean amd/intel igpu uses nouveau? I just want to make sure linux doesn’t use the nvidia gpu.

What commands permanently remove and prevent nouveau driver from ever being on the system?

Nouveau is a kernel module and is built at compile time. To actually remove it, you need to build a custom kernel without it.

Linux dynamically loads modules based on the detected hardware, and should not load Nouveau unless you have a device it supports. It would be a bug if it did.

To be extra sure though, you can use Linux’s blacklist features.

Add blacklist nouveau to /etc/modprobe.d/blacklist.conf

You can also temporarily blacklist modules at the bootloader by adding:
nouveau.blacklist=1

nouveau is linux’s default vga driver. it has nothing to do with nvidia.

vga is the default Linux vga driver. nouveau is nvidia specific. It is the reverse engineered driver for Nvidia cards.

6 Likes

thanks for the clarification.

still, its the default driver and nothing to do with nvidia.

Your dead laptops should not be using nouveau as they are intel/amd and as such, it should be using mesa drivers.

Some clarification is necessary here, I think.

So, Linux the last… 15 to 20 years or so, have tirelessly been working on this graphics project called Mesa.

https://www.mesa3d.org/

Mesa is truly an awe-inspiring engineering feat of Open Source, because not only does it provide a full Open Source implementation of most graphics libraries out there (most prominent are Vulkan and OpenGL), it also does this with both hardware and software based backend renderers.

Back in the early days, Mesa was known as that software rendering kid that did some neat stuff but was probably never going to catch up to the big biz render stacks from GPU vendors that ran your games at a whopping 3000 FPS while Mesa could do 15 FPS on a good day with a state of the art 2GHz Pentium 4 single core machine. It wasn’t even a contest.

Mesa, however, had two things going for it; One was that it was Open Source, which meant it was extremely simple to debug and test. And the other was that it was built in a way, that made writing kernel modules that ran on Mesa easy. A module written for Mesa only needs to transfer a bunch of calls from the Mesa libraries to the hardware registers. But the actual shuffling of memory space… That’s handled by Mesa.

So what did the competitors do? They wrote the kernel drivers PLUS their own graphics libraries that did the same thing Mesa did, sometimes better, sometimes worse. Since Mesa lacked hardware acceleration however, that did not really matter. It was a dead end.

Then, something amazing happened, AMD (then ATi) and Intel started to open source their kernel modules. Sure, at first it was just the modules hardwired into their respective ecosystems, but this all of a sudden allowed for Mesa drivers to also be written. And in the beginning… Boy did they suck! But it was a start.

Where does Nouveau fit into all this? Well, some Nvidia users wanted a free implementation that could one day utilize the Mesa render chain, for goodies like easier debugging. This was a reverse engineered process and it was kinda like trying to pull stalagmites out of a mountain with a pair of pliers, but hey, while progress was slow at least there was progress.

So, what does this mean for the kernel? Well, basically you now have two render paths for Nvidia:

Game Rendering Engine → Nvidia OpenGL implementation → Proprietary kernel module → Pretty pixels on screen
Game Rendering Engine → Mesa OpenGL implementation → nouveau kernel module → Pretty pixels on screen

Hope that made things clearer!

2 Likes

In my situation I need to ensure Nvidia GPU is not being used in anyway.

Blacklisting doesn’t work entirely. I needed to

apt xserver-xorg-video-nouveau

but last time I did this is appears and system update reinstalled. Not sure what I could do to prevent nouveau installing on the system.