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!