Dell XPS 13 (9343)

From ArchWiki
Revision as of 18:52, 16 June 2015 by Pancakes (talk | contribs) (→‎Powersaving: Fixed typo in kernel boot params)
Jump to navigation Jump to search
Device Status Modules
Video Working i915
Wireless Working wl or iwlwifi
Bluetooth Works after installing firmware btusb
Audio Works after patches snd_hda_intel
Touchpad Works after configuration hid_multitouch
Webcam Working linux-uvc
Card Reader Working rtsx_usb

The 2015 Dell XPS 13 (9343) is the second-generation model of the XPS 13 line, and like its predecessor, it has official Linux support courtesy of Dell's Project Sputnik team. They target Ubuntu 14.04 LTS, but the improvements and support from the Sputnik team are generally applicable to all distros.

For installation help, please see the Installation guide, Beginners' guide and UEFI; the installation process for Arch on the XPS 13 does not differ from any other PC. This page covers the current status of hardware support on Arch, as well as post-installation recommendations.

As of kernel 4.0, there is still some manual configuration and kernel patching required, but after you've done that, Arch should run quite smoothly.

Model differences

Although the XPS 13 is sold in a variety of configurations in most markets, those wanting to run Linux should pay special attention to display options (FHD/QHD+) and WiFi adapter differences (Dell DW1560 vs. Intel 7265). For users with the QHD+ model, HiDPI support is essential, and you should be aware of that when configuring your Arch installation. Regarding the WiFi adapter choices, both cards do work in Arch, but the Dell DW1560 requires a proprietary kernel module that is not well-supported, whereas the Intel 7265 is supported by the mainline kernel.

There are no exclusive hardware differences between the Developer Edition and the Windows edition of this laptop; this guide is equally applicable to both models.


BIOS updates

BIOS update A04 was released on 2015-05-25. With A02 or newer, almost everything should work out of the box, and the kernel boot parameters that were used in conjunction with earlier BIOS versions are no longer necessary. Store the update binary in /boot/efi or on a USB flash drive and use the F12 key during bootup to update.


Most configurations feature the Dell DW1560 802.11ac adapter (Broadcom BCM4352), which requires broadcom-wlAUR or broadcom-wl-dkmsAUR from AUR to be installed. See the Broadcom wireless page for more details.

Some higher-end models do not use the Dell-branded adapter but instead use an Intel Wireless 7265, which is supported by the mainline kernel. This card is generally available as an aftermarket purchase for those wishing to replace the Broadcom wireless in their laptop. In direct comparison with the Broadcom module, the Intel module has a 2-3 times wider reception range and way higher throughput, making it an worthwhile upgrade should you decide to do so. It's important to mention that said Intel module exists as both a WLAN standalone and WLAN/Bluetooth combination module. Both work, so it's your decision if you are willing to pay extra to get Bluetooth support or not.

Tip: Broadcom users: If wifi-menu and iwlist scan fail after driver installation and reboot, try disabling "Wireless Switch" control in the BIOS.
Tip: Broadcom users: If your WiFi connection drops constantly, try disabling NetworkManager (if you have it installed) and fall back to using wifi-menu.
Tip: Intel users: Intel Linux driver maintainer Emmanuel Grumbach maintains a fork of the linux-firmware repository which contains bleeding edge firmware that benefits the Intel 7265 module greatly, resulting in even higher throughput and connection stability.


Note: Intel WiFi users: If your WiFi card supports Bluetooth, then the BT interface should be available out-of-the-box, as the required firmware is included in linux-firmware.

The Broadcom Bluetooth firmware is not available in the kernel (source), so you will have to retrieve it from the Windows driver. You need to extract the .cab file with cabextract and then convert it to a .hcd file with hex2hcd from bluez-utils:

$ cabextract
$ hex2hcd BCM20702A1_001.002.014.1443.1572.hex
# mv BCM20702A1_001.002.014.1443.1572.hcd /lib/firmware/brcm/BCM20702A0-0a5c-216f.hcd

After reboot, the firmware should be available for your Bluetooth interface.


Note: Proper audio support is dependent on having the latest BIOS update. If you have not yet updated to BIOS A02 or newer, please do that first.

The sound chipset in this laptop, a Realtek ALC3263, is described as "dual-mode", meaning it supports both the HDA standard and the I2S standard. The embedded controller in the XPS 13 uses the ACPI _REV value provided by the OS you use to determine which mode the sound chipset should be initialized in at boot.

HDA mode

With BIOS A02+, the kernel will automatically use the sound card in HDA mode.

The microphone does not work out-of-the-box, but there are two patches available in kernel 4.1 that fix it (1, 2); it is highly recommended that you backport these into your kernel. Alternatively, you can use altercation's linux-xps13-altAUR kernel from the AUR, which contains the mic patches. Should you run on the Intel 7265 WiFi/Bluetooth module and thus not require the Broadcom WiFi/Bluetooth driver, you will be better off running the linux-mainlineAUR kernel though due to its improved power-efficiency and up-to-date bugfixes.

