Updating a Dell XPS 13 9370 to Ubuntu 18.04
The Ubuntu Dell XPS 9370 is a fantastic portable workhorse, but I’ll extol its virtues in another article. One of its downsides is that it comes with the now fairly dated Ubuntu 16.04, this is because 16.04 is the long term support release that, presumably, gives Dell a stable base to build upon for a well supported system.
16.04 is showing its age, though, and the many, many UI and UX improvements in 18.04 alone make it worth the – somewhat painful – process to upgrade.
Note – Note 18.04.1 is out and if you’re running Ubuntu 16.04 on your XPS 13 you should be able to – at least attempt to – update with the “do-release-update”. You should “apt get update” and “apt get upgrade” before attempting this. You may also find you are prompted that a new release is available. I’ve successfully completed a 16.04 -> 18.04.1 upgrade on an Intel NUC, but (since I’m already running 18.04.1) not on the XPS 13. If you’re not a fan of Weyland then you can edit “/etc/gdm3/custom.conf” and uncomment “WaylandEnable=false” before rebooting into your new OS to disable Weyland on your XPS 13.
First off, if you’ve already started using your 16.04 XPS 13 then this article isn’t for you. I had no end of trouble attempting to *upgrade* a system from 16.04 to 18.04. Trying to install 17.10 and then 18.04 resulted in a boot loop. Trying to force an upgrade straight to 18.04 resulted in a boot loop. Suffice to say I had something of an adventure. The steps I’ll walk you through here will be for a fresh install, uncoupled from Dell’s shipped Ubuntu but- insofar as I can tell- still working fine with the display, keyboard, trackpad, function keys, WiFi and Thunderbolt/USB-C (well insofar as Thunderbolt/USB-C ever work anywhere close to fine).
A @dell XPS 13 9370 running Ubuntu 18.04 and hooked up to a @ZOTAC_UK external GPU enclosure with a GTX 1060- this is basically my ideal system setup. Shame itās all loaner gear š pic.twitter.com/51ghvdjYKV
— Phil Howard (@Gadgetoid) 6 July 2018
Okay, let’s get started.
Preparing a boot microSD
Okay, so the Dell XPS 13 9370 is absolutely brimming with USB Type-C ports. They’re great, I love them, and they are the future. But they are also a dongle nightmare pain in the backside most of the time. There’s no regular USB port to insert a USB drive in so instead we’re doing to use a good ol’ micro SD card. Anything 8GB or larger will do.
You will also need the Ubuntu 18.04 installation ISO.
If you’re preparing the boot media with a Windows system (this is what I did) then I recommend Rufus. If you’re using the Ubuntu system that you’re upgrading from (assuming you haven’t already managed to trash it) then use the already available Startup Disk Creator. If you’re using Rufus make sure you use GPT and burn the image in DD mode, I had installation issues the first time I tried file copy mode.
Booting from the microSD
Push the microSD securely into the SD card slot on the right hand side of your XPS 13 and fire up your computer from a cold boot. Hit F2 to enter the bios, and go to the Boot Order menu. You need to bump the SD card up to the top of the boot order, so that it boots first.
Upon boot make sure you pick the “Install Ubuntu” option, and *not* the “Try Ubuntu” function. There’s some quirk of display scaling on the 18.04 installer that makes it crash in a booted environment, and the install simply wont work. The straight up “Install Ubuntu” option is much smoother.
From here, opt to replace the existing installation of Ubuntu 16.04- although if you’re given the option and have some personal files/settings in place you may have luck upgrading it.
BIOS Upgrades
As far as I can tell the automated BIOS upgrade utility normally available on pre-installed versions of Ubuntu 16.04 ( I was prompted for a BIOS upgrade on the Precision 5520 ) will be broken if you roll a vanilla install of 18.04. You can get around this quite easily by downloading the bios .EXE file – yes the whole, compressed, Windows-compatible .EXE file – stuffing it onto a FAT32 formatted SD card, and hitting F12 on boot to enter the one-time-boot menu and switch into BIOS upgrade mode. The BIOS is able to parse and install the .EXE file with no trouble whatsoever and I managed to bump this computer from 1.2.0 to 1.3.2.
Everything is a GUI now! Updating the XPS 13 9370 system firmware from 1.2.0 to 1.3.2 to see if it fixes Thunderbolt/USB-C weirdness. pic.twitter.com/rXNjnQvFJT
— Phil Howard (@Gadgetoid) 6 July 2018
How does it fare?
So far I’ve been running 18.04 on this XPS 13 for only a matter of hours so I’m not sure what trouble I might run into, but I’m connected to WiFi, I’m successfully writing an article and not an hour or so ago I was playing Natural Selection 2 with a GeForce GTX1060 in an e-GPU enclosure. I’d say it works pretty well, so if you’re looking to grab an XPS 13 with Ubuntu and save a few coins you’d otherwise spend on a Windows license then you should be good to stick 18.04 on it right out of the box. Hopefully after the release of 18.04.1 in late July Dell will consider moving officially to the new LTS release, since support for 16.04 will expire in April 2021 which is would be slap in the middle of the kind of lifespan I’d expect for a new laptop.
Ubuntu 18.04 still has dozens of touchscreen quirks, though. The “Show Applications” button in the bottom left corner never really knows what it’s doing, sometimes I have to press and drag on it. No amount of single or multi finger drags will scroll Firefox and pinch gestures do nada- both of these things work in Chromium though so you could swap to that for casual touchscreen use. Although it seems to interpret scrolling as clicks far too often, so it’s far from perfect.
Oh and I’m infatuated with the XPS 13″ series. It’s the computer I wish I’d picked instead of the Razer Blade, but it’s still early days for e-GPUs and I wanted to make sure I could game without having to jump through too many hoops (prohibitive cost being one of them). The XPS 13 9370 is no exception, it’s a premium little machine through and through, and the 4k touchscreen really pops.
Honestly- I’d probably still use Windows 10 as my primary OS since Ubuntu appears to have some trouble with my Thunderbolt 3 dock, and doesn’t much like me hot-plugging/unplugging the e-GPU either (something that most of the time works fine on Windows).
Update: WiFi, Bluetooth, 18.04.1, System Updates, Etc
After around a month running 18.04 successfully on the XPS 13 9370 I’ve run into precious few problems.
What Works:
- Brightness/Volume controls, keyboard backlight control, etc
- WiFi works fine and I can connect to my 2.5Ghz and 5Ghz networks with no problem.
- I’ve successfully used my Plantronics V8200 headset over Bluetooth.
- Intel UHD Graphics 620 seem to be detected and working
- Display scaling – oh my, it’s gorgeo… waait a minute. Steam? What are you doing!?…
LOL Steam š pic.twitter.com/p1E5lPGlke
— Phil Howard (@Gadgetoid) 24 August 2018
Steam supports UI scaling on Linux, but it’s not enabled by default. If you have a QHD display and want Steam to play nice at 200% scaling you should fire it up, go into Steam -> Settings -> Interface and check the “Enlarge text and icons based on monitor size” box. Sorted:
Aha found the magic tick box to make @steam play nice with UI scaling in Ubuntu 18.04.1 on the XPS 13! pic.twitter.com/Q4HSDdkRQN
— Phil Howard (@Gadgetoid) 24 August 2018
What Doesn’t Work:
- Automatic Suspend seems to kick in while watching YouTube or Netflix, however I haven’t yet narrowed down when/why this happens
- Deep Sleep/Hibernate seem to be missing-in-action, leaving the XPS 13 closed/sleeping for any length of time will deplete the battery- I’m still looking into this.
- Audio volume is very low, even when dialled up to max. I needed to enable “Over-Amplification” to regain listenable levels.
Tap To Click
I’ve generally had Tap To Click disabled since it also enables “Tapping Drag” which I’ve found causes me to accidentally drag browser taps out of my browser, words around in text documents, and icons off the Dock (causing some weird icon-stuck-to-cursor glitch).
This is largely due to the libinput driver which replaces “xserver-xorg-input-synaptics” entirely and trades customisation and calibration options for really quite effective palm rejection.
Not all is lost, though, since “Tapping Drag” can be disabled. Just run “gsettings set org.gnome.desktop.peripherals.touchpad tap-and-drag false”* and poof, it’s gone, permanently.
* Note: Despite claims this wont work in X11, I have Wayland disabled and it works for me.
Firmware Updates:
Firmware updates for the 9370 are appearing in Ubuntu Software including the Thunderbolt NVM for Xps 9370 (23.00 to 28.00) update, and the XPS 13 9370 “Intel ME Firmware” System Update (0.1.3.2 to 0.1.4.0) for the infamous INTEL-SA-00118 Spectre/Meltdown fix. *However* clicking these in Ubuntu Software doesn’t seem to work. I had to go into Terminal and run “fwupdmgr update” with the following results:
dell@Dell-XPS-13-9370:~$ fwupdmgr update
Downloading 0.1.4.0 for XPS 13 9370 System Firmware...
Fetching firmware https://fwupd.org/downloads/a3b9d8b67f3c047d54860a35c4f67b8691323886-Signed_1152921504627700266.cab
Downloadingā¦ [***************************************]
Updating 0.1.4.0 on XPS 13 9370 System Firmware...
Decompressingā¦ [***************************************]
Authenticatingā¦ [***************************************]
Schedulingā¦ [***************************************]
Downloading 28.00 for XPS 9370 Thunderbolt Controller...
Fetching firmware https://fwupd.org/downloads/2ab30ba0769a84029af4e055270444f9391c71c8-3H3DP_NVM28.00.cab
Downloadingā¦ [***************************************]
Updating 28.00 on XPS 9370 Thunderbolt Controller...
Decompressingā¦ [***************************************]
Authenticatingā¦ [***************************************]
Restarting deviceā¦ [***************************************]
An update requires a reboot to complete. Restart now? [Y|n]:
This update didn’t appear to successfully apply the Thunderbolt firmware to 28.00, instead making it read as 0.00 so I tried the updater again:
dell@Dell-XPS-13-9370:~$ fwupdmgr update
No upgrades for XPS 13 9370 System Firmware, current is 0.1.4.0: 0.1.4.0=same, 0.1.3.3=older, 0.1.2.1=older, 0.1.2.0=older
Downloading 28.00 for XPS 9370 Thunderbolt Controller...
Updating 28.00 on XPS 9370 Thunderbolt Controller...
Decompressingā¦ [***************************************]
Authenticatingā¦ [***************************************]
Restarting deviceā¦ [***************************************]
After rebooting, it looks like the update took*.
* Note: I’ve been having trouble with the Thunderbolt firmware reading as 00.00 intermittently and claiming it requires another update. There are a few threads regarding Thunderbolt firmware on the XPS 13 9370, this issue on GitHub points out there’s a 33.00 update available for Windows but not yet in the stable releases for Linux: https://github.com/dell/thunderbolt-nvm-linux/issues/10
And this bug report seems to suggest the 00.00 firmware issue is a known bug with an incoming fix: https://bugs.launchpad.net/ubuntu/+source/fwupd/+bug/1768627
Additionally, since the updates I performed above SYstem Firmware 0.1.5.1 has, presumably, moved from Testing to Stable and I’ve installed it successfully via fwupdmgr.
To get the 33.00 Thunderbolt firmware I had to edit “/etc/fwupd/remotes.d/lvfs-testing.conf” and change “Enabled=false” to “Enabled=true”