How to Install Ubuntu 16.04 LTS on the Dell Precision 5510
[edit: Aside from the "Allow Linux to see your storage device" step, on newer install media, this guide is no longer necessary. Just install normally, everything works.]
I was able to get Ubuntu 16.04 LTS installed over the last few days. These are my notes from the installation. Multi-monitor connections via HDMI work. The thunderbolt 3 port also works for Ethernet and Display Port. Please feel feel to revise this, and read carefully, as there are almost certainly some errors. I'm not a Linux expert by any measure.
Disable nouveau in order to boot from the Linux live disk
Do this at grub before booting from Ubuntu install media to avoid crashes due misbehaving video card drivers.
Symptoms are random freezes and infinite errors, something like the
following: nouveau PFIFO SCHED_ERROR. Fix by pressing 'e' on grub menu
during boot and add "nouveau.modeset=0" to the end of the line
starting with "linux". Now boot the live disk by pressing F10.
Allow Linux to see your storage device
When booting, press
p to access the UEFI configuration menu. Navigate to SATA Operation on the left, and set it on the right to either AHCI if you have a hard drive, or Disabled if you have only the NVMe drive. The reason that the setting SATA Operation > RAID 0 hides the NVMe drive from Linux is that it turns on a proprietary RAID + AHCI driver, stored in firmware, called Intel RST. Linux has a difficult time communicating with the Intel RST driver without a lot of tinkering.
Once you've booted in, and with no external monitor connected, install
normally. The following should be done only after you've rebooted into your newly installed system.
Install kernel 4.6 for Ubuntu
On newer install media this step isn't necessary. Run
uname -a to see what kernel is running on your Ubuntu live cd. If it's version 4.6 or later, skip this step.
mkdir -p ~/Downloads/Precision_5510_install/kernel
gpg --keyserver keyserver.ubuntu.com --recv 17C622B0 # Import the gpg keys from Ubuntu's mainline kernel team.
gpg --verify CHEKSUMS.gpg CHECKSUMS # Verify that the list of checksums is from Ubuntu.
sha256sum -c CHECKSUMS | grep 'OK' # Check the integrity of the downloaded files.
sudo dpkg -i *.deb
You can find the gpg keys to verify the files haven't been tampered with here.
First test to see if hibernation works:
If you're able to resume, create a file to allow hibernation from the GUI.
cat <<EOF | sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Re-enable hibernate by default]
[Re-enable hibernate by default in logind]
Install Dell drivers from the Ubuntu Driver Support Pack
This step can be problematic, since you're installing .debs intended for an older version of Ubuntu. There is probably a better solution for this, but I haven't figured it out yet.
Starting the laptop with a monitor plugged in via HDMI caused my machine to crash until I did this. It may require some troubleshooting on your end.
tar xf xps13_ult_x03.fish.tar.gz
sudo apt-get install libxdo3 xdotool
sudo dpkg -if workaround-screen-lock-malfunction_1_all.deb
ALSA defaults to sending sound to HDMI even if there's nothing plugged in. Fix it with this:
echo "options snd-hda-intel model=dell-headset-multi,dell-headset-multi" >> /etc/modprobe.d/alsa-base.conf
Set up Nvidia Optimus
First install bumblebee
sudo apt-get install bumblebee bumblebee-nvidia primus
Next, remove any exising nvidia packages and install newer ones.
sudo apt-get purge nvida-*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-current nvidia-prime
sudo service lightdm restart
Add an indicator so you can tell whether Intel or Nvidia is being used.
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install prime-indicator
nohup prime-indicator &
Increase the text size on TTY consoles (for 4k screens)
On the 4k screen variety of this laptop, the font size is nearly unreadable when switching to a TTY ( for example, when pressing CTRL+ALT+F1 from Unity ). You can change it like so:
sudo dpkg-reconfigure console-setup
- Choose UTF-8
- Choose the default Combined - Latin, ... option ("Latin" includes the English alphabet)
- Select the terminus font
- Select 16x32
Hope it helps!