I love the simplicity of Arch Linux. Being able to install everything via my systems package manager is an absolute joy. My heart desires 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.
What is undervolting?
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.
Undervolting Intel processors
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 theintel-undervolt
package from the Arch User Repository:
yay install intel-undervolt
ZshOnce installed, you will need to configure the package, and then enable
andstart
the systemd
service:
su -c 'vim /etc/intel-undervolt.conf'
ZshOnce 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
ZshUpon 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
ZshTo 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'
ZshTo apply the new settings from the conf
file, restart
the service, or runintel-undervolt
with the apply
command:
su -c 'systemd restart intel-undervolt'
su -c 'intel-undervolt apply'
ZshAs mentioned, undervolting didn’t necessarily eliminate the gremlins I’ve been
experiencing, but I rarely see any throttling notices showing up when I runjournalctl
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!