Nouveau is a attempt to replace the NVIDIA obfuscated driver and put it in the kernel. No modeset tells the kernel, not to attempt to set the screenmode. Nouveau would have to do that. However, my experience with an NVIDIA 690 is that nouveau starts to panic at my card and the boot system hangs. A sign to me, that nouveau is still not mature, because the 690 has been around for a while now.
About the driver: nouveau is a kernel component that you can not deactivate through ' additional drivers / restricted drivers' because these drivers are the ones you use for X windows.
what I did, is I added NOMODESET in the list of kernel parameters in grub, permanently.
When the system boots the kernel checks this setting and reacts accordingly.
For Ubuntu 12.04 the setting is stored in /etc/default/grub . You add it to the line titled GRUB_CMDLINE_LINUX_DEFAULT. If the line says:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
you would change it to:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
After adding NOMODESET to this line you should run sudo update-grub
to allow grub2 to see it the next time you boot.
APT (Advanced Packaging Tool) is the system that Ubuntu uses to manage all of the software installed on a system. It allows you to “pin” a package to a certain version, so that it won’t be updated when you the Update Manager runs.
To pin your kernel packages, first you must determine what version your kernel is. One way to do this is to open the Synaptic Package Manager in System > Administration.
Type in “linux-generic” in the Quick search text field and hit enter.
Make a note of the number listed in the “Installed Version” column. We’ll use it in the next step.
Next, we need to edit the file /etc/apt/preferences. Open it by pressing Alt+F2 to bring up the Run Application window and entering in:
gksudo gedit /etc/apt/preferences
This will open up a gedit window. Most likely the window will be blank, unless you’ve played around with APT before.
In the window, type in the following, replacing the version number with the version number you found in the Synaptic Package Manager.
Package: linux-generic linux-headers-generic linux-image-generic linux-restricted-modules-generic
Pin: version <insert version here>
Pin-Priority: 1001
Save the file and close gedit. If you open the Update Manager, you should see that the Linux kernel updates are now hidden!
Source
Blocking packages with APT/DPKG
Remember the package name of your kernel from above.
Open a terminal and run:
sudo -s
And hit enter.
Enter your password for sudo:
echo kernel_package_name hold | dpkg --set-selections
Replace kernel_package_name
with the name of the kernel you want to pin.
Now run:
sudo apt-get update && sudo apt-get upgrade
To remove pin from Apt/Dpkg:
Open a terminal
sudo -s
echo kernel_package install | dpkg --set-selections
Replace kernel_package with the package you want to pin.
Now run:
sudo apt-get update && sudo apt-get upgrade
Source
What you're trying to do is called pinning. The sources I gave you above, have the essentials on what you must do to accomplish your tasks in hand.
Best Answer
If you have installed the NVIDIA driver as an ubuntu package, it should be updated automatically after each kernel upgrade.
You can install the packaged driver using the
Additional Drivers
tool in the dashboard, or installing the packagenvidia-current
.If you have installed the nvidia driver directly from their website it is probably sensible to remove it before installing this package - I'm not certain how good it will be at detecting the conflict.
If you have installed the package from the ubuntu repositories, you can try reconfiguring it with
dpkg-reconfigure
but I suspect building the nvidia module is triggered by installing a new kernel, and I'm not sure how to trigger this otherwise. The traditional uninstall and re-install might well work (sudo apt-get remove nvidia-current; sudo apt-get install nvidia-current
).