Dell XPS 13 (2015)

Device Status Modules
Video Working i915
Wireless Working wl or iwlwifi
Bluetooth Works after installing firmware btbcm
Audio Working 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.

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

As of kernel 4.1.3, a patched kernel is no longer necessary. However, some manual configuration is still recommended to get the best experience.

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, you'll need to use a DE/WM that properly supports HiDPI. 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.

Configuration

BIOS updates

BIOS update A05 was released on 2015-07-31. 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 on your EFI partition (/boot/efi) or on a USB flash drive, reboot, and choose BIOS Update in the F12 boot menu.

WiFi

Most configurations feature the Dell DW1560 802.11ac adapter (Broadcom BCM4352), which requires broadcom-wlAUR or broadcom-wl-dkmsAUR 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. Compared to the Broadcom card, the Intel card has a 2-3 times wider reception range and way higher throughput, making it an worthwhile upgrade should you decide to do so. Note that the Intel 7265 card exists as both a WLAN standalone and WLAN/Bluetooth combo card; both work, so it's your decision if you are willing to pay extra to get Bluetooth support or not.

Tip: Intel users: Intel Linux driver maintainer Emmanuel Grumbach maintains a fork of the linux-firmware repository which contains bleeding edge firmware that provides improved throughput and connection stability for the Intel 7265 card.

Bluetooth

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 20662520_6c535fbfa9dca0d07ab069e8918896086e2af0a7.cab
$ hex2hcd BCM20702A1_001.002.014.1443.1572.hex
# mv BCM20702A1_001.002.014.1443.1572.hcd /lib/firmware/brcm/BCM20702A1-0a5c-216f.hcd
# ln -rs /lib/firmware/brcm/BCM20702A1-0a5c-216f.hcd /lib/firmware/brcm/BCM20702A0-0a5c-216f.hcd

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

Audio

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.

Microphone support was finally fixed in the mainline kernel in 4.1.3. All older kernel versions require patches to fix it. To fix it on kernels 4.1.0-4.1.2, apply the patch available here. To fix it on kernels older than 4.1, apply this patchset: 1, 2.

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 was merged in for 4.2 that will force HDA mode on until I2S support is ready. [2][3]

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

Touchpad

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 may freeze if two fingers are detected on the pad. This can be fixed by setting synclient Clickpad=1

If your desktop does not provide useful default settings for the clickpad (no right or middle button emulation, for example) or you want more control than your desktop environments settings provide, see Touchpad Synaptics

If you need working palm detection, you can use xf86-input-libinput. The libinput driver supports nearly all button layouts out of the box with few additional settings.

/etc/X11/xorg.conf.d/50-synaptics.conf
Section "InputClass"
	Identifier "touchpad"
	MatchProduct "DLL0665:01 06CB:76AD UNKNOWN"
	Driver "libinput"
	Option	"Tapping"	"on"
	Option	"AccelSpeed"	"1"
EndSection

Powersaving

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

pcie_aspm=force i915.enable_fbc=1 i915.enable_rc6=7

However, there have been reports (as of July 2015) of i915.enable_fbc=1 causing flickering and/or freezes.

Tip: Enabling PSR support, via i915.enable_psr=1, will further reduce idle power usage to ~2.6 W; however, this currently causes flickering.
Tip: i915.lvds_downclock=1 for lvds_downclock is no longer needed. From the MacBook page: "there's a new auto-downclock for eDP panels in recent kernels and it's enabled by default if available, so don't use - recommendation from irc #intel-gfx").

Troubleshooting

Loss of horizontal sync when switching TTYs

See Intel graphics#Loss of horizontal sync when switching TTYs.

Pink & green artifacts in video or webcam output

See Intel graphics#Pink & green artifacts in video or webcam output.

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.

Connection issues with Broadcom wireless

If wifi-menu and iwlist scan fail after driver installation and reboot, try disabling "Wireless Switch" control in the BIOS.

If your WiFi connection drops constantly, try disabling NetworkManager (if you have it installed) and fall back to using wifi-menu.

Audio channel balance issues (PulseAudio)

The official pulseaudio package is missing a udev rule, which makes the system fallback to a generic audio profile. (Source?)

This in turn results in a faulty mixing of audio channels, producing an rather odd sounding volume spectrum when using headphones in combination with equally balanced left and right audio channels.

It sounds as if the left and right channel partially nullify each other.

The easiest way to fix this issue is to add a udev rule, setting the right profile yourself.

/lib/udev/rules.d/91-pulseaudio-xps13.rules
# Dell XPS 13 (9343) Audio Profile Picker UDEV Rule
SUBSYSTEM!="sound", GOTO="pulseaudio_end"
ACTION!="change", GOTO="pulseaudio_end"
KERNEL!="card*", GOTO="pulseaudio_end"
SUBSYSTEMS=="usb", GOTO="pulseaudio_end"

# Dell XPS 13 (9343)
ATTRS{subsystem_vendor}=="0x8086", ATTRS{subsystem_device}=="0x9ca0", ENV{PULSE_PROFILE_SET}="force-speaker-and-int-mic.conf"

LABEL="pulseaudio_end"

DRM GPU Render Ring Hang when using OpenGL

With the latest update of mesa and mesa-libgl (10.6.2 at the time of writing) a new regression has been introduced, causing OpenGL applications to trigger a Render Ring Hang after a while, effectively forcing the GPU to reinitialize and crash all applications that were part of the affected Render Ring.

Until this bug is fixed, revert to mesa and mesa-libgl (10.5.7).

EFISTUB does not boot

As of version A05, the BIOS does not pass any boot parameters to the kernel. Use a UEFI boot loader instead. systemd-boot works with current kernels.

See also

General:

Project Sputnik:

Packages for XPS 13: