Dell XPS 13 (9300)

From ArchWiki

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

Reason: Hardware table needs some adjustments, needs a proper function key table (Discuss in Talk:Dell XPS 13 (9300))
Device Status Modules
Video Working i915
Wireless Working iwlwifi
Bluetooth Working btusb
Audio Working snd_hda_intel
Touchpad Working hid_multitouch
Card Reader Working rtsx_pci
Webcam Working uvcvideo
Infrared Camera Authentication Working N/A
USB-C / Thunderbolt 3 Working thunderbolt
Function/Multimedia Key Working ?
Fingerprint sensor Working ?

The Dell XPS 13 Early 2020 (9300) is the eigth-generation model of the XPS 13 line.

The installation process for Arch on the XPS 13 does not differ from any other PC. For installation help, please see the Installation guide and UEFI.

UEFI

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" (already the default on the developer edition). This will allow Linux to detect the NVME SSD. If dual booting with an existing Windows installation, Windows will not boot after the change but this can be fixed without a reinstallation.
  • Disable secure boot to allow Linux to boot (already the default on the developer edition).
  • For reliable resumption from sleep, set Early Logo Display to OFF in the Sign of Life options.

Booting and installing from a microSD card is possible, as long as SD Card and SD Card Boot are both enabled in the UEFI setup.

  • This is done via System Configuration under the heading Enable MediaCard, enable the option Secure Digital(SD) Card Boot.

Firmware/BIOS Updates

Dell provides firmware updates via Linux Vendor Firmware Service (LVFS). Refer to Flashing BIOS from Linux#fwupd for additional information. A package is readily available at fwupd. Current firmware version is 1.11.0.

Alternatively, for the BIOS update, you can simply copy the .exe file from the Dell Support page to any fat32 drive (even the boot partition seems to work). Then boot into the "BIOS Flash Update" utility by hitting F12 at boot time.

Display

The video should work with the i915 driver of the current linux kernel. Consult Intel graphics for a detailed installation and configuration guide as well as for Intel graphics#Troubleshooting.

If you installed xf86-video-intel and experienced hanging/freezing when launching Xorg, or when launching applications with GPU Acceleration (such as kitty and alacritty), try uninstalling xf86-video-intel and let Xorg fallback to modesetting driver.

When using modesetting driver, Backlight#xbacklight may produce `No outputs have backlight property`. Replacing xorg-xbacklight with acpilight fixes the problem.

Power Management

If the laptop seems to have an high drain when in sleep mode. As a possible workaround, you can set the machine to enter S3 deep sleep mode. Add mem_sleep_default=deep to the Kernel parameters and disable "Display Logo Sign of Life" under POST Behavior in BIOS setup.

Kernel panics have been reported with some XPS devices when S3 deep sleep is enabled together with secure boot. A workaround that was suggested for the Dell XPS 13 2-in-1 (7390) but seems to work for the XPS 13 9300 is adding intel_iommu=off to the Kernel parameters.

The touchscreen has been reported to stop working after waking up from S3 deep sleep mode.

For reducing drain while running on battery power, refer to Power management. TLP is a userspace tool that is popular and has been reported to work well.

Thermal Throttling

By default, or whatever was set on Windows by Dell Power Manager, a very conservative power profile is set somewhere in memory (seems to persist BIOS resets) and starts throttling the CPU very early (2.4GHz out of 3.9GHz max on i7-1065G7).

This can be resolved using throttled. Despite originally conceived to resolve the same issue with Lenovo laptops, it works with Dell computers.

Throttling with battery charge level

As measured by some users, the BIOS throttles system performance according to battery charge level, even on AC (improvements have been made in BIOS 1.4.1).

Fan Control

For more information view Fan speed control#Dell laptops

Installation

By default, the fan is controlled by the bios. In order to override this control with your own configuration, install i8kutilsAUR and dell-bios-fan-control-gitAUR.

Configuration

By default, i8kmon only monitors the CPU temperature and fan speed passively. To enable its fan speed control, put the following in /etc/i8kutils/i8kmon.conf:

set config(auto)       1

The temperature points at which the fan changes speed can be adjusted in the same configuration file. Only three fans speeds are supported (high, low, and off). Look for a section similar to the following in /etc/i8kutils/i8kmon.conf:

set config(0)   {{0 0}  -1  65  -1  65}
set config(1)   {{1 0}  60  70  60  70}
set config(2)   {{1 1}  65  75  65  75}
set config(3)   {{2 1}  70  80  70  80}
set config(4)   {{2 2}  75  85  75  85}

This example starts the fan at low speed when the CPU temperature reaches 65°C, and continues ramping up from there. The fan will slow down as the temperature drops and it will turn off completely at 60°C.

Installation as a service

Start/enable i8kmon.service and dell-bios-fan-control.service.

These services will persist on reboot. If you would like them to not persist, simply start them without enabling them.

Wifi

The laptop comes with an AX1650 Killer wifi card soldered to the motherboard (not replaceable). It should work out of the box with kernel 5.6.2+.

Infrared camera

The infrared camera can be used as an authentication method with howdyAUR.

Warning: As said in howdy documentation, "DO NOT USE HOWDY AS THE SOLE AUTHENTICATION METHOD FOR YOUR SYSTEM."

The configuration file is located at /lib/security/howdy/config.ini. The device should be configured like this : device_path = /dev/video2 .

Please refer to Howdy to find which /dev/videoX corresponds to your IR camera and for troubleshooting.

Note: After installing howdy, you should tweak the configuration file to find the settings that work best for you. I personally found much better results by increasing dark_threshold all the way to 80 or 90. Please read the config file carefully.

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 DA200 Working -
Dell DA300 Working -
Dell WD19TB Working OK since kernel 5.10.16, BIOS 1.5.0, and Dock firmware 01.00.15.01. Use fwupd to update BIOS and Dock firmware.
CalDigit TS3 Plus Working The monitor that is connected via usb type-c port might not work correctly due to a BIOS bug, this might also apply to other Thunderbolt docks but I have tested TS3 Plus only.
Dell TB16 Working -

Known Issues

Fingerprint Reader

The fingerprint reader only works with a proprietary closed source driver released by Goodix for Ubuntu. However, it can be made to work on Arch (see above).

UEFI

Since this commit in Linux 5.10, EFISTUB can be used with the XPS. With Linux 5.9 and older, you can build your own kernel with a custom CONFIG_CMDLINE_BOOL, use EFI blob builder (arch-efibootAUR, sbupdate-gitAUR), or use a bootloader.

Since BIOS update 1.0.10, some usb-c to HDMI/DP adapters do not work anymore (even on Windows). The issue was partially fixed on BIOS 1.2.0; however, the usb-c to HDMI/DP adapter remains unusable if connected via some Thunderbolt 3 docking stations.

S3 sleep state does not seem to be compatible with secure boot, at least by default. See a possible workaround on section #Power Management

Firmware versions 1.0.6 through 1.0.11, have a bug causing a two second delay during boot. This is fixed since 1.1.0. Update to the newest firmware, or downgrade to the oldest to avoid this issue.

Random Hangs on i915

Occasionally the laptop will hard crash when running the i915 linux driver. This issue is at least partly known in windows where the solution is to turn off panel self refresh. The equivalent in linux is to set panel self refresh to off in the kernel parameters: i915.enable_psr=0