Last updated: 2015-07-08

Linux on Dell XPS 13 (9343) Developer Edition

I got XPS 13 DE in June 2015, with Ubuntu 14.04 preinstalled. It came with certain problems, also experience by many other people:

The problems were discussed at the Dell forum and fixes were posted by Dell. In general, there are several pieces to upgrade:
  1. The kernel 3.13 → 3.19.0-20 (may be later ones?)
  2. Update trackpad drivers
  3. Update the Dell 13 9343 BIOS A03 → A04
There are a few ways to upgrade:
  1. Upgrade Ubuntu 14.04 → 15.04. The latter uses the 3.19 kernels. One has to erase the disk and overcome the hassle of the UEFI (BIOS).
  2. Install the 3.19 kernel from ppa:canonical-kernel-team/ppa
  3. Retain the 3.13 kernel and install the Dell's patches
  4. Since several problems are caused by the drivers to the Broadcom wifi card (patches required), some people replace it with a superior card Intel 7265, which is supported by standard Linux kernels.
There is a list of posts and other instructions I found most useful for myself (as of 2015/06/10):
  1. Patches by Dell (Satish Singh)
  2. Post by MRC01, in reply to my question
  3. Detailed instructions by MRC01: stay with 14.04, upgrade the kernel, replace the Wifi card and do several small tweaks.
  4. Reply to MRC01 by Gert J: problems with installing 15.04, but a success with the minimal changes (just the Dell's patches)
  5. Some info on 14.04 → 15.04 upgrade here, there, Dell's instructions,
  6. Recent posts
  7. How to upgrade the BIOS Dell's instructions, Barton's blog
  8. Ubuntu LTS (Long Term Support)
  9. Ubuntu upstream kernels
  10. Wiki page
  11. Wiki archlinux page
  12. GitHub on issues (May 2015)
  13. Taking xps 13 2015 apart (from ifixit)
  14. General info on power management
  15. Forum: how to the reduce power consumtion of QHD+ laptops

Detailed Procedure

  1. Installation issues
  2. BIOS update
    1. Downloaded 9343_BIOS_Rev_A04.exe from the Dell's page and copied it to a USB stick (VFAT)
    2. Inserted the USB stick (I used the connector at the right side)
    3. Rebooted the laptop and at the POST screen (DELL...) pressed F12.
    4. Selected the "BIOS Flash Update" option
    5. A menu appeared showing the files on the USB stick. Selected the 9343_BIOS_Rev_A04.exe file.
    6. Followed the menu instructions. Updating took a couple of minutes.
  3. Kernel update: I followed the steps described in the MRC01's blog
    1. Clean up
      • sudo apt-get update
      • sudo apt-get dist-upgrade
      • sudo apt-get autoremove
    2. Install the lts (Long Term Support) 3.19 kernel associated with Ubuntu 15.04 ("vivid")
      • sudo add-apt-repository ppa:canonical-kernel-team/ppa
      • sudo apt-get install linux-generic-lts-vivid
      • The installation complained about dkms inconsistencies
      • sudo reboot
      • Went into the GRUB menu (Esc at the purple screen). The menu "Advanced options for Ubuntu" showed the new kernel 3.19.0-20 for the default.

    The trackpad has become much better. After a day of moderate use the kernel panicked with the Caps Lock blinking. It happened at a steady position (no lock or sleep), however the Wifi was frequently disconnecting/connecting. The WiFi stability is still not satisfactory. I ordered the Intel 7265 card.
  4. I installed the Dell's patches, apart from the BIOS update which had been installed earlier. There were some complaints about an incompatible dkms configuration.
    There was a remark from MRC01 that the Dell patches were not actually needed for the kernel 3.19. I checked what is indeed installed:
    1. synaptic-i2c-hid-3.13.0-32-backport-dkms_1.6.3_all.deb Trackpad and similar modules hid-...
      Nothing is installed in /lib/modules/3.19.0-20-generic/updates/dkms/. Perhaps, the installation is skipped for non 3.13 kernels. Nothing is also installed in /lib/modules/3.13*/updates/
    2. somerville-platform-dino_1_all.deb changelog for the first patch (synaptic...)
    3. workaround-native-backlight-trusty_10_all.deb To fix issues with black screen after awaking.
      Adds /etc/default/grub.d/52_oem_video_native_backlight.cfg : video.use_native_backlight=1 to GRUB command line for all GRUB entries apart from "safe mode" ones.
    4. workaround-set-acpi-osi_1.3_all.deb Adds /etc/default/grub.d/53_set_acpi_osi.cfg : deleting duplicates of acpi_osi="Windows 2013" in the command line for all GRUB entries apart from "safe mode" ones.
    5. oem-kernel-cmdline_1.4kittyhawk7somerville3_all.deb : May not resume from suspend.
      Adds /etc/default/grub.d/40_oem-add-missing-default.cfg : Adds quiet and splash for all GRUB entries apart from "safe mode" ones.
      Adds /etc/default/grub.d/50_oem-kernel-cmdline.cfg : add just nothing (the parameter is empty).
    6. i915-3.19-3.13-dkms_3.19.1-5.2_all.deb : May not resume from suspend.
      Adds several modules for 3.13 kernels /lib/modules/3.13.0-53-generic/updates/dkms/ but nothing for the 3.19 kernel.
    7. The only module in /lib/modules/3.19.0-20-generic/updates/dkms/ is wl.ko from bcmwl-kernel-source (Broadcom drivers), which was installed automatically during the 14.04 installation and was somehow rebuild at the kernel 3.19 installation.
    Summary: The Dell patches do not affect the 3.19 kernel, apart from some parameters sent via GRUB. I will keep them all installed for the moment.
  5. I followed the MRC01's blog and blacklisted 3 items in /etc/modprobe.d/blacklist.conf:
    blacklist mei
    blacklist mei_me
    blacklist psmouse
    Then, sudo udate-initramfs -u and reboot. After that in a week I had not seen a kernel panic or other crash.
  6. On June 28 I installed the Intel 7265 card.
  7. Power suspension. The event reported by other people happened at least once: the laptop with the lid close was actually awake. I suspended it using the menu, then closed the lid and put it in a bag. I got it from the bag in 15 min and found it quite warm and have consumed 6% of the battery. The file /var/log/pm-suspend.log showed "performing suspend" and in 5s "Awake". I suppose the it restarted just after I closed the lid.
    I tried to make it to ignore the lid status. Mostly, the awake at the lid opening. I also did sudo update-initramfs -u (no idea if it is needed) and rebooted. The result is that the laptop does nothing when I close the lid, but when opened in the suspend mode it would get awake.
  8. 2015/07/01 - I blacklisted the Broadcom driver wl.
  9. 2015/07/07 Power suspension. Again, the laptop woke up in the bag. I found a hack:
    sudo -s
    echo "LID0 " > /proc/acpi/wakeup
  10. 2015/07/15 Power suspension. in a week I noticed one unwanted wake up. It happened when I was in the process of closing the lid 10-30s after the laptop was suspended and the lights went off.
  11. 2015/07/15 Power suspension. in a week I noticed one unwanted wake up. It happened when I was in the process of closing the lid 10-30s after the laptop was suspended and the lights went off.
  12. 2015/07/13 Trackpad jumps: