====== Disabling the NVIDIA Nouveau driver in Ubuntu ====== sometimes you might want to use the most current nvidia binary driver rather than the nouveau driver package.. or you want no driver at all for whatever reason, so you need to disable the pre-installed nouveau driver.. **note** all commands below should be executed with root privileges, either prepend ''sudo'' or become root first by running ''sudo su -'' edit /etc/modprobe.d/blacklist-framebuffer.conf make sure these two lines are in there: blacklist nouveau blacklist nvidiafb now uninstall the driver sudo apt-get --purge remove xserver-xorg-video-nouveau also recreate the initrd image as newer ubuntu releases load the nouveau module in there already. update-initramfs -u and reboot after the reboot there should not be any nouveau related modules anymore. try lsmod | grep nouveau if it returns an empty result, you where successful :) if not, try adding these parameters in the file ''/etc/default/grub'' to the ''GRUB_CMDLINE_LINUX_DEFAULT'' parameter: rdblacklist=nouveau nouveau.modeset=0 after that, you need to recreate the grub config by running update-grub and reboot once more. check again and if you still see nouveau modules, start googling ;) another problem i have recently encountered with ubuntu 17.04 on a computer booting ubuntu-gnome via uefi was, that after showing the grub menu the screen remained gray (would be purple with ubuntu i guess) and nothing worked, no ctrl+alt+key hotkeys or anything. i added this to the linux cmdline via grub to finally get my computer to boot again: i915.modeset=0 so far these steps have always worked on all ubuntu systems i had touched since 10.04 ===== use a repository for a packaged driver ===== if you want to install the nvidia driver instead of the nouveau driver, you can probably save the above steps if you are happy with the "proprietary drivers" provided through ubuntu. however, these drivers might be rather old. if you need newer drivers, you can use a repository which provides them. and if you need to auto-install the latest nvidia driver, you can use a python utility to detect which driver package you need. Here is how this is done: # install python pip to get pyvidia apt-get -y install python-pip pip install --upgrade pip pip install pyvidia pip install six add-apt-repository -y ppa:graphics-drivers/ppa apt-get -y update apt-get -y install nvidia-$(pyvidia) ===== what if nouveau is disabled, nvidia is installed but xorg logs "no device found"? ===== if you have a system that contains both nvidia and non-nvidia graphics adapters (for example an onboard intel GPU), you might need to tell xorg which PCI device to use in combination with the nvidia driver. to do that, run nvidia-smi on the target system. it will display a Bus-Id for your card that looks similar to this: 0000:01:00.0 you will need this id for your xorg.conf file. However, the values displayed through nvidia-smi are **hex** values, for xorg.conf you need **decimal** numbers. if you don't know how to convert from hex to dec you can just google for "0x31 = ? decimal" and it will show you the decimal conversion as a suggested result :) we are only interested in the 01:00.0 section, you can ignore the 0000: at the begining. now edit your ''/etc/X11/xorg.conf'' file and find the ''Device'' Section. in this section add a ''BusID'' parameter so that the entire section looks something like this: Section "Device" Identifier "Device0" Driver "nvidia" BusID "PCI:1:0:0" EndSection there might be more stuff in there, that's fine, just add the BusID line and keep the rest as is. what's important is, that you add the BusID in the Device section where the Driver is set to "nvidia" :) now restart your xorg and it should find your card at the given PCI id ===== I want the opposite, Monitor on my onboard card, Nvidia card just for CUDA ===== in that case you should not need any xorg.conf file, as long as you only connect a screen to your onboard card. BUT, when you install your nvidia drivers, you should make sure that the nvidia glx extensions are not installed, otherwise you won't even have software accelerated glx support which means no more unity desktop and no mor glx applications. in order to do that, you need to pass an additional option to the nvidia installer: ./NVIDIA-Linux-x86_64-375.20.run --no-opengl-files now your system will still use the standard xorg glx module and hence work with your onboard card. ===== what to do when the unity launcher and window decorations are missing ===== suppose you can start lightdm and login and all you get after that is an empty desktop background, chances are, that your xorg has now started allright but unity did not. you can right click and launch a terminal and it will have no window decoration and there will be no close button etc. if this is the case, then you need to try several different possible solutions, beause what you are seing can result from many different problems. i found a [[https://askubuntu.com/questions/449845/problems-after-upgrading-to-14-04-only-background-and-pointer-after-login/481620#481620|good article on askubuntu]] that describes all these possible solutions. i have copied it here just in case: This bug depends on several factors, including Video card and custom config files. For example, some users have solved the issue by doing one or several of the following "solutions" (Not all work for everyone, some users even need a combination depending on how the session was configured and hardware used): ==== Fix 1 - Compiz Problems (OpenGL module not loading, Unity plugin not loading) ==== sudo rm -fr ~/.cache/compizconfig-1 sudo rm -fr ~/.compiz ==== Fix 2 - Session not loading (Guest session loads fine) ==== sudo rm -fr ~/.Xauthority sudo rm -fr ~/.config/autostart ==== Fix 3 - Session not loading (Guest not loading) ==== sudo apt-get install --reinstall ubuntu-desktop unity compizconfig-settings-manager upstart ==== Fix 4 - Launcher / Top Panel not loading (Nvidia cards) ==== sudo add-apt-repository ppa:xorg-edgers/ppa -y sudo apt-get update sudo apt-get install nvidia-340 sudo reboot ==== Fix 5 - Clearing Unity ==== dconf reset -f /org/compiz/ setsid unity ==== Fix 6 - Clearing the Cache ==== sudo rm -fr .cache/* WARNING - This will clear the cache for all apps inside of the .cache folder. For most of these cases, if the session opens and you still can not see the top panel or the launcher, try opening a terminal ''CTRL''+''ALT''+''T'' and typing ''ccsm'' (Assuming you already installed the ''compizconfig-settings-manager'' package) then enable the OpenGL plugin and the Unity Plugin. If the driver is working well, this should enable both panels in a couple of seconds. There are even some cases where the Unity plugin in the compiz config settings manager is simply not enabled.