No CPU frequency scaling with newer kernels Lenovo Z510

During some update my Lenovo Z510 with an Intel I7-4700MQ cpu lost the ability to automatically scale the cpu frequency with the following kernels (maybe a few previous ones too. I’m not sure).
linux 6.1.1.arch1-1
linux-lts 5.15.84-1
linux-lts510 5.10.153-1
The cpu frequency is at 798 MHz on battery and 798MHz or sometimes 2.4 GHz plugged in to the charger (it’s a crap shoot). All other functions seem to work as expected.

However,
linux-lts54 5.4.223-1
still scales dynamically as expected with battery or with charger plugged in. Although it seems to scale more aggressively with the charger than with battery only.

I only noticed because mkinitcpio was taking forever to finish compiling and browser page updates were slow.

This is similar to the problem reported in:

I didn’t revive that topic since it was more than a year old.

Thanks to @jonathon and https://repo.m2x.dev/current/kernel-lts/x86_64/
I’m back to using linux-lts54 and I’m getting quicker browser responses and build times.

Solution was pretty simple once I read through half a dozen wiki articles on cpu frequency at least twice.

  • Installed cpupower
  • Turned on governor=‘ondemand’ in /etc/default/cpupower
  • Enabled cpupower.service with systemctl enable cpupower.service
  • Started cpupower.service with systemctl start cpupower.service

Edit 1
Well the solution is not so simple. While

# cpupower frequency-set -g ondemand

works as expected, I cannot get the systemd service to honor the config file:
/etc/default/cpupower
that cpupower is supposed to read.

Edit2
Seems I had cpupower.service and cpupower-gui.service competing with each other. I Stopped and disabled cpupower-gui.service and all works as it should. Since I don’t plan on using cpupower-gui I installed it.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.