Dell XPS 16 (9640) - ArchWiki

Jump to content
Toggle the table of contents

# Dell XPS 16 (9640)

From ArchWiki

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
Wireless | `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.

## 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`

1. The key is visible to `xev` and similar tools
2. The physical key has a symbol on it, which describes its function

## 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

As of Linux 6.8, the Intel Arc GPU should be correctly supported by the `i915` kernel driver.

The GPU is also supported by the experimental `xe` kernel driver available since Linux 6.8.

In order to use it, add the following parameters to the kernel command line: `i915.force_probe=!7d55 xe.force_probe=7d55`

### 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

As of Linux 6.9, the audio device is fully supported. Installing sof-firmware is needed to provide correct operation.

See Advanced_Linux_Sound_Architecture#ALSA_firmware.

## Webcam

The webcam is an Intel IPU6 device and is not supported in upstream kernel.

However, correct operation can be obtained by installing intel-ipu6-camera-binAUR and intel-ipu6-dkms-gitAUR.

## Troubleshooting

### Random freezes

There are occurrences of random 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 options to the kernel command line can solve the issue: `i915.enable_psr=0 i915.enable_dc=0`.

### 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.

## See also

User Manual: https://dl.dell.com/content/manual84320372-xps-16-9640-owner-s-manual.pdf?language=en-us

Category:

- Dell