I was running into this issue myself, testing something with both nouveau and the proprietary nvidia driver installed, trying to switch between them across restarts.
When trying to run nouveau, removing /etc/modprobe.d/nvidia.conf stopped the nvidia module from automatically being loaded. It also worked to simply comment out the alias lines from that configuration file: alias pci:v000010DEd00000E00sv*sd*bc04sc80i00* nvidia alias pci:v000010DEd00000AA3sv*sd*bc0Bsc40i00* nvidia alias pci:v000010DEd*sv*sd*bc03sc02i00* nvidia alias pci:v000010DEd*sv*sd*bc03sc00i00* nvidia Judging from the comment just above the alias lines: # These aliases are defined in *all* nvidia modules. # Duplicating them here sets higher precedence and ensures the selected # module gets loaded instead of a random first match if more than one # version is installed. See #798207. It seems that having these alias lines here, perhaps sets the priority above nouveau as well as the legacy proprietary drivers? -Maiku