Table of Contents
Dell XPS 13
Recently I got myself a Dell XPS 13 9370 (early 2018) Develper Edition with Ubuntu preinstalled. Well, Ubuntu is surely not my favourite so one of the first things I did was to delete Ubuntu and (try to) install Debian. Here I try to summarize my struggles and several solutions I found for the various problems. Also, I will give my humble opinion on this machine.
I do absolutely not aim to circumvent the DebianOn project but rather write this down for my own documentation (as most things on this site).
But first things first. I bought this notebook after lots and lots of research and was a little scared that I would be disappointed. Some people were very negative about it, but my main concern was it has no more USB A connectors and no more RJ45 Ethernet connectors (I prefer wired Ethernet for installation). Also, I was “afraid” of the glossy screen even though I got the non-touch version.
After using the XPS 13 now for a little more than 1 month I came to the following verdict.
I got the machine with these specs. They are more than sufficient for me as I still have a desktop with more power for heavy work.
- Platinum Silver with carbon fiber interior
- Intel i7-8550U
- 8 GB RAM
- 256 GB PCIe SSD
- Full HD 1920×1080 13,3“ display
I just found one negative thing about this machine so far. I am neutral about two things and I like all the rest
This is by all meant not a review! Just my personal, subjective opinion.
- This system is VERY susceptible to finger prints and other dirt.
- It would have been nice to have one USB A connector. The USB C/USB A adapter which is delivered together with the notebook works fine but its handling is suboptimal.
- I have not used the webcam yet and probably will use it only seldom. I like that Dell has placed it in the center as opposed to on the left side as in earlier models. While I understand that the bottom is the only option with the infinity display I can imagine that it is not very flattering
- The notebook has a very nice finishing, all is high quality. Despite how small, light and thin it is, it feels really sturdy.
- The processor has more than enough power for all things I do with it. It even makes me do more on the notebook rather than using the desktop.
- RAM and disk space are more than enough for me as this is not my primary system. The speed is as expected and I am sure it will serve me well for quite some time.
- As a true Linux user I tend to use the keyboard more often than the mouse/touch pad and even though the travel is really shallow (usually I prefer Cherry MX Blue) it still is astonishing precise and it feels nice to type on.
- Speaking of the keyboard: the <Home> and <End> keys are not somewhere hidden under a <Fn> key but are their own keys. Great!
- The touch pad has a nice feel and is very precise as well. I like the three finger tap as middle click which is very useful in Linux (this may be a KDE feature however).
- Even though the screen is glossy, it is not so glossy that you can use it as a mirror, so some kind of anti-reflective coating is applied. It is very bright and even when the sun is shining you can still read it pretty well (which I honestly didn't expect) because it is so bright. And the infinity display is just WOW.
- The noise level is great, of course you can hear it with all cores at 100% but it is still not too loud.
- Even though it will probably not reach the same levels as with Windows the battery life is impressive. With no performance tweaks and even Power Management at a minimum (for Wifi even off) it makes easily 10 hours.
Installing and running Debian
Let's get to the reason why this page even exists: Debian
One thing in advance: almost everything works out of the box, just a few things to take care of. As already mentioned in the News I used several information sources.
Many information sources will tell you to to update to the latest BIOS. This is not actually necessary but I recommend doing that anyway. Upgrading the BIOS on the XPS 13 is easy, just place the BIOS executable in the EFI partition
/boot/efi (Linux makes life a lot easier than Windows ) and on boot you can press <F12> for the one time boot menu to choose “BIOS Flash Update”. There you browse to the file and start flashing (don't forget to attach the power supply).
Some preliminaries are outlined in the several information sources already, I will summarize the important stuff. By the way, I always refer to BIOS when I mean the UEFI Firmware Setup because BIOS simply flows nicer
- In the BIOS set the SATA operation mode to AHCI instead of RAID (when Ubuntu is pre-installed this should already be the case).
- In the BIOS disable Secure Boot as Debian does not (yet) support this.
- Use the Debian Buster installer. I could not get it to work with Stretch.
- You want to use the non-free firmware so Wifi will work during the installation.
This will give you a smooth Debian installation and everything will work out of the Box, with two exceptions that gave me a headache.
One of the two headache-generating issues was the Wifi. This system comes with the Qualcomm Atheros QCA6174 802.11ac (Killer) controller and many people have lots of problems with that.
02:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)
In previous models people even switched the Wifi card for an Intel card. In the 9370 this is no longer possible however, the card is soldered on-board. The latest available firmware version that gets delivered with Debian is (at the time of writing this) 20170823-1 which will give you a connection, but an unstable one. At first I was looking into the Wifi power management and disabled it, but later I found out that was not the issue.
To solve the connection issue, the latest firmware is needed. You can get it at GitHub and follow these steps to install them.
- Make a backup of
/lib/firmware/ath10k/QCA6174and delete the whole directory.
tar czvf ~/QCA6174_old_$(date +%F).tar.gz /lib/firmware/ath10k/QCA6174
rm -Rf lib/firmware/ath10k/QCA6174
- Unpack the downloaded ZIP file and place the QCA6174 directory in
- Rename the latest firmware-X.bin files to remove the _WLAN* part. By 'the latest' I mean the one with the highest version number, as there might be multiple files present.
- Place the latest (highest version) firmware-4.bin and firmware-6.bin files directly in
/lib/firmware/ath10k/(I used softlinks).
- Check with
lshw -c Networkif the latest firmware is loaded.
As Buster is still young I assume this will be long solved until it will be released. For me this solved all connection issues with intermittent disconnects.
Often, you will find the suggestion to disable power management of the Wifi card. For me this did not help but for the sake of completeness and also because it was difficult to find a reliable way to do so I will document it anyway.
There are various approaches to disabling Wifi Power Management, from adding a simple
iwconfig <dev> power off> in rc.local to creating udev rules that should do that for you. For me these all did not work, but a simple script in
/etc/network/if-up.d did the trick for me:
#!/bin/sh /sbin/iwconfig wlp2s0 power off
Make sure the file is executable and it will be executed every time the interface is brought up. Of course you should replace <wlp2s0> with the name of your device
The GPU in this XPS 13 is an Intel UHD 620 graphics card.
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
If you install a standard system and want to use hardware acceleration you will experience lots of flickering and screen redraw issues however. Personally I love the desktop cube, not only for its beautiful eye candy, but also for its functionality. Due to this and the discontinuation of Compiz I am a KDE user these days (meaning I have not tried other Window Managers). In KDE (Buster version) you can set the Compositor to use either OpenGL 2.1, OpenGL 3.0 or XRender. In OpenGL 3.0 the problems are less likely to occur from my experience, but still too often to be workable. So after using XRender (and thus no cube) for a while I finally found the solution.
In the Debian Wiki article on graphics cards there is one small but significant sentence:
If your graphic card is etc. 2007 and newer, try uninstalling xserver-xorg-video-intel and use the builtin modesetting driver instead.
So, in the end, simply doing a
apt-get purge xserver-xorg-video-intel solved the problem and I can happily use hardware acceleration. Every now and then there is still some flickering, for example after waking up from sleep. A simple reboot will fix this.
Lately however, after some Plasma updates, the xserver-xorg-video-intel package is doing a better job again. You should try both to determine what works better for you.