Note that if you are dual-booting with Windows, you will have to do a cold boot twice before HDA sound will work in Linux and vice-versa.

I2S mode

I2S support in Linux is still quite nascent, and some important features, notably jack detection, are not due to land until kernel 4.2 or later. [1] As a result, I2S support is currently disabled in favor of HDA mode. An ACPI REV quirk mode will be added in kernel 4.2 that will force HDA mode on until I2S support is ready. [2] In the meantime, the ACPI REV=2 patch that was due for 4.1 (which would have forced I2S mode on) has been reverted in 4.1-rc4, so your audio will continue to work in HDA mode for now.

In I2S mode, the dual-boot workaround is not necessary.


With the latest BIOS patch, most of the touchpad functions should work, although palm detection does not work in i2c mode yet. For advanced settings with xf86-input-synaptics, the psmouse kernel module must be blacklisted first.

The touchpad will freeze if two fingers are detected on the pad. This can be fixed by setting synclient Clickpad=1

To enable full multitouch support, create the following Xorg config: (source)

Section "InputClass"
    Identifier "touchpad"
    Driver "synaptics"
    MatchIsTouchpad "on"
        # Enables Palm Detection to prevent bad clicks
        # This seems to work on PS/2, but not on i2c
        Option "PalmDetect" "1"
        Option "PalmMinWidth" "8"
        Option "PalmMinZ" "100"
        # Enable clickpad support
        Option "ClickPad" "true"
        # Sets up soft buttons at the bottom
        # First 40% - Left Button
        # Middle 20% - Middle Button
        # Right 40% - Right Button
        Option "SoftButtonAreas" "60% 0 82% 0 40% 59% 82% 0"
        # Disables Tap to click
        Option "MaxTapTime" "0"
        # Enable two finger scrolling
        Option "VertTwoFingerScroll" "on"
        Option "HorizTwoFingerScroll" "on"

If you're using GNOME, MATE, or Cinnamon, you should disable the mouse plugin in the settings daemon; otherwise, the Synaptics config above will be ignored.

There is a patch available in 4.1 that fixes multitouch tracking; one notable symptom of the related issue occurs with gnome-shell, wherein the Shell will interpret all clickpad touches as clicks after some period of time. If you want to backport it, the patch is available here. If you have a Wacom tablet, you should also backport the accompanying Wacom patch.


With the linux-mainlineAUR kernel and tlp, the idle power usage is reduced to ~3.5 W with the following kernel parameters:

i915.enable_psr=0 pcie_aspm=force i915.i915_enable_fbc=1 i915.i915_enable_rc6=7 i915.lvds_downclock=1

Enabling PSR support will further reduce power usage to ~2.6 W but will cause flickering at the moment.


Loss of horizontal sync when switching TTYs

A regression is present in kernels 3.19.3+ (and possibly older kernels as well) that results in horizontal sync loss on Broadwell machines when switching TTYs. [3] To fix it, you can add i915.enable_ips=0 to your kernel command-line as a workaround, or if you're running 4.1, you can rebuild your kernel with the patch available here.

Pink & green artifacts in video or webcam output

In some applications that use xv output, or Intel Textured Video (notably, Skype and VLC), the video stream exhibits pink and green artifacts. This is a general Broadwell video issue that was fixed upstream on 2015-04-16. [4] To fix it, you can either install xf86-video-intel-gitAUR from the AUR or rebuild xf86-video-intel with the patch available here. Also see Arch bug 45310 (and add your vote!)

Graphical artifacting/instability after S3 resume

If you encounter some artifacts and/or an unusable graphical environment after resuming from a suspend, you may want to switch your Intel graphics acceleration from SNA to UXA. Switching to UXA, however, will result in decreased performance.

Noisy audio over headphone jack (HDA)

Some people are reporting loud white noise and oscillating noise when using the headphone jack.

As a workaround on kernels older than 4.1, run this Python 2 script as root. The script checks that you have a compatible sound card and then flips two bits in the HDA driver that disables a problematic loopback path.

This patch fixes the problem permanently; it's currently queued for inclusion in 4.1.

Audio channel balance issues (PulseAudio)

Currently there is an issue with PulseAudio that causes glitched audio output when using headphones while the left and right audio channel are perfectly balanced. It sounds as if the left and right channel partially nullify each other.

An easy workaround for this issue is to create a Fake-Stereo remap-sink in the PulseAudio configuration file, which will mirror the mixed Mono-Channel of the playback to the Front-Left and Front-Right output of the device. This results in clearer playback at the cost of audio depth (due to both channels now outputting the same track), this is anything but a proper fix to the issue, but it should keep people going until a proper fix is found.

### Create Mono-Sink to avoid Dell XPS 13 Channel Balance Audio Glitch
load-module module-remap-sink sink_name=fakestereo master=alsa_output.pci-0000_00_1b.0.analog-stereo channels=2 master_channel_map=mono,mono channel_map=front-left,front-right
set-default-sink fakestereo

See also


Project Sputnik:

Packages for XPS 13: