Undervolting the New Dell XPS 15 7590 on Arch Linux

Josh Sherman
4 min read
Linux Arch Linux

I have a love / hate relationship with Arch Linux.

I love the simplicity. I love being able to install everything via my system’s package manager. I love running the oh so shiny and new versions of my favorite software.

I hate the seemingly semi-annual issues I have after I run an update.

I get it though, you can’t run the latest stuff without running into some issues from time to time.

My current dilemma after an upgrade a few weeks back is two fold. First, my Brave browser has become laggy when opening, opening new windows and tabs. I’ve been through the usual motions of re-installing the package and disabling all of my extension (which isn’t a large number).

The second issue, and the one that is more of a blocker than an inconvenience is my system completely locking up, seemingly related to when I receive a notification in GNOME.

Originally I thought the issue was caused by Slack, since that’s one of the few applications I receive notification from. I’ve since experienced the same exact issue with other applications when they notify me.

The gnome-shell process peaks at 100%+ and journalctl barks about devices being removed and systemd-logind “getting pause” for a bunch of different times.

I originally blamed my hardware as I hadn’t gleaned the correlation of the aforementioned errors in the logs with the lock ups, but that never made a ton of sense because things only started up after an upgrade recently.

The reason I thought it was my hardware was because of the known issues with thermal throttling with the higher end processors in the New Dell XPS 15 7590.

This assumption exposed me to “undervolting” and got me experimenting with that to see if it would resolve things. It didn’t solve the lock ups, but it did seem to clean up the majority of the CPU clock throttling errors I was seeing in the logs.

Delving into undervolting also made me realize that most of my peer circle, especially those that using Apple systems had no idea what undervolting was.

Undervolting is the act of starving your CPU or GPU of power. It will run slower, but because it’s not going full tilt, it will run cooler. Because it runs cooler, it will avoid overheating / throttling conditions. And by avoiding that, your CPU / GPU will perform more consistently and actually perform better.

Many manufacturers will deliberately undervolt the CPU to help achieve these more consistent performance scenarios. This comes in extremely handy on laptops where the cooling mechanisms may not be that ideal.

Okay, enough story time and explaining things. To undervolt a system in Arch Linux, specially the New Dell XPS 15 7590, you will need to install the intel-undervolt package from the Arch User Repository:

yay install intel-undervolt

Once installed, you will need to configure the package, and then enable and start the systemd service:

su -c 'vim /etc/intel-undervolt.conf'

Once open, you can tweak the lines that start with undervolt # near the top of the file.

I’m actually not entirely sure what the best settings are for this and am still experimenting. Currently I’m using -125 and -100 for the CPU and CPU Cache respectively. I am not using the Nvidia GPU while running Linux, so I didn’t bother to tweak that setting.

The offset values are in millivolts, mV, and my conf file looks like this:

undervolt 0 'CPU' -125
undervolt 1 'GPU' 0
undervolt 2 'CPU Cache' -100
undervolt 3 'System Agent' 0
undervolt 4 'Analog I/O' 0

Upon saving the file and exiting, you’ll next want to enable the systemd service and start it so your undervolting settings will be applied when you restart your system:

su -c 'systemd enable intel-undervolt && systemd start intel-undervolt

To check that the settings have been applied, you can check the status of the service, or called intel-undervolt with the read command:

su -c 'systemd status intel-undervolt'
su -c 'intel-undervolt read'

To apply the new settings from the conf file, restart the service, or run intel-undervolt with the apply command:

su -c 'systemd restart intel-undervolt'
su -c 'intel-undervolt apply'

As mentioned, undervolting didn’t necessarily eliminate the gremlins I’ve been experiencing, but I rarely see any throttling notices showing up when I run journalctl and that’s a good thing.

I’m going to keep experimenting with the settings to try and eliminate those notices completely. If you happen to be undervolting your New Dell XPS 15 7590 and have some settings you’d like to share, please comment below!

Join the Conversation

Good stuff? Want more?

Weekly emails about technology, development, and sometimes sauerkraut.

100% Fresh, Grade A Content, Never Spam.

About Josh

Husband. Father. Pug dad. Musician. Founder of Holiday API, Head of Engineering and Emoji Specialist at Mailshake, and author of the best damn Lorem Ipsum Library for PHP.

Currently Reading

Parasie Eve

Previous Reads

Buy Me a Coffee Become a Sponsor

Related Articles