Dell XPS 13 (9343)

The 2015 Dell XPS 13 (9343) is the second-generation model of Dell's XPS 13 line. 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 distributions.

Note: This page refers to the early 2015 model of XPS 13. For the late 2015 model, see Dell XPS 13 (9350).
HardwarePCI/USB IDWorking?
Audio8086:160cYes
GPU8086:1616Yes
Wi-Fi14e4:43b1Yes
Bluetooth0a5c:216fYes
Touchpad06cb:76adYes
Webcam0bda:5682Yes
SD-card reader10ec:5249Yes

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

As of kernel 4.1.3 (released July 2015), 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 or QHD+) and Wi-Fi adapter differences (Dell DW1560 or Intel 7265).

Users with QHD+ displays should use a DE/WM that properly supports HiDPI.

Regarding the Wi-Fi adapter, both cards work in Arch Linux. If the Intel one works out-of-the-box thanks to mainline kernel support, the Dell DW1560 instead requires a proprietary kernel module that is not well-supported; further details are reported in the proper below section.

There are no exclusive hardware differences between the Developer Edition and the standard Windows edition, so this guide is equally applicable to both models.

Configuration

BIOS updates

Note: LVFS does not support this device, thus you cannot use fwupd in order to upgrade the BIOS. To do it, proceed manually as described below.

The latest BIOS update is A20 and it was released on 8th October 2019. With version 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.

BIOS upgrade is easy thanks to the EFI implementation: place the update binary (the just downloaded file) in the EFI partition () or on a USB flash drive, reboot, press key in order to enter in the Boot Menu and then choose BIOS Update.

Screen and Keyboard Backlight

Backlight and its control work out-of-the-box:

  • The systemd-backlight.service takes care of both eDP panel and keyboard backlight (and any other external device) status, saving at shutdown and restoring their values at boot.
  • Hardware Function keys ( and Fn-F12 for screen backlight and Fn-F10 for keyboard backlight) work without any operation, as well.

Dynamic Backlight/Brightness Control (DBC)

You may notice that the screen looks dimmer than you expect or the screen overall brightness changes constantly. This behaviour is not a symptom of any monitor issue but a technology called Dynamic Backlight/Brightness Control (DBC), designed to save energy according to the content displayed on the screen.

SSD

This laptop series comes with a SSD as storage device, connected via SATA. This technology needs some configuration in order to achieve the best operative conditions. See Solid State Drives for further information.

Wi-Fi

Most configurations sport the Dell DW1560 802.11ac adapter. This is based on the Broadcom BCM4352 chip which requires proprietary driver to work. Packages and provide it. In the former case remember to install the Linux kernel headers too (even if it is listed as an optional dependency of the package, it is mandatory for having a working network). See the Broadcom wireless page for more details and/or assistance.

Some higher-end models do not use the above-mentioned adapter, instead they use an Intel Wireless 7265 card which is supported by the mainline kernel.

Bluetooth

The Broadcom Bluetooth firmware is not available in the kernel (source), so you need to install bcm20702a1-firmwareAUR and reboot if you want to use Bluetooth.

Alternatively, you can retrieve the firmware directly from the Windows driver by yourself. You need to extract the file with cabextract and then convert it to a file with hex2hcd from :

$ 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 is available for your Bluetooth interface.

Audio

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 itself to determine in which mode the sound chipset should be initialized in at boot.

HDA mode

With BIOS A02+ and official Arch Linux kernels older than 4.4 and again starting from version 4.11.5, the sound card will be initialized in HDA mode.

Setting the default sound card

By default, ALSA does not output sound to the PCH card but to the HDMI card. This can be changed by following ALSA#Set the default sound card. To set the proper order, create the following file in :

I2S mode

With BIOS A02+ and official Arch Linux kernels from 4.4 to 4.11.4, the sound card will be initialized in I2S mode. I2S support requires alsa-lib 1.1.0 or newer. (I2S support was broken in mainline kernel 4.5, and fixed in Arch kernel 4.5.2 and mainline 4.8).

Enabling the microphone

In I2S mode, the built-in microphone is muted by default. To enable it you have to unmute the item. Follow the instructions below in order to achieve the goal:

  • open (an utility included in the alsa-utils package)
  • press and select the broadwell-rt286 sound card
  • press to switch to the Capture view and ensure that ADC0 has the CAPTURE label. If it does not, toggle over to it with your arrow keys and press the spacebar to turn it on CAPTURE
  • finally, toggle over to the Mic item and raise the volume to 100.
Using Jack

By default Jack recognises four capture ports and is unusable because the transport is broken into short fragments with breaks between them. Limit input to two channels with on the command line or the corresponding option in 's advanced settings.

Function Keys

Here is a summary table about Function Keys you can use with this model:

Key Visible?1 Marked?2 Effect
Fn+EscYesEnables Fn lock
YesYes
YesYes
YesYes
Fn+F4YesYes
YesYesXF86AudioPlay
YesYes
YesYesSwitch internal/external display
YesYes
YesSwitch keyboard backlight intensity
Fn+F11YesYes
YesYes
YesYes
Fn+InsertYes
YesSuper (Right)
YesYesMenu
YesYesHome
YesYesPage Up
Fn+DownYesYesPage Down
YesYesEnd
YesPause
YesPrint
YesScroll Lock
Fn+A / D / E / F / G / T / Q / WYes
  1. The key is visible to and similar tools.
  2. The physical key has a symbol on it, which describes its function.

