You can blacklist kernel modules. Blacklisted modules will not be loaded by the kernel. Xorg then shall not try to autodetect the hardware.
For example you can add a file called
/etc/modprobe.d/ with the following content (the name of the file does not matter, it just needs to end with
You may need to extend the file if you have modules that consider the
nouveau driver as their pre-requisite, for example:
(I made up the name of the other module for the purpose of the example.) Basically, blacklisting a module does not work if another module has a dependency on it, you need to blacklist the entire dependency chain. Probably there is no dependency chain with
nouveau since they're quite specific modules. But, to find modules that have
nouveau as a dependency you can do:
depmod -n | grep nouveau | egrep -v '^alias'
(That will print the module itself too, dependencies are show when 2 modules appear on the same line.)
Another option that I would try would be to force Xorg to use the intel card for the screen. Add the following to a file (say
nonvidia.conf, again the name does not matter) to
Identifier "Intel Card"
Identifier "Nvidia Card"
Identifier "My Screen"
Device "Intel Card"
You can also add a
BusID "PCI:..." parameter to a "Device" section if you know where your card resides (but it should not be needed, Xorg should be able to figure things out from the drivers).
The important part is that the
Device parameter of the "Screen" points to the
Identifier of the "Device".
This will probably do not work if you have two screens.
(Disclaimer: this is untested code, I do not have a machine with two video cards to test it, sorry.)