XPS 13 Tweaks

Feb 20, 2020

I’ve had my Dell XPS 13 for about six months now and thought I’d write a quick review and summarize some of the tweaks I’ve made over time. In August 2019 I purchased a Developer Edition Dell XPS 13 9380 which came with Dell’s version of Ubuntu pre-installed. Preferring Canonical’s stock version of Ubuntu, the first thing I did was install Ubuntu 19.04 on the new laptop.

The screen of the XPS 13 is fantastic with great color and clarity. The 1920 x 1080 resolution is entirely sufficient for my general use case and I didn’t think the extra cost and battery drain was worth it for a 4K screen. I did bump up the font display size in Gnome Tweaks.

The limited eight GB of RAM hasn’t been an issue for me although I don’t usually fire up multiple VMs and I game mainly on my desktop PC. I would say not being able to upgrade the RAM is a trade off, definitely not ideal. But the slim and light build of the laptop is top notch. If I wanted something I could easily upgrade, I think I would have gone with a Thinkpad or something from System76.

The cooling on the XPS 13 is pretty great. The laptop can get warm, but not hot like I’ve experienced with other laptops. The fan doesn’t kick on unless under heavy loads and I usually don’t notice it unless I’m gaming, compiling, or having extended video watching sessions. The battery more or less lasts all day. No complaints after having installed TLP and keeping screen brightness on the lower end when on battery power.

Specs

  • Dell XPS 13 9380
  • Intel Whiskey Lake i5-8265U CPU @ 1.60GHz
  • Toshiba 256 GB NVME SSD
  • 8 GB 2133 MHz LPDDR3 RAM
  • 13.3 in 1920 x 1080 IPS screen
  • USB-C ports with Thunderbolt 3

Font Scaling

# apt update && apt install gnome-tweaks -y

After installing Tweaks, open up the app and under Fonts set the Scaling Factor to 1.25.

font tweaks

TLP

TLP is an advanced power management tool for Linux. The defaults for TLP will fit most use cases and is already optimized for battery life. TLP has two run modes, AC and battery. This is great as get the best of both worlds, extended battery life on the go and maximum performance when plugged into power.

# apt install tlp
# systemctl enable --now tlp.service

Go ahead and check the status of TLP.

# tlp-stat -s

Bluetooth

I don’t have any use for Bluetooth with my current laptop. I wanted to disable it so I could hopefully save a bit of battery life and eliminate a potential attack vector. I first disabled Bluetooth in system settings, but found the change was not persistent across reboots. You can make the change persistent by disabling the Bluetooth systemd service.

# systemctl disable bluetooth

Dynamic Backlight Control

Dell has a dynamic backlight control (DBC) feature on by default. While this feature has the potential for battery savings, I found the feature distracting as the screen would flicker from time to time. I decided to turn the feature off and this can be done in the BIOS.

After having some issues rebooting into the BIOS by trying to hold various keys, I learned that you can reboot into the BIOS directly with the following command.

# systemctl reboot --firmware-setup

Once in the BIOS settings go ahead and find the DBC option under the Video section and set it to OFF.


Panel Self Refresh

After experiencing some noticeable screen flickering even after turning off DBC, I ran into this page on the Arch Wiki. Panel Self Refresh (PSR), a power saving feature used by Intel iGPUs can cause screen flickering. A workaround is to disable PSR by adding a Kernel boot parameter to GRUB.

Add i915.enable_psr=0 to the GRUB_CMDLINE_LINUX_DEFAULT line in /etc/default/grub. All Kernel boot parameters are enclosed in a single set of double quotes and are each separated by a space. Here is my resulting /etc/default/grub file.

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_psr=0"
GRUB_CMDLINE_LINUX=""

Update GRUB and reboot for changes to be applied.

# update-grub
# systemctl reboot

ZFS

Right when Ubuntu 19.10 came out I did a fresh install to try out the new experimental ZFS on root feature. While I haven’t made use of everything ZFS has to offer on the laptop, I haven’t experienced any issues since installing in October of 2019. A few of my upcoming projects will include ZFS snapshots, ZFS encryption, and ZFS send and receive.