Skip to content

Instantly share code, notes, and snippets.

Created February 3, 2018 22:27
What would you like to do?
Dell XPS 13 (9370) Archlinux Install Notes

Install Notes - Dell XPS 13 (9370) 2018

The laptop works well on Archlinux. A few notes based on the installation guide for the previous version.

Intel GPU Power Saving

Per the Arch wiki, more power can be saved by creating /etc/modprobe.d/i915.confwith the following content:

options i915 modeset=1 enable_rc6=1 enable_fbc=1 enable_guc_loading=1 enable_guc_submission=1 enable_psr=1

(some of these options might be redundant; specifically PSR appears to be enabled by default, and modesetting is probably already in use)

Sleep Mode Power Usage

After initial installation, sleep mode appeared to be fairly inefficient, consuming not much less power than would be used in normal use with the screen off. Investigation revealed that Linux was trying to use the old s2idle means of sleep. This is not true S3 ACPI sleep. Check the sleep mode by doing cat /sys/power/mem_sleep and see whether the selected sleep mode (surrounded by square brackts) is s2idle or deep.

If it is not deep, add mem_sleep_default=deep to your kernel cmdline variable (for grub, edit /etc/default/grub and re-generate the grub configuration. Temporarily test this by echo'ing deep to /sys/power/mem_sleep and then put the laptop to sleep - it should take slightly longer to wake than before, and will consume much less power!

Of interest, the reported issue on the 9360 (2017 model) where leaving Thunderbolt boot enabled results in higher power usage after resuming from sleep appears to be resolved.

Expect power consumption of around 2 Watts when idle, with screen on low brightness, connected to Wi-Fi. Low power consumption continues after resuming from sleep.

Copy link

I managed to solve the sleep mode issue on Ubuntu without changing the grub config by installing sysfsutils, running echo 'power/mem_sleep = deep' > /etc/sysfs.d/mem_sleep.conf and rebooting.

Copy link

The i915 module options cause problems on my system (9370): some minutes after logging in I get lots of drm_atomic_helper errors (flip_done timed out) and the GUI becomes very slow (several minutes between updates). The console works fine.

By leaving out the enable_psr=1 option the problem seems to be solved (so I suppose it is not enabled by default).
This is on Ubuntu 18.04 with kernel 4.15.0-30.

Copy link

zachliu commented Aug 24, 2018

I added the i915.conf on my 9370. Everything seems ok. I haven't seen @HansVanpee's error yet. But I'm plugged in all the time. Not sure if this really extends the battery life. Will report here if I notice something.

This is on Linux Mint 19 with kernel 4.15.0-33.

Copy link

Venemo commented Dec 18, 2018

Please do not advise those i915 options, they are very misleading / harmful.

  • modeset=1 is superfluous because it is the default
  • enable_rc6=1 does not exist on newer kernels
  • enable_fbc=1 may result in a marginal power saving, but can cause instability
  • enable_guc_loading=1 does not exist on newer kernels (replaced by enable_guc)
  • enable_guc_submission=1 also does not exist on newer kernels
  • enable_psr=1 is known to cause instability even on the latest hardware with latest kernels (and is even worse with older hardware)

Copy link

CNG commented Feb 18, 2019

Mostly agree with @Venemo, I found errors in logs for most of the options that I found do not exists actually. But, I'm not sure about modeset=1 being default. On my Arch system currently, modinfo claims -1 is the default:

$ modinfo -p i915
modeset:Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int)

And in fact that is what is enabled right now:

$ sudo systool -m i915 -av | grep 'modeset '
    modeset             = "-1"

Note I did find modeset=1 initially had no effect for me, and then I realized I had xf86-video-intel installed and did not need it. I hoped this was related to my problems with being unable to adjust the screen brightness since 2 weeks ago, but alas... :-(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment