Installing Ubuntu 15.04 on the Dell XPS 13 9343 (2015) : A complete guide

This guide is outdated and for reference material only! Please use the new and up-to-date guide now ! 

Update 10/09/2015 : New guide is live!
Update 31/08/2015 : Barton George announced the incoming A06 Bios version permanently fixing keyboard repeating issue. A lot of others fix are coming (Kernel panics when switching wireless networks, Suspend resume and trackpad cursor freezing). I will try to promptly write a new and simpler guide including all those new bug-fixes once they have all been confirmed working properly.
Update 31/07/2015 : Bios A05 is out ! Changelog is “Improved Keyboard behaviour” (maybe fix the keyboard repeating issue on Linux) and “Windows 10 Support”.

Update 29/07/2015 : Fixed power saving script witch was not automatically launched.
Update 22/07/2015 : Kernel 4.1.3 fixed broken microphone.


 

I recently bought a XPS 13 2015 Developer edition. It is a great laptop equipped of an Intel Core i7-5500U, 8 Go of ram, a 512 Go SSD and a QHD+ (3 200 x 1 800) touch display.

I primarily bought the XPS because it was shipped with Ubuntu 14.04. Dell is working hard  to make everything working correctly with their hardware (see Project Sputnik). But there are still a load of problems and complains about the Linux support on this laptop :

  • Track-pad cursor freeze
  • Resume from hibernation can cause kernel panic (black screen and blinking caps lock led)
  • Keyboard goes crazy and repeats characters
  • Graphical glitch

Fortunately majority of these bugs have been patched, either by the dell support itself or in Ubuntu and kernel updates.

There is a lot of informations available on using Linux on this laptop. Here is a list of those which helped me writing this guide :

I will try here to bring together all the informations into a complete and updated guide for installing Ubuntu 15.04 on the XPS 13 9343 (2015 edition). As of today it seems that the current best combinations for using Ubuntu on this laptop is Ubuntu 15.04 + kernel 4.1.6.


 

1) Preparation

Updating your BIOS

First of all, you need to update your BIOS. The current last version, A05,  can be downloaded on dell website here.

If you are not sure which version is your BIOS you can see it by booting your XPS and quickly press the F12 key. On the bottom of the screen you will see : “BIOS Revision A0X“.

To update your BIOS, boot into Windows, download the lastest revision and install it.

If you do not have Windows installed you can use the following method to update your BIOS under Linux.

Disabling secure boot

Now you need to disable secure boot, if this has not been done yet.

Boot into the BIOS. If you see Secure Boot : ON, go in “OTHER OPTIONS” > “Change Boot Mode Settings“. Then change boot mode to “UEFI Boot Mode, Secure Boot OFF“.

Create bootable USB key

Download Ubuntu 15.04 and create your bootable USB key using your favorite tool (Rufus, Unetbootin, Linux Live USB creator, etc…).

I used Rufus to create my bootable UEFI key with the following settings :

  • GPT partition scheme for UEFI computers
  • FAT32 (Default)
  • 8192 bytes (Default)
  • Quick format
  • Create extended label and icon files

When the installation is done, boot your USB key by selecting it in the BIOS menu.


 

2) Installation

Install Ubuntu as usual, make sure you have checked “Download update while installing” and “Install third-party software“.

Update

When the install is done reboot your computer and update your system :

Then restart your computer.

We are now going to install the latest stable kernel. At the moment it is the version 4.1.6 (17 August 2015).

This kernel solves a bunch of problems but will break the wifi. So you need to download the wifi driver update bcmwl-kernel-source (mirror) from the Wily Werewolf repository before updating  to 4.1.6.

Open a terminal and run :

You will get the following errors :

Error!  The dkms.conf for this module includes a BUILD_EXCLUSIVE directive which
does not match this kernel/arch.  This indicates that it should not be built.
Error! Bad return status for module build on kernel: 4.1.6-040106-generic (x86_64)
Consult /var/lib/dkms/bcmwl/6.30.223.248+bdcom/build/make.log for more information.

As expected the wifi driver failed to compile. Reboot your computer and install the previously downloaded .deb package to fix the wifi driver.

Note : If the bcmwl-kernel-source package does not work for you, you can try using longsleep package (you will need a compatible USB wifi/ethernet dongle):

 

A bit of cleanup !

Congratulations! You have now a working Ubuntu 15.04 installation. From now on, some issues need to be solved.


 

3) Solving issues

Fix kernel panic on suspend

Frequently during a suspend the XPS 13 goes in kernel panic. When tried to wake from resume the laptop stuck on black screen and the caps lock led keep blinking. The laptop need to be restarted to work normally.

The issue come from the Broadcom firmware (again) when the wifi card change the status of the network. A patch a been published on launchpad to fix this issue.

Download and copy it in the patches folder of the firmware.

Now add the path of the patch file in your dkms.conf file :

Your dkms.conf file should look like this :

Save and run :

After 7 days using this I did not have kernel panics.

No audio

If you have no audio (no speaker displayed in “Sound Settings”)  just do two cold reboot (= shut down your laptop twice). Audio will work fine after that.

Bluetooth does not work properly

To make bluetooth work properly you need to install the Broadcom firmware.

Reload the module and bluetooth should work.

 Microphone does not work

A regression broke the microphone on 4.1 kernel. Although the microphone is present in Sound Settings, it does not work.

A patch for correcting this issue has been published here.

Update 22/07/2015 : Kernel 4.1.3 fixed the microphone.


 4) Others tweaks

Optimizing battery lifetime

Hans from Forthescience.org wrote a great script for optimizing power consumption of the XPS 13.

Update 29/07/2015 : To launch the script automatically when you plug/uplug your charger create the corresponding udev powersave.rules :

and paste inside the following content :

See the lauchpad bug report for more details.
(Thanks Matthew for the head up)

Optimizing the trackpad

The trackpad is pretty nice, some tweaks will make it better suited to your personal use by using 50-synaptics.conf config file.

You can edit the config to better fits your preferences. The Arch Wiki page on Synatics trackpad will be helpful for this.

Screen resolution (QHD+ Display)

System overall

If you have a QHD+ screen you have noticed everything is horribly small and hard to read.

You can solve this by going into : Parameters > Display and setting  “Scale for menu and title bars” to 2.

Grub

Grub menu is also hardly readable. Open grub configuration file:

Update the value of GRUB_GFXMODE to :

GRUB_GFXMODE=1024x768

Then update the /boot/grub/grub.cfg by running :

 

TTY

You can increase the font size of the TTY by doing :

1) Select UTF-8,
2) Choose the default Combined – Latin, … option (“Latin” includes the English alphabet),
3) Choose the font,
4) Select 16×32 size

Disable touchscreen

If you do not use the touch screen you can disable it :

Simply Add :  Option "Ignore" "on" on the “evdev touchscreen catchall” section of the touch screen, like this :

 

Disable bluetooth at startup

I barely use bluetooth and I prefer it turned off at startup.

Add the following before the line with exit 0 :
rfkill block bluetooth

 

 


If you have any problem or some fix/tweaks you want to share, do not hesitate to leave a comment.

Now have fun with your XPS 🙂

