Dell XPS 15 7590
|Discrete Nvidia Graphics||Modify|
|EFI firmware updates||Working|
|Fingerprint reader||Not working|
This page contains recommendations for running Arch Linux on the Dell XPS 15 7590 (2019).
Pre-Installation UEFI Settings
Before installing it is necessary to modify some UEFI Settings. They can be accessed by pressing the F2 key repeatedly when booting.
- 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.
By default, the very inefficient s2idle suspend variant is incorrectly selected. This is probably due to the BIOS. The much more efficient deep variant should be selected instead:
$ cat /sys/power/mem_sleep [s2idle] deep # echo deep | tee /sys/power/mem_sleep $ cat /sys/power/mem_sleep s2idle [deep]
To make the change permanent add
mem_sleep_default=deep to your kernel parameters.
An easy way would be to add
mem_sleep_default=deep to the
GRUB_CMDLINE_LINUX_DEFAULT entry in /etc/default/grub:
Read more regarding the sleep variants on the kernel documentation .
Starting with the 460 series of the Nvidia drivers, optional advanced power management options can be enabled. See: 
After having set the configuration according to the Nvidia documentation, correct operation can be checked using nvidia-smi from
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
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 AUR and AUR. Edit
/etc/i8kutils/i8kmon.conf and enable services:
# systemctl daemon-reload # modprobe dell-smm-hwmon # modprobe i8k # systemctl enable --now i8kmon.service # systemctl enable --now 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.
See NVIDIA Optimus.
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 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 won't be working and will throw out errors like
ACPI BIOS Error, could not resolve symbol.
/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 previliege. Establishing a udev rule and accordingly a backlight control group will help, but these steps can be done easily with the package .
Then a mapping of function key to the command, say,
light -A 3 and
light -U 3 would be in need.
XF86BrightnessUp won't be working. The mapping of the keys can be done with . Install the package, then insert these lines to the
case "$1" in block
video/brightnessup) light -A 3 ;; video/brightnessdown) light -U 3 ;;
start and enable the service:
systemctl enable acpid.service,
systemctl start acpid.service.
With kernel version 5.2.2 and linux-firmware 20190717.bf13a71-1, WiFi would be working out of the box.
Firmware images can be found at Dell support page. Keeping an existing Windows system will make updates of BIOS 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
/boot/EFI/Dell/Bios/(this path may vary, depending on your installation)
- Reboot the system, and enter the boot menu by pressing repeatedly
F12on 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.
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 ).