Dell XPS 13 (9310)

This article or section does not follow the
Laptop page guidelines
.
Reason:
Misses some sections, hardware table needs IDs (Discuss in
Talk:Dell XPS 13 (9310)
)
Device
CPI/USB ID
Working?
GPU
Yes
Wi-Fi (AX500)
Yes
Bluetooth (AX500)
Partial
Wi-Fi (AX201)
Yes
Bluetooth (AX201)
Yes
Audio
Yes
Touchpad
Yes
Webcam
Yes
Infrared Webcam
Yes
Fingerprint sensor
27c6:533c
Partial
Ambient light sensor
Yes
Dell XPS late 2020 edition.
Installation
In some units, the NVMe drive is configured to operate in RAID mode by default. This may cause the
boot loader
to not find your boot disk. In order to fix this, press
F2
to enter the Dell UEFI. Go to
Storage > NVMe Operation
and make sure that
Select AHCI/NVMe
mode is selected. All other operating systems installed before changing this setting must be reinstalled after changing this setting.
To successfully boot the installation medium you will need to disable
Secure Boot
.
Audio
This laptop requires
Sound Open Firmware
in order for the soundcard to work.
Wi-Fi
There are two possible devices the laptop may ship with, AX201 or AX500. Both are supported in the mainline kernel.
AX500
This article or section is a candidate for merging with
Network configuration/Wireless#Atheros
.
Notes:
Fixes are referenced for and partially apply to other models (
Lenovo ThinkPad T14 (AMD) Gen 3#Suspend/Hibernate
,
Lenovo_ThinkPad_T14s_(AMD)_Gen_3#Network_/_Wi-Fi
,
Lenovo_ThinkPad_T14_(AMD)_Gen_4#Failure_to_resume_from_hibernation
,
Lenovo_ThinkPad_P14s_(AMD)_Gen_4#Wi-Fi
,
Lenovo_ThinkPad_P14s_(AMD)_Gen_5#Wi-Fi
,
Lenovo_ThinkPad_P16s_(AMD)_Gen_2#Hang_on_resume
): this would probably be helpful in the main page instead of having it hidden in a laptop-specific page. (Discuss in
Talk:Dell XPS 13 (9310)
)
Since Kernel version 5.10.9, users have reported some success with the Arch stock Kernel (a recent Dell firmware is also required: at least version 1.2.5), however there are persistent problems, including firmware crashes and problems when resuming from hibernate/suspend. If your Wi-Fi is not working, first try to add the following
kernel parameter
:
memmap=12M$20M
Details about this fix can be found in the Linux kernel mailing list:
https://lore.kernel.org/lkml/3e30ac52-6ad4-fa7b-8817-bca35a80d268@gmail.com/
. After adding this parameter there still may be problems with Wi-Fi functionality on resuming from suspend. Enabling
VT for Direct I/O
in the BIOS may help with recovering Wi-Fi functionality after a suspend. Please note that the ath11k driver is still experimental. While it is reported to working fine with a 2.4 GHz WPA Personal Wi-Fi network, there might be problems after disconnecting the Wi-Fi or with different setups (WPA3, 5 GHz Wi-Fi).  Your mileage may vary. However, recovery from suspend and hibernate appears to be broken, though it can usually be manually fixed by reloading the
ath11k_pci
module. For example:
# rmmod ath11k_pci
wait a couple minutes (yes really) for the operation to complete
# modprobe ath11k_pci
This can be automated via sleep hooks - if the module is unloaded before hibernating or suspending it unloads immediately with no delay, and the resume kernel bug does not happen:
/etc/systemd/system/ath11k-suspend.service
[Unit]
Description=Suspend: rmmod ath11k_pci
Before=sleep.target

[Service]
Type=oneshot
ExecStart=/usr/bin/rmmod ath11k_pci

[Install]
WantedBy=sleep.target
/etc/systemd/system/ath11k-resume.service
[Unit]
Description=Resume: modprobe ath11k_pci
After=suspend.target suspend-then-hibernate.target hibernate.target hybrid-sleep.target

[Service]
Type=oneshot
ExecStart=/usr/bin/modprobe ath11k_pci

