The H2 Wiki


how-i-use-debian-dell-xps-13-7390

How I use Debian GNU/Linux on Dell XPS 13 7390

Background

I can happily report that this machine works well with Debian 11/Bullseye!

Reportedly, other options for a machine that is highly compatible with Linux include Lenovo, Laptop with Linux, Slimbook, Tuxedo Computers, System76, Purism, Pine and Framework.

Installation

Installing Debian on this machine poses a few challenges.

Use

Subsequent use of the device has a few challenges of its own too.

Installation process

Installation media

I used a USB-A drive with a standard Apple USB-C to USB-A adapter. Alternatively you can use a USB-C drive. To make firmware-iwlwifi available during installation I used a non-free installation image. I chose the XFCE Bullseye release candidate non-free live CD but the significantly smaller non-free netinst would probably work fine too.

Booting

Start the machine with the USB drive attached and press F12 to boot into the BIOS menu. Make sure that the SSD controller is set to AHCI mode. Then choose to boot from your USB drive. (To do so you may then have to exit the BIOS menu and enter it again by pressing F12 again.)

Installing

Installation should proceed as a standard Debian installation.

Use

Compatibility

I haven’t found any features that don’t work.

External monitor

External monitor connectivity works fine from two of the three USB-C ports. I guess the other is not designed to output video. (I haven’t tried both ports at the same time but I don’t anticipate any problems.)

I use a StarTech USB-C to Display Port adaptor with a standard Display Port to Display Port cable.

Suspend

Only s2idle/freeze (which are both names for S0/suspend to idle) and deep (S3/suspend to RAM) seem to be supported. (It’s possible that disk (S4/suspend to disk/“hibernate”) doesn’t appear here only because I didn’t make a big enough swap partition, but I am not sure.)

$ cat /sys/power/state
freeze mem
$ cat /sys/power/mem_sleep
s2idle [deep]

Suspend to RAM (S3, deep mem)

This is probably the variety of suspend that you actually want to use because it has extremely low power draw.

I disabled TPM, SGX, SMM, and Absolute in the BIOS (as described in a helpful Reddit post). I don’t know whether doing so was necessary. Enter S3 sleep with

sudo sh -c 'echo deep > /sys/power/mem_sleep && echo mem  > /sys/power/state'
Waking the machine

You must not try to wake the machine by pressing the power button; that will put it into shutdown. Instead close and reopen the lid.

Suspend to idle (S0, freeze)

This feature works but I doubt it reduces power draw very much.

Trackpad

Trackpad behaviour can be configured with xinput. Run xinput --list and look for the entry like CUST0001:00 06CB:76B1 Touchpad. Use that string in the commands below.

Tap to click

To configure a tap on the trackpad to be registered as a left click run

xinput --set-prop "CUST0001:00 06CB:76B1 Touchpad" "libinput Tapping Enabled" 1

Natural scrolling

For “Natural”, i.e. reversed, scrolling run

xinput --set-prop "CUST0001:00 06CB:76B1 Touchpad" "libinput Natural Scrolling Enabled" 1

Bluetooth

I haven’t tested Bluetooth thoroughly but it seems to work. Some useful notes follow.

Auto-dimming screen on battery power

By default, when running on batter power the screen automatically dims and brightens depending on what is on the screen. It seems somewhat random, but it depends on a strange way on the brightness of what is already on the screen. I worked out how to turn it off:

Then the brightness must be controlled manually, for example

echo 40000 > /sys/class/backlight/intel_backlight/brightness

References

Credits