Dell XPS 17 (9700)

From ArchWiki

Tango-edit-clear.pngThis article or section does not follow the Laptop page guidelines.Tango-edit-clear.png

Reason: Missing function keys section, hardware table needs more PCI/USB IDs, some sections need to be reordered (Discuss in Talk:Dell XPS 17 (9700))
Hardware PCI/USB ID Working?
GPU (Intel) 8086:9bc4 Yes
GPU (NVIDIA) 10de:1f95 Yes
Wireless 8086:06F0 Yes
Bluetooth 8087:0026 Partial
Audio 8086:06c8 Yes
Touchpad 04f3:311c Yes
Webcam 0bda:5510 Yes
Infrared emitters Yes
Ambient light sensor Unknown Untested
Fingerprint sensor 27c6:533c Yes
SD card reader 10ec:5260 Yes

Installation

Before installing it is necessary to modify some UEFI Settings. They can be accessed by pressing the F12 key repeatedly when booting.

  • Change the SATA Mode from the default "RAID" to "AHCI". This will allow Linux to detect the NVME SSD.
  • Disable secure boot to allow Linux to boot. This may be re-enabled at a later point. See Using a signed bootloader
  • Disable Early Logo Display under Pre-boot Behaviour. This allows S1 sleep to function, as well as S3 sleep on some models. See #Power Management.

Dual Boot

Please note that changing from "RAID" to "AHCI" will break the default Windows installation and require a complete reinstall. The reinstall can be done through the Dell recovery in the BIOS.

Once reinstalled, Windows should boot normally in AHCI mode and without error. Then one can proceed with typical dual boot setup.

Firmware

Dell provides firmware updates that can be installed automatically using fwupd (or one of its graphical frontends such as Gnome Software or KDE Discover).

Alternatively, firmware updates can also be installed manually by downloading them from the support page and placing the exe file on a fat32 drive or the EFI boot partition, then selecting the file in the BIOS update page after pressing F12 at boot time.

It is possible to install custom Secure Boot root keys in the BIOS and use them for Secure Boot with Linux.

Power Management

Sleep

Like many modern laptops, traditional S1/S3 states are not supported and have been replaced by "Modern Standby". The ACPI configuration causes the system to suspend to idle by default s2idle which allows the CPU to dynamically enter power saving states. In order for the system to maintain residency in the lower sleep states, the SATA mode may need to be set to "ACHI" instead of the default "RAID". For models configured with a 2060 series NVIDIA GPU, the proprietary NVIDIA driver may yield lower power usage in sleep states since power management is not supported for the nouveau driver as of the time of writing.

If the system seems to have a high power usage when idling, S3 sleep can be re-enabled by adding mem_sleep_default=deep to the Kernel parameters in order to override the ACPI settings, however, as of the time of writing, S3 sleep mode does not seem to work for models with NVIDIA GPUs when on battery power. Users of variants with no dedicated GPU report S3 sleep to be working.

Hibernation

For hibernation to work, you must turn off "SMM Security Mitigation" under Security in the BIOS setup. Otherwise the system may freeze when attempting to hibernate.

GPU

Using the integrated intel iGPU instead of the dedicated GPU can provide power savings. There are various methods for utilising NVIDIA Optimus, however using PRIME#PRIME render offload seems to have the best performance on the 9700.

Screen Brightness

Systems have a 600 nit display (which is LCD, not OLED) and so the ACPI section of the Backlight Archwiki will work, but per the Unable to control eDP Panel brightness (Intel i915 only) part of the Troubleshooting section, a kernel parameter of i915.enable_dpcd_backlight=1 is necessary.

As of December 2021, this kernel parameter does not seem to be necessary anymore for screen brightness control.

Bluetooth

Bluetooth works out of the box, but sometimes tends to get stuck in a turned off mode after boot or after manually turning it off. Sometimes, this can be fixed by a simple restart of bluetooth.service, but frequently the only fix is to shut down the laptop and start it again.

WiFi

Intel Killer AX1650s (i5 / i7 CPU models)

WiFi may prompt you repeatedly for the WiFi network password when connecting to a 5Ghz network. This has to do with the poor support of the 11n protocol. You can instruct the iwlwifi driver to not use the 11n protocol with it's module parameters:

/etc/modprobe.d/iwlwifi-opt.conf
options iwlwifi 11n_disable=8

More information on this problem can be found here: Network configuration/Wireless#iwlwifi and http://cachestocaches.com/2016/1/disabling-ubuntus-broken-wi-fi-driver/

Qualcomm Killer AX500s DBS (i9 CPU models)

Occasionally after turning WiFi off, attempting to turn it back on will fail and the only fix seems to be a full reboot of the device. Sometimes removing and reinserting the driver kernel module `ath11k_pci` also works.

Fingerprint sensor

The fingerprint sensor can be used by installing the proprietary Ubuntu driver released by Dell and Goodix. This requires a different fork of libfprint libfprint-tod-gitAUR - available on the AUR and built from source from the upstream repo. This is a newer version intended for use only with touch-based sensors such as the one on the XPS.

Warning: This driver is proprietary, closed source and only distributed in binary form

The proprietary driver can be obtained from the AUR: libfprint-2-tod1-xps9300-binAUR. Alternatively, it can also be manually installed from the Dell repository by extracting the debian file and copying its contents.

The rest of the process is identical as that described on Fprint - just make sure not to install the version of libfprint on the main repo as it conflicts with libfprint-tod

Thunderbolt

The following thunderbolt devices have been tested:

Device Status Comments
Dell WD19TB 130W Yes Dual 4k through USB-c does not work, dual 4k using the thunderbolt upstream port is temperamental
Dell TB16 Yes

Audio

This laptop requires firmware from the sof-firmware package in order for the internal sound card to work. Also see Advanced Linux Sound Architecture#ALSA firmware.

Fan control

By default, fans are controlled by BIOS. Unfortunately even "Quiet" preset keeps fans spinning most of the time.

To change it, i8kmon from i8kutilsAUR can be used.

Details: Fan speed control#Dell laptops

BIOS Thermal Modes / Fan profiles

If you still decided to go with bios-driven fan control, you can switch thermal profiles like in Dell Power Manager from Windows. This is done within a terminal with the libsmbios package, or alternatively via plasma5-applets-plasma-pstateAUR:

To find out what thermal mode is set type:

# smbios-thermal-ctl -g

To find all available thermal modes type:

# smbios-thermal-ctl -i

And finally to set the desired thermal mode that you identified with the command before type:

# smbios-thermal-ctl --set-thermal-mode=THERMAL_MODE
  • "Quiet" and "Cool Bottom" profiles limit CPU power to 11W (18W boost) and thus reduces overall system performance.
  • "Balanced" and "Performance" profiles remove this limit.
  • Thermal profile changes may not reliably alter the CPU power limit. When connected via Thunderbolt dock it appears to be worse.
  • In some circumstances after booting (particularly with "Quiet" profile), power may be limited to 10W.
  • Disconnecting and reconnecting power, changing thermal profile, or simply waiting may resolve these issues.