Dell XPS 17 (9700)

From ArchWiki

This article or section does not follow the Laptop page guidelines.

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 Yes
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 Secure Boot#Using a signed boot loader
  • 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 system 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, see Power management/Suspend and hibernate#Changing suspend method. 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.

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)

**Not sure if this is needed anymore... Test your WiFi thoroughly before modifying this parameter. This may increase stability but reduce speeds.**

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 its 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 https://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 Working? Comments
Dell WD19TB 130W Yes Dual 4k through USB-c does not work, dual 4k using the thunderbolt upstream port is temperamental
Dell TB16[dead link 2023-04-23 ⓘ] Yes

Audio

This laptop requires ALSA firmware for the internal sound card to work.

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.