Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Gnome 43 #199

Open
aneverhopefulhelper opened this issue Sep 27, 2022 · 41 comments · May be fixed by #203
Open

Add support for Gnome 43 #199

aneverhopefulhelper opened this issue Sep 27, 2022 · 41 comments · May be fixed by #203

Comments

@aneverhopefulhelper
Copy link

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!

@sezcl
Copy link

sezcl commented Sep 28, 2022

+1 . Thank you!

@vanastasis
Copy link

+1 please

@gilvbp
Copy link

gilvbp commented Oct 8, 2022

+1

@Mimoja
Copy link

Mimoja commented Oct 17, 2022

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)

@nietzschescodes
Copy link

yeah, that would be nice and really useful to have a version for Gnome 43. is there only one person on that project?

@fin-ger
Copy link
Member

fin-ger commented Oct 25, 2022

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...

@nietzschescodes
Copy link

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!

@fin-ger
Copy link
Member

fin-ger commented Oct 25, 2022

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.

@nietzschescodes
Copy link

Ok, thanks. I will try that before adding another DE.

@NicolasDerumigny
Copy link

NicolasDerumigny commented Nov 3, 2022

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!

@NicolasDerumigny NicolasDerumigny linked a pull request Nov 3, 2022 that will close this issue
NicolasDerumigny added a commit to NicolasDerumigny/cpupower that referenced this issue Nov 3, 2022
@NicolasDerumigny
Copy link

Support is back again on my PR :).

@nietzschescodes
Copy link

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.

@HydeFromT70s
Copy link

HydeFromT70s commented Nov 3, 2022

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!

@nietzschescodes
Copy link

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..

@HydeFromT70s
Copy link

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.

@nietzschescodes
Copy link

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.

@NicolasDerumigny
Copy link

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 :).

@nietzschescodes
Copy link

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!
Screenshot from 2022-11-04 04-46-51

@NicolasDerumigny
Copy link

NicolasDerumigny commented Nov 5, 2022

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

  • 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:

  1. Do clean installation (via the dropdown)
  2. Moving both sliders in the dropdown with
    i. Mouse
    ii. Arrow keys
    iii. Mouse wheel
  3. Toggle Turbo Boost
  4. Change Profile
  5. Toggle Auto-Switch (testing maybe not possible as VMs don't fire AC adapter events)
  6. Open Preferences and toggle all options
  7. Do 2-4 for all available backends
  8. Create a new profile and change its position (move up and down in the list)
  9. Set all values in that new profile
  10. Select it in the extensions dropdown menu
  11. Remove the profile
  12. Open About Window
  13. Uninstall tool and polkit rules (this is known to be flaky, if this fails this is not a stopper)
  14. Install latest version from Gnome Extensions
  15. Update with this version
  16. 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 in installer.sh and cpufreqctl needs to be incremented manually for testing)
  17. 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).

@nietzschescodes
Copy link

Just a small heads up: Testing (bookworm) comes with Gnome 43 since September.

@nietzschescodes
Copy link

Looks you can skip PopOS. They skipped 22.10 because it seems they don't want Gnome 43 and are making their own DE.

@NicolasDerumigny
Copy link

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?)

@fin-ger
Copy link
Member

fin-ger commented Nov 6, 2022

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.

@nietzschescodes
Copy link

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.

@nietzschescodes
Copy link

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.

@fin-ger
Copy link
Member

fin-ger commented Nov 6, 2022

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.

@NicolasDerumigny
Copy link

Good call. I was looking at the gnome package which does not exactly match.

@LeSnake04
Copy link

LeSnake04 commented Nov 21, 2022

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: vagnum08/cpupower-gui#96

Will update comment when its fixed

@nietzschescodes
Copy link

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.

@fin-ger
Copy link
Member

fin-ger commented Nov 22, 2022

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 😂 🙈

@omitrowski
Copy link

imports.ui.main.panel.statusArea.quickSettings._system._systemItem._powerToggle;

suggested fix works for me on

Distributor ID:	Ubuntu
Description:	Ubuntu 22.10
Release:	22.10
Codename:	kinetic

@lp35
Copy link

lp35 commented Dec 1, 2022

Hi @NicolasDerumigny !

Thanks for giving us a complete test case for validating this.

I have run and passed successfully all those tests on Fedora 37! You can tick this distro in your list ;)

Thanks!

@NicolasDerumigny
Copy link

NicolasDerumigny commented Dec 1, 2022

Thanks a lot for your testing, I update! The testing procedure is from @fin-ger , I have just pasted it from another thread :). Which version of GNOME do you have, 42?

@nietzschescodes
Copy link

So did the extension has been updated properly on the site of gnome extensions now? I had to revert to Gnome 3.38 so I can't see it if it is compatible with Gnome 43 . Oh and just a heads up, Gnome 44 will be released soon. In March.

@NicolasDerumigny
Copy link

NicolasDerumigny commented Jan 31, 2023

I have not touched this project, so I do not think this is the case, as further testing was needed for a merge. I will however submit another PR once Arch packages Gnome 43.

@orvitpng
Copy link

orvitpng commented Mar 4, 2023

@NicolasDerumigny have you gotten around to this? Gnome 43 is now out on arch.

@NicolasDerumigny
Copy link

Sorry, I have been busy with another project, but now that my machine has been updated, expect a PR soon :).

@LeSnake04
Copy link

Just FYI, gnome 44 will come out on the 22.03.
So it will be likely available to most Distros around middle to end of April (and to arch at the start of April)

@NicolasDerumigny
Copy link

There is my support for GNOME 44 https://github.com/NicolasDerumigny/cpupower :-).

@NicolasDerumigny
Copy link

Note that I haven't had time to rewrite the cpufrectl utility in JS (the original messes up the measurements on my system as is triggers boost) and likely won't until at least summer, so there is no way this gets eventually published here as it depends on my (custom) modification the former.

@nietzschescodes
Copy link

Debian 12 Stable is released today. It has Gnome 43 as a DE. Is the gnome extension now compatible with Gnome 43?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.