cpupower
cpupower copied to clipboard
Add support for Gnome 43
Hiya, could you update this so that it is available/works on Gnome 43 please? As this is marked as incompatible with it currently. Thank you!
+1 . Thank you!
+1 please
+1
Non complete list of things not working with Gnome 43 / Ubuntu 22.10 by simply changing the metadata:
- Tray Icon (its just blank)
- Current Frequency (always .8 GHz, even tho
/sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
suggests otherwise with AMD ryzen)
Ubuntu 22.10 also brings amd p_state which seems to work fine (also confirmed with 5.17 OEM kernel on 22.04)
yeah, that would be nice and really useful to have a version for Gnome 43. is there only one person on that project?
yeah, that would be nice and really useful to have a version for Gnome 43. is there only one person on that project?
yes, currently I'm the only one working on this. I cannot give any ETA for an update. I currently have more important stuff to do. A realistic time to start working on this would be in December...
thanks for your response. that is sad because your program is the only one that actually works on Gnome and it works perfectly. I don't get why Gnome includes their own power manager and it literally doesn't work on any of their gnome 4X. anyway, thanks for your great program. In the meantime, I might add another DE. They might have a good power manager. I know Cinnamon has one, but it never worked or freeze the laptop. Might try maybe KDE. Can't wait for your Gnome 43 version!
If you are running an Intel CPU you might have a look at cpupower-gui. It is a DE-independent graphical program for managing Intel p-state. It does not have Shell integration like this extension, but might serve your needs. And most importantly it is independent of Gnome-Shell update shenanigans.
Ok, thanks. I will try that before adding another DE.
I have looked a bit and this is due to Gnome 43 changing the location of the battery toggle used for detection of the charging / not charging state, used in src/indicator.js
. It was moved from aggregateMenu
to Main.panel.statusArea.quickSettings
. I found the source code here and here for the powerToggle but it seems to differ quite a bit, as _power
do not exist anymore, but powerToggle
does, which seems not to have _proxy.State
.
Edit: was not looking at the right place. See next comment!
Support is back again on my PR :).
that would be great to have that extension upgraded, Nicolas! I have found a temporary solution, but it is not as good as this CPU Power Manager.
Support is back again on my PR :).
Thanks @NicolasDerumigny for finding solution. I can confirm that making changes like in your PR and restarting Gnome Shell brings extension back to life in Gnome 43 :) Thanks!
I don't get it. what we have to do to have it bring back to life? downloading the system.js created by nicolas and put it where exactly? I downloaded it and put it in the file cpupower (in extensions in .locals) and nothing happened. what then should we do with that file? where we have to put it? do we have to remove a file in adding that file? sorry, I don't get what to do with that system.js file..
I don't get it. what we have to do to have it bring back to life? downloading the system.js created by nicolas and put it where exactly? I downloaded it and put it in the file cpupower (in extensions in .locals) and nothing happened. what then should we do with that file? where we have to put it? do we have to remove a file in adding that file? sorry, I don't get what to do with that system.js file..
It's fairly simple. All you have to do is modify two files as you can see in @NicolasDerumigny PR.
Just edit file: /home/<YOUR_USERNAME>/.local/share/gnome-shell/extensions/[email protected]/src/indicator.js and change line 111 from:
this.power = Main.panel.statusArea["aggregateMenu"]._power;
to
this.power = imports.ui.main.panel.statusArea.quickSettings._system._systemItem._powerToggle;
Also you need to modify file: /home/<YOUR_USERNAME>/.local/share/gnome-shell/extensions/[email protected]/metadata.json by adding your Gnome version to "shell-version":
before: "shell-version": ["3.28", "3.30", "3.36", "3.38", "40", "41", "42"],
after: "shell-version": ["3.28", "3.30", "3.36", "3.38", "40", "41", "42", "43"],
After modifying this two files, you need to log out or restart your Gnome Shell by ALT+F2 typing r and hitting enter.
Only those 2 small steps + log-out? It is quite simple. Thanks for explaining, but unfortunately for me, it doesn't work. When I check on my list of extensions, it still not showing that extension so I can't turn it on.
It depends how you installed the extension first. If it was done by the package manager, then the files are located in /usr/share/gnome-shell/extensions/[[email protected]](mailto:[email protected])/
. Or wait until this PR got merged :).
Hi Nicolas. Yes, I had find the file and made the changes that Hyde was talking about, but I don't know how to turn it on, because it does not appear back on my list of the extensions (see pic below). But no worry, I will wait until this PR got merged. Thanks so much for your work!
Hi folk! I have started looking a bit more into the code and updated it (not to break compatibility with older GNOME versions....). Now we need you help. I am running under Arch Linux and cannot test on other distributions, but (copy/paste from the GNOME 42 update / some versions may have updated their GNOME release since):
For such a version increment to happen, we need testing in the most popular Linux distributions, including
all supported Ubuntu LTS releases
- [ ] 22.04 (Gnome 42)
- [ ] 20.04 (Gnome 3.36)
- [ ] 18.04 (Gnome 3.28)
latest debian testing, stable, and old-stable
- [ ] testing (bookworm) (Gnome 43)
- [ ] stable (bullseye) (Gnome 3.38)
- [ ] old-stable (buster) (Gnome 3.30)
Fedora stable and old-stable
- [ ] Fedora 35 (soon EOL, maybe skip?) (Gnome 41)
- [ ] Fedora 36 (Gnome 42)
- [ x ] Fedora 37 (???)
Other
- [x] latest Arch (Gnome 43)
- [ ] Latest PopOS! (22.04, Gnome 42)
Testing procedure
Run
$ make install PREFIX=$HOME/.local
$ dbus-run-session -- gnome-shell --nested --wayland
and check for errors and warnings regarding cpupower in the console output while doing the following steps:
- Do clean installation (via the dropdown)
- Moving both sliders in the dropdown with i. Mouse ii. Arrow keys iii. Mouse wheel
- Toggle Turbo Boost
- Change Profile
- Toggle Auto-Switch (testing maybe not possible as VMs don't fire AC adapter events)
- Open Preferences and toggle all options
- Do 2-4 for all available backends
- Create a new profile and change its position (move up and down in the list)
- Set all values in that new profile
- Select it in the extensions dropdown menu
- Remove the profile
- Open About Window
- Uninstall tool and polkit rules (this is known to be flaky, if this fails this is not a stopper)
- Install latest version from Gnome Extensions
- Update with this version
- Check if update procedure is working (Note: this requires a version increment which is only done by
make release
which I have not done yet, so version ininstaller.sh
andcpufreqctl
needs to be incremented manually for testing) - Native installs i. For debian-based distros a. do a clean install of the latest .deb for this extension b. build a deb for the new version and update with the package manager and check if the update is working ii. For red-hat based distros a. do a clean install of the latest .rpm for this extension b. build a rpm for the new version and update with the package manager and check if the update is working
Global installation method and all other installation methods are not tested (at least by me). You can do it if you want and if you encounter any issues, I will do my best to fix them.
Orca (screen reader) support can only be tested in "real" gnome-shells (non-nested). At least I couldn't get Orca running in the nested gnome-shell, but it would be nice to have basic testing for screen-readers in all distros (profile management in preferences dialog is known to be hard-to-impossible to use with orca, this will be fixed when redesigning the preferences dialog and not a stopper for a new release).
Just a small heads up: Testing (bookworm) comes with Gnome 43 since September.
Looks you can skip PopOS. They skipped 22.10 because it seems they don't want Gnome 43 and are making their own DE.
I don't think PopOS! should be skipped, as long as GNOME is still supported by default on this distro (which is the case, right?)
I don't think PopOS! should be skipped, as long as GNOME is still supported by default on this distro (which is the case, right?)
Yes, if PopOS skipped a release, the latest release is still the one that needs testing.
I believe Gnome 42 is the default on PopOS 22.04 but they have decided to stop using Gnome for the future versions, that is why they won't release a 22.10. They don't want Gnome 43 and instead are working deeper on their own DE for the 23.04 edition. But right, ofc, the new extension should still be compatible with their Gnome 42.
Oh, I just noticed something else. Gnome 3.36 is shipped on Ubuntu 20.04, not 3.30. Also I think it is Gnome 3.28 that is shipped on Ubuntu 18.04, not 3.22.
Oh, I just noticed something else. Gnome 3.36 is shipped on Ubuntu 20.04, not 3.30. Also I think it is Gnome 3.28 that is shipped on Ubuntu 18.04, not 3.22.
Feel free to correct this if it's wrong. I looked this up with the packages provided for gnome-session
in the official repositories of each distro without backports.
Good call. I was looking at the gnome
package which does not exactly match.
If you are running an Intel CPU you might have a look at cpupower-gui. It is a DE-independent graphical program for managing Intel p-state. It does not have Shell integration like this extension, but might serve your needs. And most importantly it is independent of Gnome-Shell update shenanigans.
PLEASE DO NOT INSTALL THE MASTER BRANCH FROM cpupower-gui
ON FEDORA 36 !!!
IT BRICKS THE SYSTEM: https://github.com/vagnum08/cpupower-gui/issues/96
Will update comment when its fixed
I did try cpupower-gui when I was suggested that in this thread. It just doesn't work. You set a limit and the limit is crossed. My solution after was simply to install cpufrequitls and set manually what I want and it works perfectly.
Thanks for the heads-up! This explains why this extension is still so popular although it is tightly coupled with GNOME and is constantly lacking behind in supporting new GNOME versions :joy: :see_no_evil: