Ubuntu 16.04 Install Nvidia Drivers

Quick guide on how to install nvidia drivers on Ubuntu 16.04 (tested with 16.04 and 16.04.1 installs with a GTX 1070 and Intel HD Graphics 530 integrated graphics).

  • Disable PCI graphics in the bios or switch to automatic
  • Shutdown and plug in the display output to integrated graphics
  • Boot and install via normal usb ubuntu installer
  • After installation reboot
  • Run update system software via terminal
sudo apt-get update && sudo apt-get upgrade
  • Reboot system
  • Switch to tty1 by ctl-alt-f1 and login
  • Stop x
sudo /etc/init.d/lightdm stop
  • Remove the default nouveau drivers [1]:
sudo apt-get --purge remove xserver-xorg-video-nouveau
  • Add nvidia ppa and install correct driver version replacing nvidia-367 with whatever version you’d like
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-367
sudo nvidia-xconfig
  • Reboot and enable the PCI graphics back in the bios
  • Shutdown and switch display output back to the graphics card

Special notes about full disk encryption [2],[3],[4],[5]

  1. After reboot, only see a purple screen
  2. After reboot, only see a black screen
  3. Might see the decrypt splash but the keyboard is unresponsive

I had best results editing the grub config with the following via recovery mode

  • Reboot and hold down shift while booting to bring up the grub menu
  • Select advanced options for ubuntu and select ubuntu with recovery mode
  • Add networking to get the file system in read/write
  • Then add root and press enter for maintenance mode
  • Edit file /etc/default/grub with your favorite editor
  • Edit line to: GRUB_CMDLINE_LINUX_DEFAULT="quiet nosplash noplymouth"
  • Add line: GRUB_GFXPAYLOAD_LINUX=keep
  • Add line: GRUB_GFXMODE=2560x1440
  • Then update grub and reboot
update-grub
reboot

Completed grub file looking simpler to:

# /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet nosplash noplymouth"
GRUB_CMDLINE_LINUX=""
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=2560x1440

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

[1] https://help.ubuntu.com/community/BinaryDriverHowto/Nvidia#RemovingNouveau.28advanced.2Fexpert_users.29

[2] http://askubuntu.com/questions/689064/cant-enter-password-for-luks-disk-encryption-after-nvidia-drivers-installed

[3] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1359689/comments/73

[4] https://bugs.launchpad.net/ubuntu/+source/plymouth/+bug/1386005/comments/72

[5] http://askubuntu.com/questions/362722/how-to-fix-plymouth-splash-screen-in-all-ubuntu-releases