Dell XPS 13 (9360)

This article or section does not follow the
Laptop page guidelines
.
Reason:
Page was created before the laptop page guidelines, thus missing PCI/USB IDs, function keys table and more (Discuss in
Talk:Dell XPS 13 (9360)
)
This article or section needs language, wiki syntax or style improvements. See
Help:Style
for reference.
Reason:
Some first person used (Discuss in
Talk:Dell XPS 13 (9360)
)
Hardware
PCI/USB ID
Working?
Sound
8086:9d71
Yes
Video
8086:5917
Yes
Wireless
168c:003e
Yes
The Dell XPS 13 Late 2016 (9360) is the fourth-generation model of the XPS 13 line. The laptop is available since October (pre-2017 model) in both a standard edition with Windows installed as well as a pre-2017 model and a 2017 model (with insignificant hardware differences) Developer Edition with Ubuntu installed.
Oculink
This laptop is not compatible e-gpu (amd, nvidia...) with Oculink on NVME. It doesn't accept anything else than a NVME storage device. Led will blink white/orange then laptop will shutdown if GPU is connected on NVME port.
Somes NVME SSD don't work too, Dell seems have somes DRM about NVME, like Thinkpad was doing with wifi cards.
Anyway, DELL has limited the NVME port to 2x despite a capacity of 4x for reasons of power consumption reduction, this parameter is not accessible within the UEFI configuration.
Only a Coreboot port could resolve this situation.
Content Adaptive Brightness Control
In the XPS 13 the display panels (both FHD and QHD+) come with Content Adaptive Brightness Control (usually referred to as CABC or DBC) embedded in the panel firmware - it adjusts the screen brightness depending on the content displayed on the screen. While it saves a bit of power, it is generally undesirable, especially for Linux users who are likely to be switching between dark and light screen content. Dell has issued a fix for this, however it is only available to run in Windows. The fix is available
directly from Dell
.
To test if your XPS 13 is affected by the CABC, go to this
test page
. It is possible to apply Dell's firmware update using a portable Windows 10 on a USB device:
Install (for example)
woeusb
AUR
Download a Windows 10 ISO from
Microsoft's website
Create a portable Windows 10 installation
using woeusb
Boot the XPS 13 from your Windows 10 USB device (F12)
In Windows, download and install the latest driver for the
Intel Graphics controller
Then download and install
this tool
to update the panel firmware. The tool gives you the option to disable CABC
Reboot (from USB)
Reboot to Arch Linux and rerun the
test
Power saving
It is possible to save around ~10/20% energy with some tricks.
The SD card adapter can be disabled in BIOS settings to save ~0.5W.
Undervolting (and fanless)
It is possible to undervolt the CPU and GPU with
intel-undervolt
. Each individual CPU requires manual tweaking - no well-known good values exist for any models, even for the same CPU model. It only work with
2.13.0
and previous bios update, because Dell has disabled it for
security reasons
. If you downgrade from 2.14.2 and next updates, you have to factory reset your BIOS settings or you will continue to get "CPU (0): Values do not equal / GPU (1): Values do not equal / CPU Cache (2): Values do not equal".
Example I5-7200U base stable value (tolerance to undervolting could be a little different for your same CPU):
/etc/intel-undervolt.conf
undervolt 0 'CPU' -153
undervolt 1 'GPU' -115
undervolt 2 'CPU Cache' -80
undervolt 3 'System Agent' 0
undervolt 4 'Analog I/O' 0
The GPU can consume less power with the
i915.enable_fbc=1
kernel module parameter (see
Intel graphics#Module-based options
for more details). Other known good options are enabled by default on 5.3+ kernel versions.
When the laptop is undervolted, it is almost fanless most of time, excepted with high CPU/GPU usage (encoding, games...).
NVM Express SSD
Like Thunderbolt, Dell have limited in hidden UEFI settings the NVMe PCIE Bus to 2x instead of 4x (unofficially for energy saving reasons). There is actually no know tricks to bypass this setting. This setting limit bus speed to 1,4GB/s instead of 3,8GB/s.
For some devices it might be necessary to set a higher value for the
nvme_core.default_ps_max_latency_us
parameter to enable all power saving states. This parameter has to be set on the
kernel command line
.
For the Toshiba 512GB SSD used in some models of the XPS 13 the value to enable all states is 170000 (the combined latency of entering and leaving the highest power state, add
nvme_core.default_ps_max_latency_us=170000
to your
kernel command line
). For the 1TB SSD this valued should be increased to 180000 instead. To check if all states are enabled you can use the
nvme-cli
package, which provides the
nvme-cli
command:
# nvme get-feature -f 0x0c -H /dev/nvme0
get-feature:0xc (Autonomous Power State Transition), Current value:0x000001
Autonomous Power State Transition Enable (APSTE): Enabled
Auto PST Entries  .................
Entry[ 0]   
.................
Idle Time Prior to Transition (ITPT): 1500 ms
Idle Transition Power State   (ITPS): 3
.................
Entry[ 1]   
.................
Idle Time Prior to Transition (ITPT): 1500 ms
Idle Transition Power State   (ITPS): 3
.................
Entry[ 2]   
.................
Idle Time Prior to Transition (ITPT): 1500 ms
Idle Transition Power State   (ITPS): 3
.................
Entry[ 3]   
.................
Idle Time Prior to Transition (ITPT): 8500 ms
Idle Transition Power State   (ITPS): 4
.................
If the power states are enabled there should be values for ITPT and ITPS in the first entries. Also the ITPS-value of the last filled entry should be the highest power saving-state of the SSD (which can be viewed using
smartctl -c /dev/nvme0
or
nvme id-ctrl /dev/nvme0
).
Video
The Intel GPU works fine using the
i915
driver. Consult
Intel graphics
for a detailed installation and configuration guide as well as for
Intel graphics#Troubleshooting
.
If you have the QHD+ (3200x1800) model, also check out
HiDPI
for UI scaling configurations.
Wireless
Warning
BIOS version 2.9.0 is known to make the Killer WiFi extremely unstable - update to at least version 2.10.0 before proceeding.
The Killer 1535 Wireless Adapter is functional and the required ath10k firmware is included in
linux-firmware
but the hardware/firmware/driver is unstable and buggy on Linux. The connection speed reported by iw is limited to 1-6Mbits/s. However this is just the output being wrong. The real connection speed is not limited to this value.
Some users are experiencing issues
, regardless of the OS, where the connection is dropped under heavy load but reconnects after a moment. This might not be noticed during browsing at all but becomes apparent in online games. Signs of this problem seems to be two kinds of messages in
dmesg
:
pcieport 0000:00:1c.4: AER: Corrected error received: id=00e4
pcieport 0000:00:1c.4: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=00e4(Transmitter ID)
pcieport 0000:00:1c.4:   device [8086:9d14] error status/mask=00001000/00002000
pcieport 0000:00:1c.4:    [12] Replay Timer Timeout
And also:
CPU: 3 PID: 1410 Comm: irq/133-ath10k_ Not tainted 
Hardware name: Dell Inc. XPS 13 9360/0839Y6, BIOS 2.1.0 08/02/2017
Call Trace:
  <IRQ>
  dump_stack+0x63/0x82
  __warn+0xcb/0xf0
  warn_slowpath_null+0x1d/0x20
  net_rx_action+0x274/0x3a0
  ? irq_finalize_oneshot.part.35+0xe0/0xe0
