detfalskested

Deep sleep/suspend with Linux on a Dell XPS 13 9315

A while back, I got myself a "new" (2nd hand) laptop, a Dell XPS 9315. Their XPS 13 laptops have been my weapon of choice for more than a decade: They are small and powerful. And Dell is, via their project Sputnik actively trying to make these laptops work well with Linux.

The 9315 is a few years old (2022) and seems to be the last generation of XPS 13 that still has a row of physical Escape and F-keys. I wonder how they at the same time remove these keys and promote the laptop as "developer focused", but here we are. It's probably an executive decision by someone ignorant who would in fact rather have a job at Apple.

Anyways:

I quickly realised that the sleep performance for the laptop was horrible. It would keep running and heat up my backpack when I left work. And run out of battery over the night.

Trying to figure out a solution, I found out that Microsoft at some point had the great idea of getting rid of existing sleep states and introduce a new state, "Modern Standby", instead. And apparently my computer wasn't able to enter that state. I was wondering whether it was a limitation of Linux, but quickly figured out it (of course) wasn't.

I was at the brink of giving up, and just coming to terms with the fact that modern computing sucks, when I found a solution (after a deep dive into the rabbit hole).

Apparently, all you need to do is go into the BIOS settings, under Storage and change the SATA/NVMe Operation mode from the default RAID On to AHCI/NVMe. I'm not sure I understand the techical details, but having it set to RAID seems to prevent the computer from entering the desired "Modern Standby" sleep state of S0ix.

This fix also applies to other Dell laptops, as far as I can tell.