Touchpad

With the latest BIOS, the touchpad should work out-of-the-box with either the synaptics or libinput drivers. The second is recommended over the former.

Synaptics driver

For more advanced settings with the Synaptics driver, see Touchpad Synaptics.

If the touchpad freezes when you use more than one finger, try enabling Clickpad mode with .

Libinput driver

For better multi-touch support, you can use . The libinput driver supports nearly all button layouts out-of-the-box with few additional settings.

Refer to the specific libinput page for more details.

For further configurable options (e.g. NaturalScrolling, MiddleEmulation), see .

Powersaving

With kernel 4.6.5 and tlp, the idle power usage can reach ~2.3 W with the kernel parameter enabled.

You may use or to reproduce and check this behaviour by yourself.

QHD+ model

An ICC profile is a binary file which contains precise data regarding the colour attributes of the monitor. It allows you to produce consistent and repeatable results for graphic and document. The following ICC profile is made with dispcalGUI ( ) ArgyllCMS ( argyllcms) and a spectrophotometer for absolute colour accuracy; even if it is possible to achieve better results by calibrating your own monitor by yourself, in general this profile is definitively an improvement over the stock profile.

This profile has been made with the spectrophotometer's high resolution spectral mode, with white and black level drift compensation, the high quality ArgyllCMS switch and 3440 patches. Dynamic Brightness Control has been disabled and the monitor has been turned on for at least 30 minutes prior to start the calibration.

Disable the touchscreen

This is an optional step and was tested 07.2019 using Gnome and Wayland. Find out which device it is:

$ libinput list-devices

Scroll to find the right section (Something like ELAN Touchscreen) and find the line . Use the for the next command:

$ udevadm info -a -p /sys/class/input/event#

Find an attribute that is most probably unique/distinct. For example ATTRS{name}=="ELAN Touchscreen" and create: Then check if it worked:

$ udevadm test /sys/class/input/event#

and search for:

LIBINPUT_IGNORE_DEVICE=1

If this line is there (most probably within the last 3 lines) reboot and your touchscreen should be disabled.

Troubleshooting

Intel Bluetooth does not work with kernel 5.15

bluetooth: hci0: reading intel version command failed (-110)
bluetooth: hci0: command 0xfc05 tx timeout

See here. This issue affects only models with the Intel Bluetooth chip with kernel 5.15. An easy workaround is to use the wifi rfkill switch () to turn off and back on the bluetooth.

EFISTUB does not boot

Update the BIOS. In more recent versions (A19 at the latest) it works. Older versions of the BIOS do not pass any boot parameters to the kernel and you have to use a UEFI boot loader instead. systemd-boot will work with current kernels. Alternatively, packaging the command line, microcode and initramfs with the kernel into a single EFI will also work. This can then be added as an entry into the boot manager. See this example, doing so using . Similarly, creating a signed EFI using and will also work.

Random kernel hangs at boot

See here. This issue seems to affect only touchscreen model owners. The fix consists in removing keyboard from the array in . If you need the keyboard at boot, edit the array as follows: MODULES="atkbd usbhid hid-generic". You will have to regenerate the initramfs afterwards.

Sometimes the system fails to resume from suspend after closing and reopening the LID

Even if it has been reported as fixed upstream according to this kernel.org bug report, users still suffer of this problem (reported for both FullHD model with kernel 4.20.12 and the QHD+ model with kernel 4.18.6).

One more, following a comment in the above-mentioned bug report, you can work it around by blacklisting mei modules:

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 worse performance. Switching to xf86-video-modesetting (Glamor acceleration) should not decrease performance considerably,however it is still not known if will fix the resume issue.

Connection issues with Broadcom wireless

If and fail after driver installation and reboot, try disabling "Wireless Switch" control in the BIOS.

DE cannot connect Bluetooth devices

If the Bluetooth GUI cannot connect the device, try to use to connect manually.

Loud cracks/noise during boot or audio playback

Some users have reported the above sound problems, as described here for example.

Disabling audio powersafe may work for people using the HDA audio mode.

However, it is still unknown how to solve this issue for the I2S audio mode.

For further reference, see the corresponding kernel bug entry.

Pink & green artifacts in video or webcam output

Update to latest version. This should fix the issue.

4K/60Hz with mini DisplayPort/HDMI Adapter

Even when using an active miniDP/HDMI Adapter that supports 4K/60Hz output, the display may not be recognized as supporting 60Hz. Only the 4K/30Hz mode may be detected and shown by xrandr. In this case, you can still add the 60Hz mode manually, using the reduced blinking modeline from :

cvt -r 3840 2160 60
# 3840x2160 59.97 Hz (CVT 8.29M9-R) hsync: 133.25 kHz; pclk: 533.00 MHz
Modeline "3840x2160R"  533.00  3840 3888 3920 4000  2160 2163 2168 2222 +hsync -vsync

Without the flag that calculates the reduced blinking modeline, it may not work. Then proceed as described in xrandr#Adding undetected resolutions.

gollark: Copy protection is impossible.
gollark: So use base85.
gollark: I was KILLED BY THE PREIDDEENT!
gollark: Many people?
gollark: Sorry, coming back on.

See also

General:

Project Sputnik:

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.