As of February 2018, Dell support suggests to update the firmware of the network adapter in the following way:
Confirm that you have QCA6174 checking the output of
# lspci
Download
the latest firmware and extract the archive contents
Substitute the
QCA6174
folder in
/lib/firmware/ath10k/
with the one downloaded
Inside the new folder, rename
firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1
to
firmware-4.bin
Reboot and test the new Killer Wi-Fi firmware
This solution may not fix the issue: Some users reported that the connection dropped even with the updated firmware. You can also try using the newer firmware
firmware-6.bin_WLAN.RM.4.4.1-00102-QCARMSWP-1
by downloading that file from
https://git.codelinaro.org/clo/ath-firmware/ath10k-firmware/-/raw/main/QCA6174/hw3.0/4.4.1.c1/firmware-6.bin_RM.4.4.1.c1-00042-QCARMSWP-1
, copying it to
/usr/lib/firmware/ath10k/QCA6174/hw3.0/
and renaming it to
firmware-6.bin
.
Note: newer firmware versions are available in the
Linaro
repository.
Reboot and verify that this newer firmware is used by running
# dmesg | grep ath
ath10k_pci 0000:3a:00.0: firmware ver RM.4.4.1.c1-00042-QCARMSWP-1 api 6 features wowlan,ignore-otp crc32 40fb7bdd
Note
If you still encounter issues, installing an alternative WiFi M.2 2230 card like Intel AC-8265 (b/g/n/AC 20/40/80Mhz 867Mbps+Bluetooth 4.2) or Intel AC-9260 (b/g/n/AC/6 20/40/80/160Mhz 1.73Gbps + Bluetooth 5.0) might be needed.
Bluetooth
After following the instructions given at
Bluetooth
tethering of internet connections via phone works immediately.
See
Troubleshooting
when having issues with Bluetooth and suspend (blinking CapsLock).
Thunderbolt 3 / USB 3.1
The USB-C port supports Thunderbolt 3, Displayport-over-USB-C and USB power delivery as well as USB 3.1.
Dell have limited in hidden bios settings Thunderbolt PCIE Bus to 2x instead of 4x (unofficially for energy saving reasons).
There is actually not know tricks to bypass this setting.
Ethernet repeatedly disconnects/reconnects with Dell USB-C adapter (DA200)
Use of a power management package (such as
TLP
) may cause the ethernet adapter to repeatedly disconnect and reconnect. If this happens, disable/blacklist USB autosuspend for the ethernet adapter. (On my laptop, this is the device
Bus 004 Device 007: ID 0bda:8153 Realtek Semiconductor Corp
in the output of
lsusb
.)
USB-C compatibility chart
A comprehensive and up to date list of USB type C adapters and hubs is present in the
talk page
.
Thunderbolt firmware updates
The thunderbolt controller in the laptop has an embedded firmware. The laptop ships with firmware version NVM 18, and the most recent available version from Dell's website is NVM 26. If encountering compatibility problems with Thunderbolt accessories (such as the DA-200), the firmware may need to be updated. If you have fwupd (see:
#Firmware
) set up then you should receive this update automatically. Otherwise, you can install it manually as follows.
Dell maintained a github repository with the firmware, but abandoned it now that the firmware is on LVFS. The current version is available as
0x075B_secure.bin
(or 0x082A for newer model, see instructions below) inside the
Windows package
. This can be extracted with
7zip
.
Here is a short list of steps to update the Thunderbolt-Firmware on linux 4.13+ (use at your own risk):
Force enable the thunderbolt controller (or plug in a device to enable it)
# echo 1 > /sys/bus/wmi/devices/86CCFD48-205E-4A77-9C48-2021CBEDE341/force_power
Check your model ID. If it is 0x082A, use the 0x082A firmware instead of the 0x075B one.
# cat /sys/bus/thunderbolt/devices/0-0/device
Flash the 9360 firmware from the thunderbolt-nvm-linux repository to a non active NVMe memory spot
# dd if=payloads/0x075B.bin of=/sys/bus/thunderbolt/devices/0-0/nvm_non_active0/nvmem
Trigger the update process
# echo 1 > /sys/bus/thunderbolt/devices/0-0/nvm_authenticate
At this point, your screen should flick a couple of time. Verify that the update is done by checking that authenticate returns 0
# cat /sys/bus/thunderbolt/devices/0-0/nvm_authenticate
Verify the new NVMe version (it should return 26.1)
# cat /sys/bus/thunderbolt/devices/0-0/nvm_version
Put the controller back in normal mode
# echo 0 > /sys/bus/wmi/devices/86CCFD48-205E-4A77-9C48-2021CBEDE341/force_power
SATA controller
When the SATA-controller is set to
RAID On
in BIOS, the SSD is not recognized, because the kernel does not support remapped AHCI device, see
[1]
. Set to
AHCI
before attempting to install Arch.
Touchpad
The touchpad has no explicit buttons. The button is built into the pad's surface. There is a small line printed on the pad separating left/right click areas, and libinput does the same separation in software.
Libinput also provides a middle button – to issue a middle click, simply press on the middle area right between the virtual left and right buttons (i.e. on the small printed separator line).
Remove psmouse errors from dmesg
If running
dmesg | grep -i psmouse
as root returns an error, but your touchpad still works, then it might be a good idea to disable
psmouse
. First create a config file:
/etc/modprobe.d/modprobe.conf
blacklist psmouse
Then add this file to
/etc/mkinitcpio.conf
:
...
FILES=(/etc/modprobe.d/modprobe.conf)
...
Rebuild your initial ramdisk image (see
Mkinitcpio#Image creation and activation
).
Touchscreen
Gestures
Refer to
libinput#Gestures
for information about the current development state and available methods.
Scrolling in Firefox
See
Firefox/Tweaks#Pixel-perfect trackpad scrolling
. This enables both touchscreen scrolling and high-res trackpad scrolling.
Keyboard backlight
By default, the keyboard backlight turns off after 10 seconds of inactivity. Some users might find this too short and annoying.
The delay can be increased (or decreased) by editing this file:
/sys/devices/platform/dell-laptop/leds/dell\:\:kbd_backlight/stop_timeout
You can also change the brightness (0-2) by editing the following file. This is identical to pressing F10 on your keyboard:
/sys/devices/platform/dell-laptop/leds/dell\:\:kbd_backlight/brightness
Function keys
There are additional function keys sequences that are not marked at all on the keyboard but underlying hardware generates them anyway:
Hidden Fn Keys
Fn+<Key>
Resulting key (sequence)
Fn+Ins
XF86Sleep
Fn+Super_L
Super_R
Fn+B
Pause
Fn+R
Print
Fn+S
Scroll_Lock
Fn+A / D / E / F / G / T / Q / W
XF86Launch3
Unobtrusive mode
If enabled in BIOS, pressing
Fn+F7
will disable sound, keyboard and screen backlight, the charging LED and the LED on the power button. Unfortunately there seems to be no way to disable just the LEDs — some users recommend black electrical tape.
The output of
smbios-token-ctl -d
only list changes related to screen, keyboard and sound when unobtrusive mode is active.
Firmware
Dell provides firmware updates via
fwupd
. In order to update the BIOS make sure to also install the optional dependency
tpm2-tss
. Please note if you have used a bind mount partition for
/boot
or are booting via legacy BIOS/CSM instead of UEFI, you will not be able to use the fwupd utility — instead use the method below.
Alternatively, the BIOS update can be downloaded from the
Dell website
(filter by "BIOS") and placed in a location accessible to the firmware. This could be the
/boot
folder, or a FAT32 formatted USB stick. Then restart your laptop and hit
F12
while starting. In the boot menu choose firmware update and select the downloaded file.
Sleep to idle (s2idle, S0ix)
According to the method described in an
Intel article
, this device supports Low Power S0 Idle (S0ix).
To try it, see
Power management/Suspend and hibernate#Changing suspend method
.
You may need to prevent the xHCI controller from waking up the system. Write
XHC
to
/proc/acpi/wakeup
, or write
disabled
to
/sys/devices/pci0000:00/0000:00:14.0/power/wakeup
. Different models may have different PCI ID for the xHCI controller, see the 4th column of
grep XHC /proc/acpi/wakeup
.
To make the change permanent, put a file to
/etc/tmpfiles.d
:
/etc/tmpfiles.d/disable-xhci-wakeup.conf
w /sys/devices/pci0000:00/0000:00:14.0/power/wakeup - - - - disabled
If you want to enable waking up by key press:
/etc/tmpfiles.d/enable-key-press-wakeup.conf
# Enable key press to wakeup
w /sys/devices/platform/i8042/serio0/power/wakeup - - - - enabled
Troubleshooting
EFISTUB does not boot
The BIOS does not pass any boot parameters to the kernel. Use a UEFI
boot loader
instead.
It is possible to work around this issue by building single file EFI images containing the parameters. See
[2]
.
Not waking from suspend
Update the BIOS to 1.0.7 to patch this issue.
Power drain after waking from standby
Some users recognised ~2W more power consumption after waking up from standby. Go to the UEFI Firmware Settings (tap the F2 key when the Dell logo appears) and uncheck the 'Enable Thunderbolt Boot Support'.  You may use
powertop
or
powerstat-git
AUR
to reproduce and check this behaviour yourself.
Popping sound on headphones/external speakers
Power saving being enabled on the audio chip will cause the hissing and popping to appear.
Have a look at
ALSA troubleshooting#Pops when starting and stopping playback
and
ALSA troubleshooting#Popping sound after resuming from suspension
.
If you are using
tlp
, it will activate power saving by default when on battery. Edit
/etc/default/tlp
and disable it.
Crackling sound with screen changes
Some users experienced a weird crackling, white noise sound when the display is changing its contents after waking the computer from S3 sleep..
This issue should be patched as of the 4.14.15 kernel.
If you are still encountering this issue, try manually applying this patch
[3]
. Adding the kernel parameter
i915 enable_guc=1
as described in
Intel graphics
might also help, however multiple people have reported that this does not fix the problem completely.
Coil whine
Unfortunately Dell still did not fix this issue and the sound for my model was very loud. The issue seems to be connected to the graphics card. For some users, it is possible to reduce it a lot by activating frame buffer compression
Intel graphics#Framebuffer compression (enable_fbc)
. The coil whine will then start again under heavy graphic load. For the touchscreen model, this may be very often, due to the high resolution screen. In a similar vein, the display can be run at a lower resolution, again reducing the load on the graphics card.
Freezing after waking from suspend
Installing
xf86-video-intel-git
AUR
is
reported
to fix this.
When using a bluetooth device (confirmed for a Logitech MX Anywhere 2S and gnome), the computer frequently does not respond and the LED on CapsLock blinks.
Using the solution from
launchpad
helps in this case.
Continuous hissing sound with headphones
Run
alsamixer
and set
Headphone Mic Boost
gain to 10 dB.
Note
This does reduce the volume slightly, see discussion on
reddit
.
You may also run the equivalent command:
$ amixer -c PCH cset 'name=Headphone Mic Boost Volume' 1
PulseAudio
will rewrite these
ALSA
settings on each boot. So if you use PulseAudio you may change its config to make the setting permanent:
/usr/share/alsa-card-profile/mixer/paths/analog-input-headphone-mic.conf
[Element Headphone Mic Boost]
required-any = any
switch = select
# Replace "volume = merge" by:
volume = 1
override-map.1 = all
override-map.2 = all-left,all-right
/usr/share/alsa-card-profile/mixer/paths/analog-input-internal-mic.conf
[Element Headphone Mic Boost]
switch = off
# Replace "volume = off" by:
volume = 1
This change will be overwritten by an upgrade of PulseAudio though. To make these changes persistent across upgrades you can use a pacman hook:
/etc/pacman.d/hooks/headphones_hissing.hook
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = pulseaudio

