On February 5th, I received my new laptop, a Dell XPS 15 9550. Before this laptop, I used to use a Dell Precision M3800, which has been replaced by the Dell Precision 15 5000 series, but the “only” difference between the two is the dedicated video card you can choose. The Precision sports a Quadro video card, whereas the XPS uses a GeForce card. Without going in too much details, this means that the Precision is better in professional work, such as AutoCAD, and the XPS is better at running games. Since one of my goals with this laptop was to get rid of my desktop PC, which I only use for games, the XPS was the more logical choice.
As can be derived from previous posts, I mainly use Linux, more specifically Fedora, on my laptop. This is because I run a number of VM’s (via VirtualBox and Vagrant) and/or Docker containers at the same time. In itself, this is also possible on Windows, but on Linux the overhead is a lot lower than on Windows. I will not go into the details of how to use aforementioned tools, that is something for a different post.
What I will go into in this post, as the title might suggest, is how to get Fedora 23 running on the XPS 15, how to dual-boot it with Windows, issues I have run into, and their solutions (hopefully). Also, be sure to read the end (last two paragraphs) of the post, which contain an important note :). I hope this post will help people who want to use Fedora on their XPS, and maybe I will even get a few tips and pointers in return :).
For reference purposes, the specs are:
- Intel Core i7-6700HQ
- 16GB RAM
- 512GB SSD (Samsung NVMe)
- nVidia Geforce GTX960M with 2GB of RAM
- 15.6″ UltraHD (3840×2160) Screen
- Broadcom BCM43602 Wireless card
- Windows 10 Pro installed
Before I started on this “adventure”, if you will, I did some research on whether or not had tried my setup before. Dual-booting does not seem to be the issue, and Linux on the XPS 15 is not an issue either, as there are multiple posts of Ubuntu on the XPS, and there is also information of Arch Linux running on the XPS. However, I was not able to find anything on running Fedora on the XPS. So it pretty much felt I was in very uncharted territory :).
Before you start anything, make sure you change two settings in the UEFI Setup:
- Change SATA operation mode from RAID to AHCI
- Turn Secure Boot off.
You need to do the first one to be able to install Fedora at all, because you will not see the disks in Anaconda, and that makes it very hard to install Fedora. It also means you will need to reinstall Windows, so better have that done before you start, it saves you at least one reinstall.
The second one is so you are able to install custom kernel drivers and such. If you leave secure boot on, you are, for instance, not able to install the VirtualBox kernel modules, and the nVidia graphics modules. Which sucks.
So, first and foremost: as I said above: getting dual-boot to work is not very hard. I always do a clean install of Windows on any machine I get, just to get rid of all software that is installed “for free” by default. So, first, I reinstalled Windows, creating a partition of 125GB for Windows. I only use Windows for gaming, and more specifically, for one game, World of Warcraft, so that partition does not need to be that large. I might do other games, but I have also ordered a external SSD, which I can use to install those on.
Installing Windows 10 is a breeze, and you can do that installation in about 15 minutes, at which point you have a functional desktop. I will not be going into the Windows installation, as this post is mostly dedicated to the Fedora installation and configuration.
So, onwards to the Fedora installation! If you want to do this yourself, there is a good guide over here. This uses a live cd and then installs Fedora on your hard drive. As I have been using Fedora for quite some time, and have been doing reinstalls every new release, I created some of my own scripts that do the bulk of the installation work, and to my liking. So I do not install a full fledged desktop, but I first do a minimal installation of Fedora, which, after the reboot, brings me to a command line, after which I can get my scripts from my server and install them. Also, I do a netinstall, which means that the most recent packages are downloaded from the internet on installation, so you need an active network connection to be able to install. For the network connection, I used a Dell DA200, which is connected via USB Type C.
First things first though, the installation itself. The first time(s) I ran it, I wanted to use btrfs as the file system, as I have been hearing good things about it. I made sure the partitions were created using btrfs, made sure encryption was on, checked if my wireless card was recognized (it was, yay!) and started the installation. The installation all went well, so I hit the reboot button, eagerly anticipating to see a new option in my UEFI boot manager, showing “Fedora”.
Unfortunately, there was no entry… So, apparently, this entry is not created by the Fedora installer, which is a nuisance, but not a deal breaker, as you can just create the option yourself. You do need to know that you will have to point to the shim.efi file, as that is what launches the Grub boot manager. I discovered that after a bit of Googling, but hey, when it works, it works.
On rebooting, I was able to select Fedora, but was then presented with a black screen. I did not see a thing. Just blackness. I could not see if I needed to enter my disk-encryption-password, just, nothing. After a lot of Googling, reinstalling, more googling and some more reinstalling, I figured I would try it the “old-fashioned” way, and use LVM for the partition setup. On the next reboot, I did see the prompt for my password, so I entered that and was presented with the text-based login screen.
Custom install scripts
I logged in, downloaded my install scripts, and set them to work. This all seemed to go very well, everything got installed properly, there were no errors, so I was happy. Until the reboot, at which time I was, again, presented with a black screen. Once upon a time, I had a problem in which I thought that my screen was broken, but the only thing going on was that my brightness was set all the way to zero, which means a black screen, and you see nothing. So, hoping this was a similar issue, I typed in my disk-encryption password, and… lo-and-behold, only seconds later, I was presented with my Gnome login screen!
At last, after a few days (yes, it was already a few days at this point), of being stuck, I was starting to make progress. After logging in, a few other scripts ran and I was able to start using my laptop properly. Well, properly… There are a few things that are still buggy, but they are, from what I can tell so far, mostly the result of lacking support for Skylake in the Linux 4.3 kernel. Or at least: lacking support for Skylake in the 4.3 kernel that is used by Fedora. I am using the i915.preliminary_hw_support=1 flag in my kernel boot options, which should not be necessary anymore, but it is the only way I seem to get a properly booting Fedora installation.
Having read that the XPS15 uses a rebranded Broadcom wifi chip, I chose to install the broadcom-wl kernel modules, but that made sure that my wifi did not work at all. The proper drivers are already included in the linux-firmware package, so after uninstalling broadcom-wl, my wifi worked without problem.
There is also a problem with the “wakeup” from the lockscreen, which is very annoying. Basically what happens is that the screen stays black for a while when I want it to wake up. This can be resolved quickly by hitting the power button to force the laptop to go into sleep and then waking it again, but if you wait patiently for a bit, you will get the lock-screen painted on your screen. This might be related to the following errors I see in my dmesg output, but I am not entirely sure:
[21128.868559] [drm:intel_dp_aux_ch [i915]] *ERROR* dp aux hw did not signal timeout (has irq: 1)!
[21128.868571] [drm:intel_dp_aux_ch [i915]] *ERROR* dp_aux_ch not done status 0xad40001f
[21131.031217] [drm:intel_dp_start_link_train [i915]] *ERROR* failed to enable link training
[21131.223180] [drm:intel_dp_complete_link_train [i915]] *ERROR* failed to start channel equalization
Hibernate does not seem to work either, which is a bit annoying, as I wanted to use hybrid-sleep, as an alternative to normal sleep. Hybrid-sleep has the benefit of doing both suspend-to-RAM and suspend-to-disk, which makes sure that you will not lose any work, if your laptop drains it battery while being suspended.
In all my trials and tribulations, I installed the 4.5-rc2 kernel, which is a bit too bleeding edge for my liking, but my laptop worked better after installing it. I tried to find a supported Fedora 4.4 kernel, but that is nowhere to be found yet. So now I am just eagerly awaiting the 4.4 kernel in the normal Fedora repositories.
So, to sum things up, here is the list of stuff that does not seem to work properly for me on my XPS15 with Fedora 23, and are unresolved at the moment:
- Unlocking the screen
- Black screen on boot
- Random kernel panics
After reading all this, it might seem that I am not content with the XPS15, or Fedora, but that is absolutely not the case. I am very content with both the XPS15 and Fedora, as I think that most problems that I have are the result of the laptop using Skylake, which is not fully supported yet in kernel 4.3 and/or Fedora 23. Also, running Windows on the laptop is no problem, and the dual-boot works very smoothly. I will be installing World of Warcraft on the laptop and be running on it an external monitor via the Dell D3100. I will be reporting back on my findings on this, as it is one of the reasons why I chose this laptop after all.
I might have missed some things in this post, but I will address them in a follow-up post, which will most definitely come.