Dell XPS 16 (9640)

Hardware
PCI/USB ID
Working?
Touchpad
04f3:311c
Yes
Touch screen
Yes
Keyboard
Yes
GPU (Intel Arc)
8086:7d55
Yes
GPU (NVIDIA RTX 4060)
10de:28a0
Yes
Webcam
8086:7d19
Yes
Bluetooth
Yes
SD Card reader
10ec:5260
Yes
Audio
8086:7e28
Yes
Wi-Fi
8086:272b
Yes
Fingerprint reader
27c6:633c
Yes
TPM
Yes
The Dell XPS 16 (9640) is an Intel Meteor Lake based laptop computer released in 2024.
Installation
The following settings need to be modified in the UEFI setup. The setup menu can be accessed by pressing
F12
repeatedly after powering on.
Change the SATA Mode from the default "RAID" to "AHCI". 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 re-installation
.
Disable Secure Boot to allow Linux to boot. Alternatively, you can choose to set up
Secure Boot
so that it works with Linux and you can take advantage of its potential security benefits.
Installation of Arch Linux can proceed normally. Refer to the
Installation guide
for more information.
Accessibility
Navigating the Dell UEFI menus requires using the trackpad or a mouse.
Note
Blind users should request the help of a sighted person to change BIOS settings
This computer also has a LED at the top of the keyboard that can be used for diagnosis. See
the user manual
.
Firmware
fwupd
The firmware can be updated on Linux. See
fwupd
.
UEFI
Firmware images can be found at
Dell support page
as
XPS_16_9640_X.Y.Z.exe
files.
In order to install:
Download the desired firmware from the "Dell XPS 16 9640 System BIOS" section
Save it in a FAT32 formated volume (either the EFI system partition or a USB flash drive will work)
Reboot the system and enter the boot menu by pressing repeatedly
F12
Choose "Bios Flash Update"
Select the file previously saved, and start the process
The process will take some time, with the fans running at maximum speed. The system will reboot at the end.
Keyboard
Function keys
This computer uses a touchbar for function keys instead of physical keys, but the operation is identical to a real keyboard.
Key
Visible?
1
Marked?
2
Effect
Fn+Esc
No
Yes
Enable Fn lock
Fn+F1
Yes
Yes
XF86AudioMute
Fn+F2
Yes
Yes
XF86AudioLowerVolume
Fn+F3
Yes
Yes
XF86AudioRaiseVolume
Fn+F4
Yes
Yes
XF86AudioMicMute
Fn+F5
No
Yes
XF86AudioPlay
Fn+F6
Yes
Yes
Change keyboard backlight
Fn+F7
Yes
Yes
XF86MonBrightnessDown
Fn+F8
Yes
Yes
XF86MonBrightnessUp
Fn+F9
Yes
Yes
Super+p
Fn+F10
Yes
Yes
PrintScreen
Fn+F11
Yes
Yes
Home
Fn+F12
Yes
Yes
End
Fn+Up
Yes
Yes
PageUp
Fn+Down
Yes
Yes
PageDown
Fn+Left
Yes
No
Home
Fn+Right
Yes
No
End
Fn+Copilot
Yes
Yes
Menu
The key is visible to
xev
and similar tools
The physical key has a symbol on it, which describes its function
Remap the Copilot key
The keycode for the Copilot key is
F23 + Left Shift + Left Meta
.
See
Input remap utilities
for a list of utilities to remap it to something more useful.
If using
keyd
, the following configuration can be used to remap the key to
Right Ctrl
:
[main]
f23+leftshift+leftmeta = rightcontrol
Power Management
Suspend and hibernate
See
Power management/Suspend and hibernate
.
Only the
s2idle
suspend variant is supported.
TLP
If using
TLP
, the following parameters can be set by editing its configuration file located in
/etc/tlp.conf
.
Enable runtime power management for PCIe devices:
RUNTIME_PM_ON_AC=auto
RUNTIME_PM_ON_BAT=auto
Enabling USB autosuspend can cause trouble with some USB Ethernet devices. It can be disabled like so:
USB_AUTOSUSPEND=0
Powertop
powertop
can also be used to manage power. Run
powertop --auto-tune
to automatically set it up.
It can then be started at boot time, see
Powertop#Apply settings
.
thermald
Usage of
thermald
will dramatically increase the performance of the CPU under load.
Graphics
Intel Arc graphics
The GPU is also supported by the experimental
xe
kernel driver, see
Intel graphics#Testing the new experimental Xe driver
.
NVIDIA
See
NVIDIA Optimus
.
As this is an Ada Lovelace generation GPU, power management features are enabled by default. See
PCI-Express Runtime D3 (RTD3) Power Management
.
Do not forget to enable the
nvidia-persistenced
daemon.
Fingerprint reader
The Goodix fingerprint reader is supported by
fprint
.
Audio
This laptop requires
Sound Open Firmware
in order for the soundcard to work.
The package
linux-firmware-cirrus
is also needed.
Webcam
The webcam is an Intel IPU6 device with an Omnivision OV02C10 sensor. It is supported upstream as of Linux 6.16.
The camera be tested using
qcam
from the
libcamera-tools
package.
It can then be accessed from Pipewire using the
pipewire-libcamera
package.
There are other ways to access the camera from user applications discussed in this
forum thread
.
There are some known issues though:
The Intel IPU6 driver is known to delay the startup of the system.
Also, the image quality is still subpar
and
requires further improvements in libcamera
.
Troubleshooting
Random freezes
There are occurrences of Intel GPU freezes, with the only solution being a hard reset of the system.
You might see the following kernel output while experiencing these freezes :
[ 1533.629627] i915 0000:00:02.0: [drm] ERROR GT0: GUC: TLB invalidation response timed out for seqno 175260
[ 1535.350015] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:0:00000000
[ 1535.350418] i915 0000:00:02.0: [drm] GT0: Resetting chip for stopped heartbeat on bcs0
[ 1535.350674] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/mtl_guc_70.bin version 70.20.0
[ 1535.360866] i915 0000:00:02.0: [drm] GT0: GUC: submission enabled
[ 1535.360870] i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled
Adding the following option to the kernel command line can solve the issue:
iommu.strict=1
. See
[1]
.
System hangs on startup
There can be some cases where the system hangs on startup, specifically when starting the
nvidia-persistenced
daemon.
In order to solve this issue, add the following modules to the initramfs:
/etc/mkinitcpio.conf
...
MODULES=(... nvidia, nvidia_drm, nvidia_modeset, nvidia_uvm)
...
Then, add
nvidia_drm.modeset=1
to the kernel command line and
regenerate the initramfs
.
Screen freeze on some window managers
This was noticed on Hyprland window manager on kernels starting with 6.10.8. When switching between workspaces nothing happened and journald reported the following:
Sep 09 23:05:49 archlinux kernel: swiotlb_tbl_map_single: 127 callbacks suppressed
Sep 09 23:05:49 archlinux kernel: simple-framebuffer simple-framebuffer.0: swiotlb buffer is full (sz: 2097152 bytes), total 32768 (slots), used 2 (slots)
Sep 09 23:05:49 archlinux kernel: simple-framebuffer simple-framebuffer.0: swiotlb buffer is full (sz: 2097152 bytes), total 32768 (slots), used 2 (slots)
Sep 09 23:05:49 archlinux kernel: simple-framebuffer simple-framebuffer.0: swiotlb buffer is full (sz: 2097152 bytes), total 32768 (slots), used 2 (slots)
Sep 09 23:05:49 archlinux kernel: simple-framebuffer simple-framebuffer.0: swiotlb buffer is full (sz: 2097152 bytes), total 32768 (slots), used 2 (slots)
Then, add
initcall_blacklist=simpledrm_platform_driver_init
to your kernel parameters and the simple-framebuffer device (simpledrmdrmfb) will not be loaded. Normally the simple-framebuffer device should be replaced when the normal i915 device (i915drmfb) loads but this is not the case here.
See also
User Manual:
https://dl.dell.com/content/manual84320372-xps-16-9640-owner-s-manual.pdf?language=en-us