[Action]
Description = Set default Headphone Mic Boost volume to 1...
When = PostTransaction
Exec = /usr/bin/sed -i '/\[Element Headphone Mic Boost\]/,/^$/s/volume = .*/volume = 1/' /usr/share/alsa-card-profile/mixer/paths/analog-input-internal-mic.conf /usr/share/alsa-card-profile/mixer/paths/analog-input-headphone-mic.conf
Alternatively, you can avoid these changes to files under
/usr
by calling
amixer(1)
at
autostarting
. The first solution would be to add the command above to your
shell configuration file
. Or you set up a
systemd/User
service that is pulled in by PulseAudio:
~/.config/systemd/user/headphones_hissing.service
[Unit]
Description=Disable hissing sound with headphones
After=pulseaudio.service
PartOf=pulseaudio.service

[Service]
Type=oneshot
ExecStart=amixer -c PCH cset 'name=Headphone Mic Boost Volume' 1

[Install]
WantedBy=pulseaudio.service
Enable
the
user unit
.
To give these benefits to the other users on your system, you can set this globally, i.e. call
amixer
in
/etc/profile
and put the systemd unit in
/etc/systemd/user/headphones_hissing.service
and enable it globally by using the
--global
option respectively.
Fingerprint sensor
Dell officially does not support fingerprint reader functionality
[4]
, however an effort on reverse engineering the protocol of Validity
138a:0090
,
138a:0094
,
138a:0097
fingerprint readers can be found at github
[5]
.
See also
Arch Forum thread for Dell XPS 13 (9360)
Service Manual for Dell XPS 13 (9360)
How to achieve S0ix states in Linux*
Best practice to debug Linux* suspend/hibernate issues