Ubuntu 17.10 on the XPS 15

I’ve written a couple of posts about Linux lately, one about beautifying the GNOME desktop and one about setting up Elementary OS on my Thinkpad T450s. I recently upgraded my primary computer from the great but aging Thinkpad to a new Dell XPS 15. So far, I love the Dell, and a full review of that will come a little later. But now it’s time for a post reviewing the process of getting Linux up and running on my new machine.

First, I had to decide which distro I wanted to install. There are a ton of great options out there, but I was really deciding among three: Ubuntu 17.10, Fedora 26, and Elementary OS 0.4. As I’ve written previously, I love Elementary for its fabulous design and attention to detail. Unfortuantely, Elementary is always based on Ubuntu LTS releases, the most recent of which is Ubuntu 16.04, now a year and a half old. That means it doesn’t have the latest Linux support for new hardware, and that showed when I booted into an Elementary live session. I’ve always appreciated Fedora’s cutting-edge reputation, and a Fedora live session seemed to work fine on my machine. However, my research indicated that getting my XPS 15’s Nvidia graphics card working with Fedora might be more complicated than the same process under Ubuntu. The issue I’ve had with Ubuntu in the past are that it doesn’t run GNOME by default, and the version that does run GNOME hasn’t typically had the newest version of the desktop environment. Fortunately, Ubuntu 17.10 Artful Aardvark ships with the latest and greatest GNOME 3.26, which is actually newer than the GNOME 3.24 that comes with Fedora 26. So I decided to give Ubuntu a try.

Preliminary Steps

The XPS 15 requires a little work before you’re ready to install Linux. I’m not going to go through these step-by-step, but I’ll list the steps required to get things ready to go. I should mention that, before installing Linux, I formatted my SSD and installed a clean version of Windows 10. Once I did that, I needed to a copule of other things:

  1. Disable fast startup in Windows (Control Panel > Power Options > Choose What the Power Buttons Do > Shutdown Settings > Uncheck “Turn on Fast Startup”)
  2. Move to AHCI rather than RAID in BIOS (do this before your fresh install of Windows if possible). First, you need to prime your machine to reboot into safe mode (Settings > Update & security > Recovery > Advanced startup > Restart now). When you see the POST screen, hit F2 to enter BIOS. Go to System Configuration > SATA operation, and choose AHCI. Now reboot to safe mode, and check in Device Manager that the “IDE ATA/ATAPI controller” is “Intel(R) 100 Series/C230 Chipset Family SATA AHCI Controller.” Reboot normally.
  3. Disable Secure Boot. Reboot and press F12 on the POST screen, choose to disable secure boot, and confirm the various dialogs.

Now you’re ready to install install Linux. I had a problem in which the live session would hang on the splash screen while booting. I fixed this by editing the boot commands in GRUB and changing “splash” in the linux line. I completed the installation and rebooted.

Graphics Drivers

Once I’d successfully booted into Linux, I wanted to install the drivers for my Nvidia GTX 1050 graphics card. The latest drivers are available from the Nvidia repository:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

After you’ve added the repository and run the update, I opened Software & Updates, and installed the latest version of the Nvidia driver available. Upon reboot, the driver was installed and running.

Upon installing the Nvidia drivers, my machine would hang with a blank screen and blinking cursor whenever I tried to shut it down. I fixed this by editing the /etc/default/grub file and adding acpi_rev_override=1 to the GRUB_CMDLINE_LINUX_DEFAULT parameters.

[Source]

This works fine, but the Nvidia card uses a lot of power. I ended up uninstalling the driver and using the Intel integrated graphics instead. Some people have reported having luck with the Bumblebee Project, which lets your machine switch between the Intel and Nvidia cards as required. However, I had no end of trouble trying to get Bumblebee set up. Since I don’t run graphics intensive software on Linux anyway, I went ahead and uninstalled the Nvidia driver.

GNOME

I really like the GNOME desktop environment. Unfortuantely, Ubuntu takes the GNOME desktop and dresses it up in a goofy design that blares Ubuntu’s trademark orange-and-purple color scheme. It looks ugly and unfinished. Happily, there’s an easy way to switch to a vanilla GNOME environment.

sudo apt install gnome-session

Now just log out and log back in, but click the cog on the login screen and choose “GNOME on Xorg.” Then, to use the default login screen instead of Ubuntu’s:

sudo update-alternatives --config gdm3.css

[Source]

GNOME extensions are fantastic, but installing them requires an extra step. First, install the relevant extension on the browser you want to use to install the extensions from extensions.gnome.org. Then:

sudo apt install chrome-gnome-shell

Time

By default, Ubuntu maintains the hardware clock in UTC, while Windows uses local time. This means that every time you boot into Ubuntu and then back into Windows, your Windows clock will be off by the difference between your local time and UTC. You can fix this by telling Ubuntu to use local time as well:

timedatectl set-local-rtc 1 --adjust-system-clock

Additional Software

There’s some software I like to install that isn’t available in Ubuntu repositories. These applications include:

  1. Vivaldi Browser
  2. Enpass Password Manager
  3. Dropbox