I installed Powertop when I first installed Manjaro on my laptop, a few years ago.
Now, given that every tutorial on power saving suggests disabling Powertop if you’re using another power management service (I use TuneD currently, I used TLP before), I wanted to remove Powertop. But it looks like… I can’t!
Let me explain step by step.
Powertop is loaded by systemd at startup, through a service named powertop.service
. powertop.service
has the following content:
[Unit]
Description=Powertop tunings
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/powertop --auto-tune
[Install]
WantedBy=multi-user.target
If I disable powertop.service (by running sudo systemctl disable powertop.service
), at next boot the graphic environment will not load. In my interpretation, this happens because graphical.target
requires multi-user.target
, which requires powertop.service
.
This is confirmed by running
systemctl list-dependencies --reverse powertop.service
powertop.service
● └─multi-user.target
● └─graphical.target
So if powertop.service
is disabled, the graphical environment cannot be loaded.
However, it seems crazy to me that the system cannot run without Powertop. And indeed, if I disable it with the graphical session already loaded, the system runs just fine.
So, there might be an obvious solution but I haven’t find a clear way out so far. Uninstalling powertop, disabling powertop.service
at startup, modifying powertop.service
so that no command is run… I tried all of these and the outcome is the same: Gnome Shell doesn’t load. So it looks like I need to tell multi-user.target
that it doesn’t need powertop.service
. How do I do that? Thanks for you help.
EDIT: To put it more correctly, the issue is not telling multi-user.target
to not require powertop.service
. That is done by removing the symlink when the service is disabled. The issue if finding out which service called at startup doesn’t let Gnome Shell load if powertop is not running.