*Note : English is not my native language, if you see any typo or grammar mistake please contact me and I will correct it as soon as I can.

  • Thanks for this great overview. I ended up just swapping out the broadcom chip for a intel 7265ngw wireless chip (~$30 on amazon), which works out of the box and avoids the kernel panic and maybe some other issues (Dell pro support, included free with the developer edition, was surprisingly supportive of this, and opening the laptop is well documented in the manual).

    A few questions about your setup:

    – Did you switch the trackpad to ps2 mode to avoid accidental clicks during typing?
    – Have you tried connecting to a 4K external display? on the full resolution I experience occasional screen blanking and have to run it at lower resolution.

    Minor typo: you have an extraneous “cp” in the power-saving settings code block.

    • hg8

      Hello, thanks!
      I have seen a lot of people swapping the wireless chip. I hope the broadcom firmware will be better supported in the future, if not I will end up using an Intel wireless card too.
      I was not aware Dell was so supportive about opening their laptop. Indeed it is very well documented in the manual (http://downloads.dell.com/Manuals/all-products/esuprt_laptop/esuprt_xps_laptop/xps-13-9343-laptop_Service%20Manual_en-us.pdf), good to know.
      Do you know if the reception range is better with Intel chip ?

      About your questions :
      1) No, I have not switched to ps2 mode. In fact, ps2 mode is blacklisted by default now (https://github.com/advancingu/XPS13Linux/issues/3#issuecomment-123821542). But I have not had a single accidental click since I installed Ubuntu 15.04. I have no idea where it came from. On Ubuntu the accidental click were horrible. But here none.

      2) I do not had the occasion to use a external display. I have bought an adaptor (mini display to hdmi) recently to give a try. I will report the results here. I have saw people with a similar problem but I can not remember where…

      Thanks for the typo, I have updated the post 🙂

    • Eli Wilner

      Hi Carl,

      I think I have a problem that you might have resolved already. As I mentioned in my post, after following the instructions here I still get the kernel panic
      issue. (cannot go into sleep mode or shutting down the laptop… It is
      just stuck with the blinking caps-lock button)
      I’m using Kubuntu 15.04 (plasma 5) and the kernel is the one suggested in this post.

      When I checked the lspci, this is what I get:

      00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)

      00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09)

      00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)

      00:04.0 Signal processing controller: Intel Corporation Broadwell-U Camarillo Device (rev 09)

      00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03)

      00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03)

      00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03)

      00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 (rev e3)

      00:1c.3 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #4 (rev e3)

      00:1d.0 USB controller: Intel Corporation Wildcat Point-LP USB EHCI Controller (rev 03)

      00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03)

      00:1f.2 SATA controller: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] (rev 03)

      00:1f.3 SMBus: Intel Corporation Wildcat Point-LP SMBus Controller (rev 03)

      00:1f.6 Signal processing controller: Intel Corporation Wildcat Point-LP Thermal Management Controller (rev 03)

      01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5249 PCI Express Card Reader (rev 01)

      02:00.0 Network controller: Broadcom Corporation BCM4352 802.11ac Wireless Network Adapter (rev 03)

      So it seems I have an Intel card, am I right? Do you might now what I should now? Or should I reinstall from scratch ?

      Tnx in advanced.

      Eli

      • Nope, from the last line it says your wireless network adapter is a broadcom 4352, not Intel.

        Which issue do you find is already fixed? Can you connect to a 4k display at full resolution without any issues?

        • Eli Wilner

          All works fine except the panic issue when I try to suspend … Didn’t try to connect to a 4k display though ..

          Do you also experience the panic issue?

  • I can not thank you enough. It’s been a day, and all is stable. I wasn’t paying attention when I was installing the broadcom driver, but while I was installing I did notice that I already had connection. Next time that I booted I had the message that the broadcom driver didn’t install properly.

    Nevertheless, it does work anyway, and I haven’t seen a freeze in a while. Would definitely recommend this guide although I wished things could work without having to use the 4.1 kernel. Anyway, shame on Dell, this could’ve been a great project.

    • hg8

      Thanks!
      Indeed, I hope Dell will have fixed all the issues when they will put the XPS 13 Developer Edition back on the market…

      • I didn’t even realize they took it off the market. That is a good thing though. I hope they re-release it without Broadcom parts.

        Anyway, I was too quick with my answer. As from yesterday evening, my wireless works after booting, connection seems to hold, but after 10 minutes I don’t have any internet anymore. Also, my bluetooth audio (even with your fix), did not work. It did with the 3.13 kernel though, although often glitchy.

        I’m considering replacing the wifi module, as other have recommended. Does that hurt the warranty in any way? I’ll try other fixes tonight. Anyone tried out the 4.2 kernel?

        • I ordered myself an intel 7265 and I will replace it myself. Interesting is that in this thread [1], some buyers claim that their XPS 13 came with this one. Dell might be replacing them in new models, which would be a smart move.

          I’ve also noticed that my wifi connection stable on my work network, but it only has this strange behavior at home. Anyway, I have better ways to spend my time than to debug this.

          [1] http://en.community.dell.com/techcenter/os-applications/f/4613/t/19634843

          Again, thank you so much for taking the time to share your experience. These things really help.

          • hg8

            I will buy one myself soon and do a quick review. Unfortunately they are pretty hard to find in France.
            That is mad because I have the same problem. Connection stable at work, drop all the time at home. That is crazy.

            But see Carl’s problem : https://github.com/advancingu/XPS13Linux/issues/13#issuecomment-124855948 . After he switched to the Intel Wireless card he still have kernel panic at resume from suspend. That is pretty weird.

            Do not hesitate to post a comment on how the Intel card is working for you when you get it 🙂

          • My work connection is over PEAP, at home over WPA2. Not sure if the authentication method has anything to do with it. I actually saw someone else comment online that also said it worked at work, but not at home. Very interesting. That makes us three.

            I should get mine by Tuesday, I’ll let you know! Most of the people I found online were happy with the replacement, although I did find people that, like you said, experienced some issues. These things are a bit hard to track down, because you don’t know what people already have been changing in their systems. I’ll probably do a clean install of 14.04.2 or 15.04. Not sure yet.

        • hg8

          Indeed it seems like the bluetooth is not working anymore for me too (kernel 4.x). It was working with this fix on 3.16 🙁

          I had tried the 4.2 RC2 but I did not noticed any chance compared to kernel 4.x.

          For replacing the wireless card, Dell explain the procedure clearly in the XPS 13 Manual (http://downloads.dell.com/Manuals/all-products/esuprt_laptop/esuprt_xps_laptop/xps-13-9343-laptop_Service%20Manual_en-us.pdf ). So I will guess it does not void the warranty…. but I am not sure.

  • Eli Wilner

    Hi Guys!

    Great post. However: after following the instructions here I still get the kernel panic issue. (cannot go into sleep mode or shutting down the laptop… It is just stuck with the blinking caps-lock button)

    I’m using Kubuntu 15.04 (plasma 5) and the kernel is the one suggested in this post.

    Please help,

    Thanks a lot,

    Eli Wilner

    • hg8

      Hi Eli,
      Have you an Intel or a Broadcom wireless card ?

      • Eli Wilner

        Hi hg8

        When I type lspci, this is what I get:

        00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)

        00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09)

        00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)

        00:04.0 Signal processing controller: Intel Corporation Broadwell-U Camarillo Device (rev 09)

        00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03)

        00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03)

        00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03)

        00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 (rev e3)

        00:1c.3 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #4 (rev e3)

        00:1d.0 USB controller: Intel Corporation Wildcat Point-LP USB EHCI Controller (rev 03)

        00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03)

        00:1f.2 SATA controller: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] (rev 03)

        00:1f.3 SMBus: Intel Corporation Wildcat Point-LP SMBus Controller (rev 03)

        00:1f.6 Signal processing controller: Intel Corporation Wildcat Point-LP Thermal Management Controller (rev 03)

        01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5249 PCI Express Card Reader (rev 01)

        02:00.0 Network controller: Broadcom Corporation BCM4352 802.11ac Wireless Network Adapter (rev 03)

  • Dan Zettel

    Is it possible to update bios to A05 without using Windows? I use only linux so dont have windows on my system.

  • ryan

    power saver download is blocked for me?

    • hg8

      Please retry now.

  • Jay Evertson

    Alot of the links that are linked to the hgdev.co site are broken, such as synaptics conf and the powersaving file. Any chance to re-enable.

    • hg8

      Fixed!

      • Jay Evertson

        yay ty

  • Andrew Flannery

    Thanks for the great guide, really helped. I also had to:

    sudo apt-get remove pulseaudio
    sudo apt-get install pulseaudio ubuntu-desktop

    … and reboot to get the sound and microphone stuff working properly

    • hg8

      Glad it helped 🙂

      Thanks for the tip! It seem like for most of the time a simple cold reboot fix sound and microphone, but for unknowns reasons it does not seem to be enough for some peoples.

  • Daniel

    Thank you very, very much for the guide, saved me a lot of time. After following your steps, I recieved “System error occured” every now and then, running: sudo rm /var/crash/* fixed that.

  • Thanks for the guide, going to test out suspend on closing lid and will get back to everyone! I had an issue when I went to update the BIOS. I downloaded it and followed the Linux instructions, but when I went to do the ‘BIOS Flash Update’, I chose the update file but it said “inadequite”. Did I download the wrong file? I checked the version of my laptop, it is the 9343 model. Thanks!

  • Arnaldo Mandel

    Following these instructions helped a lot, thanks.

    However, suspend from mate froze the computer (yes, I have installed null-pointer-crash.patch). Curiously, pm-suspend worked.
    A simple tip gleaned from http://itsfoss.com/keyboard-mouse-freeze-suspend/ solved the problem: just reinstall xserver-xorg-input-all . Go figure!

  • PalmDetection

    Thanks for your this page and keeping it up-to-date. I have browsed a lot but find your page most worthwhile. I think I will start crying the day they will have solved palm detection.