Dell XPS 15 (7590) - ArchWiki

Jump to content
From ArchWiki

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

Reason: Stub (Discuss in Talk:Dell XPS 15 (7590))

Hardware | PCI/USB ID | Working?
--- | --- | ---
GPU (Intel) | `8086:3e9b` | Yes
GPU (NVIDIA) | `10de:1f91` | Yes
Wireless | `8086:2723` | Yes
Bluetooth | `8087:0029` | Yes
Audio | `8086:a348` | Yes
Touchpad |  | Yes
Touchscreen |  | Yes
Webcam | `0c45:6723` | Yes
Card Reader | `10ec:525a` | Yes
Fingerprint reader | `27c6:5395` | No
Thunderbolt | `8086:15da` | Yes

This page refers to the 7590 revision of the XPS 15. Most of it also applies to the Precision 5540.

## Installation

Before installing it is necessary to modify some UEFI Settings. They can be accessed by pressing the `F2` key repeatedly when booting.

Note: If you will be dual booting alongside an existing Windows installation, Windows will not boot if you just go ahead and make the switch to AHCI as described in the steps below. You must log into you Windows install both before and after that UEFI change to set and then remove a safeboot flag, respectively.

- Under 'System Configuration', change the SATA Mode from the default "RAID" to "AHCI". This will allow Linux to detect the NVMe SSD.
- Under 'Secure Boot', disable Secure Boot to allow Linux to boot.
- Under 'POST Behaviour', change "Fastboot" to "Thorough". This prevents intermittent boot failures.

If you are using multiboot with an existing Windows installation, make sure that "fast startup" is disabled in Windows 8/10.

## Firmware

### Fwupd

Dell provides firmware updates directly via LVFS and can thus be flashed directly from Linux. See fwupd.

### Manual installation

Firmware images can be found at Dell support page. Keeping an existing Windows system will make updates of the UEFI much simpler. If a clean Arch Linux install is the case in order to install:

- Download the desired firmware from section "Dell XPS 15 7590 System BIOS"
- Save it in `/efi/EFI/Dell/Bios/` or `/boot/EFI/Dell/Bios/` (this path may vary, depending on your installation)
- Reboot the system, and enter the boot menu by pressing repeatedly `F12` on Dell logo
- Choose "Bios Flash Update"
- Select the file previously saved, and start the process

The process will take about five minutes, during which the system will have some reboots and push fans at maximum speed. Finally the system will reboot normally.

## Power Management

### Suspend

See Power management/Suspend and hibernate#Changing suspend method.

Warning: Some users have reported a problem where the CPUs get stuck in a high power state after resuming from S3 (deep) suspension [1].

## Thermal Management

Default thermal management is not very optimized (this is my experience with the i9 processor at least).

The laptop gets hot quite often and the fans run at high speed most of the time.

One solution I found is to use powertop to get a quieter system.

See Powertop for details.

You may activate manual fans control with i8kutils. Install i8kutilsAUR and dell-bios-fan-control-gitAUR. Edit `/etc/i8kutils/i8kmon.conf` and enable services:

Do a complete daemon-reload, then

    # modprobe dell-smm-hwmon
    # modprobe i8k

Then one can start/enable `i8kmon.service` and `dell-bios-fan-control.service`.

You may have to modify the modprobe options for `dell-smm-hwmon` to have the above work. See more at this reddit thread

    options dell-smm-hwmon ignore_dmi=1

Another solution to decrease CPU temperature by 8°C (as for i7) on average is to

    # echo 1 | tee /sys/devices/system/cpu/intel_pstate/no_turbo

This is likely to be reset though during adapter plugging and uplugging.

## Graphics

### Intel

As of early May 2021, the new kernel versions under 5.12.x are causing issues on the Precision 5540 variant of this model where the internal display goes black even before entering the tty.

The issue has been identified, but a fix is yet to be mainlined.

### NVIDIA

See NVIDIA Optimus.

Starting with the 460 series of the NVIDIA drivers, optional advanced power management options can be enabled. See: [2]

After having set the configuration according to the NVIDIA documentation, correct operation can be checked using nvidia-smi from nvidia-utils: `nvidia-smi -q -d PERFORMANCE`

When idle, the following state should be reported:

     ==============NVSMI LOG==============

     Timestamp                                 : Sun Apr 11 14:19:40 2021
     Driver Version                            : 465.19.01
     CUDA Version                              : 11.3

     Attached GPUs                             : 1
     GPU 00000000:01:00.0
         Performance State                     : P8
         Clocks Throttle Reasons
             Idle                              : Active
             Applications Clocks Setting       : Not Active
             SW Power Cap                      : Not Active
             HW Slowdown                       : Not Active
                 HW Thermal Slowdown           : Not Active
                 HW Power Brake Slowdown       : Not Active
             Sync Boost                        : Not Active
             SW Thermal Slowdown               : Not Active
             Display Clock Setting             : Not Active

Reported power consumption in this state should be around 1W.

If you do not plan to use the discrete GPU at all, it can be completely disabled and powered off. See: Hybrid graphics#Fully power down discrete GPU

Warning: Do not disable the discrete GPU before X11 starts, otherwise, it will crash.

### Backlight

As of Linux kernel 5.12, the OLED backlight is fully supported and works in X11 and Wayland.

For earlier kernel versions, see Backlight#Color correction.

### Backlight function keys

When using a LCD display device and in a desktop environment (KDE verified) the function key will be working out of the box for the DEs that have their own key mapping. However, when in a window manager with modesetting driver (and also int the tty console), the backlight controlling function keys will not be working and will throw out errors like `ACPI BIOS Error, could not resolve symbol`.

Usually `/sys/class/backlight/intel_backlight` is symlinked to `/sys/device/pci00/0000:00:02.0/drm/card0/card0-eDP-1/`, and by changing the value of `backlight` file inside the directory the backlight level can be controlled, but the operation needs root privilege. Establishing a udev rule and accordingly a backlight control group will help, but these steps can be done easily with the package light.

Then a mapping of function key to the command, say, `light -A 3` and `light -U 3` would be in need. `XF86BrightnessDown` and `XF86BrightnessUp` will not be working. The mapping of the keys can be done with acpid. Install the package, then insert these lines to the `case "$1" in` block

    /etc/acpi/handler.sh

    video/brightnessup) light -A 3 ;;
    video/brightnessdown) light -U 3 ;;

Start/enable `acpid.service`.

## Fingerprint reader

It is a Goodix fingerprint reader.

The producer does not provide any Linux driver nor documentation to implement one.

Some effort is in slow progress to reverse engineer the windows drivers (see [3]).

Category:

- Dell

Hidden category:

- Pages or sections flagged with Template:Laptop style