The XPS13 2016 edition (the 9350) runs Linux pretty good, gets 8 hours of battery life, that is after you’ve done a bit of configuration. With this machine sporting a bleeding 6th Gen Intel Skylake you’ll need to upgrade the Linux Kernel.
The BIOS is a bit outdated. With the old BIOS you’ll find that audio sounds pretty bad. Upgrading the BIOS really isn’t that hard.
If you’re still on the Windows OS it ships with, download the 1.3.3 EXE and double click it to install.
If you’re already in Linux, believe it or not you’ll still need that EXE:
wget http://downloads.dell.com/FOLDER03596893M/1/XPS_9350_1.3.3.exe sudo mv XPS_9350_1.3.3.exe /boot/efi/
Once the file is there reboot your machine, press F12 to go into BIOS settings, go the the BIOS update screen, select the EXE file from the menu and install it.
Note: The BIOS from Dell has been updating pretty regularly, so keep an eye on the Drivers Page for the latest version.
Replace Broadcom WiFi
The wireless card which ships with the device has poor range and poor Linux compatibility. I swapped mine out with the following card and I recommend you do, too:
When I first tried to use pure Debian, I found the driver wasn’t present (it’s non-free ya know) and had to download the Linux 4.3+ Driver. Mint shouldn’t need it, but just in case:
By default Mint 17.3 comes with the Linux kernel 3.19. A bunch of new Skylake compatibility arrived in kernel 4.4, 4.5, and 4.6. You’ll want to upgrade to that:
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6.2-yakkety/linux-headers-4.6.2-040602-generic_4.6.2-040602.201606100516_amd64.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6.2-yakkety/linux-headers-4.6.2-040602_4.6.2-040602.201606100516_all.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6.2-yakkety/linux-image-4.6.2-040602-generic_4.6.2-040602.201606100516_amd64.deb sudo dpkg -i *.deb
Once you reboot you’ll have the option to use the new Kernel in the GRUB menu. Stability has been fine for me with 4.4, 4.5, and even 4.6.
Uninstall VirtualBox Guest Addons
For some reason the VirtualBox client was installed both on my Dell XPS and Lenovo laptop. I’m guessing this is a flaw with Linux Mint. With these present I was seeing shutdowns hang.
sudo apt-get purge virtualbox*
Enable Suspend on Lid Close
Not sure why this wasn’t configured to happen automatically, perhaps the feature wasn’t compatible with the default kernel. By default closing the lid will simply lock the screen (and catch your laptop bag on fire).
Either uncomment or add the following line:
Pending a reboot (perhaps simply a logout) should enable suspend on close.
The Trackpad is a bit fickle. Coming from an Apple computer, this is the biggest shortcoming for me.
What I did was create and edit a /etc/X11/xorg.conf.d/50-synaptics.conf file and add the following content:
Section "InputClass" Identifier "touchpad" Driver "synaptics" MatchIsTouchpad "on" Option "PalmDetect" "1" Option "HorizTwoFingerScroll" "1" Option "TapButton1" "0" Option "TapButton2" "0" Option "TapButton3" "0" Option "MaxTapTime" "0" Option "VertScrollDelta" "-50" Option "HorizScrollDelta" "-50" Option "VertEdgeScroll" "0" EndSection
Basically this enables palm detection, increases scroll speed, adds natural scrolling, and disables tap to click (otherwise anytime I type, something is getting accidentally clicked). These settings get me closer to how the MBP feels.
External Video over USB-C
If you want to get external video working you’re going to need to upgrade to at least the 4.5 kernel (go for the 4.6, it’s ok!), and you’ll want to buy a compatible device.
I purchased this one from Amazon for $50 and video, ethernet, VGA, and USB 3.0 ports all work great, video displays at 60Hz on my 1920×1080 external display.
What Doesn’t Work?
- Fullscreen Youtube videos have a flickering HUD
- Fullscreen Minecraft can have visual defects (maximized = OK)
- Playback of some MKV videos are vertically flipped
- When the machine boots there are horrible popping noises and 60Hz hum
- Occasionally the machine will stay awake when the lid closes, be careful!