[Install]
WantedBy=suspend.target suspend-then-hibernate.target hibernate.target hybrid-sleep.target
You need to
enable
ath11k-suspend.service
and
ath11k-resume.service
.
There is also work in progress in the form of qca6390 (the SoC of Killer AX500) driver development in the
kernel.org kvalo/ath repository
[
dead link
2024-10-12—HTTP 404]
. Patches based on the
ath11k-qca6390-bringup branch
[
dead link
2024-10-12—HTTP 404]
have been working (with an "experimental" caveat) for a while.
Bluetooth
AX500
The factual accuracy of this article or section is disputed.
Reason:
The listed kernel versions are older than
linux-lts
, is anything still an issue nowadays? (Discuss in
Talk:Dell XPS 13 (9310)
)
In kernel version 6.10 the Bluetooth support is better where there does not seem to be hard lockups anymore. Bluetooth seems to work from a cold restart. Occasionally the follow error occurs on boot and Bluetooth does not work:
# [    7.233715] Bluetooth: hci0: command 0xfc00 tx timeout
# [    7.233731] Bluetooth: hci0: Reading QCA version information failed (-110)
As of 5.16.16, bluetooth is partially working, but must be activated manually after boot is complete. You must blacklist
hci_uart
by adding
blacklist hci_uart
to
/etc/modprobe.d/blacklist.conf
, then
modprobe hci_uart
after boot and start the
bluetooth
service with systemd. Functionality still appears broken after resuming from suspend. Note that when
hci_uart
is loaded during boot, or after suspending, the laptop may hard lock with errors similar to
watchdog: BUG: soft lockup - CPU#2 stuck for 23s! [swapper/2:0]
. See the talk page for additional details.
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-git
AUR
. This is a newer version intended for use only with touch-based sensors such as the one on the XPS.
The proprietary driver is available as
libfprint-2-tod1-xps9300-bin
AUR
. Alternatively, it can also be manually installed from the
Dell repository
by extracting the Debian file and copying its contents.
Note
This driver is proprietary, closed source and only distributed in binary form.
Since
fprintd
was updated to version 1.92.0-1,
libfprint-tod-git
and
libfprint-2-tod1-xps9300-bin
no longer work as expected. This can prevent GDM from listing users during login. Downgrading
fprintd
to version 1.90.6-1 partially solves this problem.
The rest of the process is identical to that described on
fprint
—just make sure not to install the version of
libfprint
in the official repositories as it conflicts with
libfprint-tod-git
.
Infrared camera
When the IR camera (
/dev/video2
) is on, it will not automatically turn on the IR emitter. You can follow the instructions from
linux-enable-ir-emitter
to enable the IR emitter. This is the
IrConfig.yaml
file as detected by the quick command so you do not need to go through all the manual configuration steps:
/usr/lib/linux-enable-ir-emitter/IrConfig.yaml
!!python/object:IrConfiguration.IrConfiguration
_data:
- '0x1'
- '0x3'
- '0x2'
- '0x0'
- '0x0'
- '0x0'
- '0x0'
- '0x0'
- '0x0'
_selector: '0x6'
_unit: '0x4'
_videoPath: /dev/video2
The infrared camera can be used as an authentication method with
howdy
AUR
.
Warning
As mentioned in the Howdy documentation, "DO NOT USE HOWDY AS THE SOLE AUTHENTICATION METHOD FOR YOUR SYSTEM."
[1]
The configuration file is located at
/lib/security/howdy/config.ini
. The device should be configured like this:
device_path = /dev/video2
.
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 configuration file carefully.
Ambient light sensor
Install
iio-sensor-proxy
to enable automatic brightness in Gnome.
Virtualization
Virtualbox EFI guests VM are currently not working on this hardware.
See
https://www.virtualbox.org/ticket/20090
and
https://forums.virtualbox.org/viewtopic.php?f=7&t=100940
.
Sleep/Modern Standby battery drain
Since 11th gen Intel CPUs do not support deep sleep (S3) anymore and modern standby drains battery life very quickly, the solution is to switch the Storage in the BIOS from RAID to AHCI and battery life will dramatically improve in (modern standby) sleep mode. This requires bcedit'ing windows in case of dualboot or windows will not boot anymore - does not affect the Linux partition though.
See also
Me and My Dell (reference guide)
Service manual
Setup and specifications
https://ubuntu.com/certified/202007-28040