Dell XPS 13 2-in-1 (9365)

From ArchWiki
Jump to navigation Jump to search

The Dell XPS 13 2-in-1 (9365) is the early 2017 model. It can be used like a tablet when folding the display on the back. The touchscreen works out of the box.

Installation

BIOS configuration

Bios can be accessed with F2 or F12 on DELL logo boot screen.

With Bios version 1.1.0 or 1.3.1 to 2.1.2 you have to set sata operation to AHCI first and then uncheck in Advanced Boot options -> Legacy ROM.[1][dead link 2020-02-23]

Note:
  • In RAID mode the BIOS/UEFI is able to see the internal drive and is able to boot from it. It is possible to boot Archiso in RAID mode, but it can't see the internal drive.
  • In AHCI mode the BIOS/UEFI with Legacy ROM activated is not able to see the internal drive. If you try to boot it will fail and display an error that no harddrive is installed.
  • In AHCI mode the BIOS/UEFI with Legacy ROM deactivated is able to see the internal drive and therefore boot from it and Archiso is able to see the drive too. With these settings you can install and boot arch.

It is also needed to set the following settings [2] :

  • UEFI network stack - disabled
  • Secure Boot - disabled
  • SATA operations - AHCI
  • Legacy ROM - disabled
  • POST Behaviour : Fastboot - minimal (if not, BIOS is really slow, and cannot boot to any mediums)
Note:
  • Some changes in BIOS might reset other settings. Check your BIOS settings twice.
  • Those settings are working as of 2018/11/28

Troubleshooting

Suspend issues

This model only supports the S0ix sleep mode. [3] Change the suspend mode to s2idle by adding the mem_sleep_default=s2idle to the kernel parameters. Note: As of 2018/11/18, this does not seem required anymore: the kernel automatically sets it correctly. Unfortunately even with that sleep mode does not completely work as designed. If the device enters real S0ix sleep

 $ cat /sys/devices/system/cpu/cpuidle/low_power_idle_system_residency_us

should report a non zero value but so far it does not seem possible to reach such a deep sleep state. Still with some optimization the device can sleep with a power consumption of around 1% per hour. Here are some guides on the topic from intel.

https://01.org/blogs/qwang59/2018/how-achieve-s0ix-states-linux

https://01.org/blogs/qwang59/2020/linux-s0ix-troubleshooting

https://01.org/blogs/thac0/2019/idling-efficiently-linux-case-study

A good start is also Power management#Bus power management

There is still the option to use hibernation or suspend-then-hibernate instead but often after resuming again the device tends to be stuck in higher power states. In Powertop it can be observed that the CPU is stuck in PC8 state and won't go into deeper power saving states which can increase power consumption.

Screen not rotating

You need to install iio-sensor-proxy for automatic screen rotation to work.

Fingerprint sensor

The fingerprint sensor on this computer is not yet supported. [4] . There is an old fprint bug opened to track progress on this issue [5] but it was never finished.

Another approach has been started in 2020. [6]

Reduce throttling

Note: It is recommended to use the intel_pstate driver with active HWP which should be default. Passive mode with 'schedutil' governor can also solve the throttling issue but it tends to keep the CPU in high frequency states even while idle which increases power consumption.

On battery the device runs noticeably slower. This goes even as far as that scrolling a web browser can get stuttery while perfectly fluid when connected to a charger. It might be an issue with the performance preference of the CPU. If

 $ cat /sys/devices/system/cpu/cpufreq/policy?/energy_performance_preference

reports

 $ default

or

 $ balance_power

It can cause the CPU to be limited in it's maximum clockspeed and performance. This is expected from 'balance_power'. 'default' means the manufacturer's own settings are active but those seem to limit performance on battery quite a lot. You can change it to 'balance_performance' or 'performance' to get a higher performance at a increased power consumption. When you try the different options and use a stress test you can observe that on 'default', 'balance_power' and 'power' the maximum CPU frequency is limited. 'balance performance' should still allow for maximum frequency while still allowing some power saving. You can change it permanently with

/etc/tmpfiles.d/energy_performance_preference.conf
w /sys/devices/system/cpu/cpufreq/policy?/energy_performance_preference - - - - balance_performance

A way to save some power is to increase the energy performance bias.

/etc/tmpfiles.d/energy_performance_bias.conf
w /sys/devices/system/cpu/cpu?/power/energy_perf_bias - - - - 15

It controls how aggressive power saving mechanisms work without decreasing performance too much.