Automatic CPU speed & power optimizer for Linux

Overview

auto-cpufreq

Automatic CPU speed & power optimizer for Linux based on active monitoring of laptop's battery state, CPU usage, CPU temperature and system load. Ultimately allowing you to improve battery life without making any compromises.

For tl;dr folks there's a: Youtube: auto-cpufreq - tool demo

Why do I need auto-cpufreq?

One of the problems with Linux today on laptops is that CPU will run in unoptimized manner which will negatively reflect on battery life. For example, CPU will run using "performance" governor with turbo boost enabled regardless if it's plugged in to power or not.

Issue can be mitigated by using tools like indicator-cpufreq or cpufreq, but these still require manual action from your side which can be daunting and cumbersome.

Using tools like TLP will help in this situation with extending battery life (which is something I did for numerous years now), but it also might come with its own set of problems, like losing turbo boost.

With that said, I needed a simple tool which would automatically make "cpufreq" related changes, save battery like TLP, but let Linux kernel do most of the heavy lifting. That's how auto-cpufreq was born.

Please note: auto-cpufreq aims to replace TLP and after you install auto-cpufreq it's recommended to remove TLP. However, if for some reason you still need/want TLP installed and running auto-cpufreq doesn't conflict and works great in tandem with TLP.

Supported architectures and devices

Supported devices must have an Intel, AMD or ARM CPU's. This tool was developed to improve performance and battery life on laptops, but running it on desktop/servers (to lower power consumption) should also be possible.

Features

  • Monitoring
    • Basic system information
    • CPU frequency (system total & per core)
    • CPU usage (system total & per core)
    • CPU temperature (total average & per core)
    • Battery state
    • System load
  • CPU frequency scaling, governor and turbo boost management based on
    • Battery state
    • CPU usage (total & per core)
    • CPU temperature in combination with CPU utilization/load (prevent overheating)
    • System load
  • Automatic CPU & power optimization (temporary and persistent)

Installing auto-cpufreq

Snap store

auto-cpufreq is available on snap store, or can be installed using CLI:

sudo snap install auto-cpufreq

Please note:

auto-cpufreq-installer

Get source code, run installer and follow on screen instructions:

git clone https://github.com/AdnanHodzic/auto-cpufreq.git
cd auto-cpufreq && sudo ./auto-cpufreq-installer

In case you encounter any problems with auto-cpufreq-installer, please submit a bug report.

AUR package (Arch/Manjaro Linux)

AUR package is available for install. After which auto-cpufreq will be available as a binary and you can refer to auto-cpufreq modes and options.

Please note: If you want to install auto-cpufreq daemon, do not run auto-cpufreq --install otherwise you'll run into an issue: #91, #96.

Instead run systemctl start auto-cpufreq to start the service. Run systemctl status auto-cpufreq to see the status of service, and systemctl enable auto-cpufreq for service to persist running accross reboots.

Configuring auto-cpufreq

You can configure profiles for battery and power supply. These profiles will let you pick which governor to use and how and when turbo boost is enabled. The possible values for turbo boost behavior are always, auto and never. The default behavior is auto, which only kicks in during high load.

Default location where config needs to be placed for it to be read automatically: /etc/auto-cpufreq.conf

Example config contents

# settings for when connected to a power source
[charger]
# see available governors by running: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
# preferred governor.
governor = performance

# turbo boost setting. possible values: always, auto, never
turbo = auto

# settings for when using battery power
[battery]
# see available governors by running: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
# preferred governor
governor = powersave

# turbo boost setting. possible values: always, auto, never
turbo = auto

How to run auto-cpufreq

auto-cpufreq can be run by simply running the auto-cpufreq and following on screen instructions, i.e:

sudo auto-cpufreq

auto-cpufreq modes and options

Monitor

sudo auto-cpufreq --monitor

No changes are made to the system, and is solely made for demonstration purposes what auto-cpufreq could do differently for your system.

Live

sudo auto-cpufreq --live

Necessary changes are temporarily made to the system which are lost with system reboot. This mode is made to evaluate what the system would behave with auto-cpufreq permanently running on the system.

Install - auto-cpufreq daemon

Necessary changes are made to the system for auto-cpufreq CPU optimizaton to persist across reboots. Daemon is deployed and then started as a systemd service. Changes are made automatically and live stats are generated for monitoring purposes.

sudo auto-cpufreq --install

After daemon is installed, auto-cpufreq is available as a binary and is running in the background. Its stats can be viewed by running: auto-cpufreq --stats

Since daemon is running as a systemd service, its status can be seen by running:

systemctl status auto-cpufreq

If install has been performed as part of snap package, daemon status can be verified by running:

systemctl status snap.auto-cpufreq.service.service

Remove - auto-cpufreq daemon

auto-cpufreq daemon and its systemd service, along with all its persistent changes can be removed by running:

sudo auto-cpufreq --remove

Stats

If daemon has been installed, live stats of CPU/system load monitoring and optimization can be seen by running:

auto-cpufreq --stats

Troubleshooting

Q: If after installing auto-cpufreq you're (still) experiencing:

  • high CPU temperatures
  • CPU is not scaling to minimum/maximum frequencies
  • suboptimal CPU peformance

A: If you're using intel_pstate CPU management driver consider changing it to: acpi-cpufreq.

This can be done by editting /etc/default/grub file and appending intel_pstate=disable to GRUB_CMDLINE_LINUX_DEFAULT line, followed by sudo update-grub

Example line change:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable"

Discussion:

Donate

Showing your support and appreciation for auto-cpufreq project can be done in two ways:

  • Financial donation
  • Code contribution

Financial donation

If auto-cpufreq helped you out and you find it useful, show your appreciation by donating (any amount) to the project!

PayPal

paypal

BitCoin

bc1qlncmgdjyqy8pe4gad4k2s6xtyr8f2r3ehrnl87

bitcoin

Code contribution

Other ways of supporting the project consists of making a code or documentation contribution. If you have an idea for a new features or want to implement some of the existing feature requests or fix some of the bugs & issues. Please make your changes and submit a pull request which I'll be glad to review. If your changes are accepted you'll be credited as part of releases page.

Comments
  • Modified fixed cpu usage percentage

    Modified fixed cpu usage percentage

    Turbo should be enabled when one thread reach 100% of usage, in original version there was a fixed value of 25%, but this only works when there're 4 threads, in CPUs with more threads

    Reference: #98

    opened by rrodriguez81 37
  • Greedy apps causing overheating

    Greedy apps causing overheating

    This isn't as much as an error as what it is something that I've been observing. I often do calls on Zoom and MS Teams, both apps seem to be processor hungry. When I have auto-cpufreq enabled, turbo boost is enabled and the laptop throws everything it can at the process. This results in cores overheating to the extent that they were reaching 95oC. I subsequently had to uninstall auto-cpufreq because it couldn't be disabled.

    It would be great if auto-cpufreq had some kind of killswitch that allowed me to turn it off under such extreme cases. Even better would be if auto-cpufreq would be able to identify such cases and engage the killswitch automatically when such cases occur.

    System information:

                   +                
                   #                
                  ###               
                 #####              
                 ######             
                ; #####;            User: marco
               +##.#####            Hostname: rocinante
              +##########           Distro: Arch Linux
             #############;         Kernel: 5.7.17-2-MANJARO
            ###############+        Uptime: 13:55
           #######   #######        Window Manager: i3
         .######;     ;###;`".      Desktop Environment: 
        .#######;     ;#####.       Shell: /bin/zsh
        #########.   .########`     Terminal: xterm
       ######'           '######    Packages: 1604
      ;####                 ####;   CPU: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
      ##'                     '##   RAM: 7277 MB / 15765 MB 
     #'                         `#  Disk: 378GB / 989GB
    

    opened by marc0der 29
  • PopOS pull request Snap permission denied

    PopOS pull request Snap permission denied

    I just made the pull request that fixed #276 but after updating through the Snap repository, I get this:

    Warning: Cannot get distro name
    Pop!_OS detected
    Pop!_OS uses a symbolic link for the os-release file, this causes issues and can be fixed by converting to a hard link
    Attempting to change symlink to hard link for /etc/os-release -> /etc/pop-os/os-release
    Continue? [y/N] y
    Creating hard link for /etc/os-release
    sh: 1: sudo: Permission denied
    sh: 1: sudo: Permission denied
    

    After some searching, it seems that Snap has issues running sudo from os.system. You may want to remove PR #311 and release 1.8.2 until this issue is resolved

    opened by tyleraharrison 26
  • Always reads battery state as discharging, thus stuck on

    Always reads battery state as discharging, thus stuck on "powersave" governor on Lenovo laptop

    Problem:

    I'm using auto-cpufreq on a Lenovo ideapad 330s. My laptop is charged, and full, but auto-cpufreq stays on "powersave" governor. I updated my BIOS recently. My battery state:

    $ cat /sys/class/power_supply/BAT0/status
    Full
    

    System information:

    -------------------------------------------------------------------------------
    
    Linux distro: Arch Linux rolling n/a
    Linux kernel: 5.13.10-zen1-1-zen
    Processor: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
    Cores: 8
    Architecture: x86_64
    Driver: intel_pstate
    
    ------------------------------ Current CPU stats ------------------------------
    
    CPU max frequency: 1600 MHz
    CPU min frequency: 400 MHz
    
    Core	Usage	Temperature	Frequency
    CPU0:	13.0%     50 °C      752 MHz
    CPU1:	11.0%     49 °C      771 MHz
    CPU2:	10.0%     48 °C     1800 MHz
    CPU3:	12.7%     48 °C     1800 MHz
    CPU4:	 6.9%     50 °C     1800 MHz
    CPU5:	 9.0%     49 °C     1800 MHz
    CPU6:	 6.0%     48 °C     1800 MHz
    CPU7:	 9.1%     48 °C      777 MHz
    
    auto-cpufreq version:
    Version         : 1.6.4.r225.3807d6d-1
    
    Python: 3.9.6
    psutil package: 5.8.0
    platform package: 1.0.8
    click package: 8.0.1
    distro package 1.5.0
    
    Computer type: Notebook
    Battery is: discharging
    
    auto-cpufreq system resource consumption:
    cpu usage: 0.0 %
    memory use: 0.21 %
    
    Total CPU usage: 9.8 %
    Total system load: 1.74
    Average temp. of all cores: 48.75 °C 
    
    Currently using: powersave governor
    Currently turbo boost is: off
    
    -------------------------------------------------------------------------------
    

    opened by AmitGolden 26
  • after auto start on system boot, daemon has stopped by new gnome41 power managment feature

    after auto start on system boot, daemon has stopped by new gnome41 power managment feature

    Error output:

    Nov 12 16:55:09 arch systemd[1]: Starting Daemon for power management...
    Nov 12 16:55:09 arch systemd[1]: Stopping auto-cpufreq - Automatic CPU speed & power optimizer for Linux...
    Nov 12 16:55:09 arch systemd[1]: Starting Power Profiles daemon...
    Nov 12 16:55:09 arch systemd[1]: auto-cpufreq.service: Deactivated successfully.
    Nov 12 16:55:09 arch systemd[1]: Stopped auto-cpufreq - Automatic CPU speed & power optimizer for Linux.
    Nov 12 16:55:09 arch audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=auto-cpufreq comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=>
    

    Maybe for resolve this situation disable gnome power managment feature deamon is enough.

    opened by hayer969 24
  • AttributeError: 'NoneType' object has no attribute 'power_plugged'

    AttributeError: 'NoneType' object has no attribute 'power_plugged'

    My laptop is fully charged, and connected to the socket, and when run auto-cpufreq --log see the following error:

    Traceback (most recent call last):
      File "/usr/bin/auto-cpufreq", line 437, in <module>
        cli()
      File "/usr/lib/python3/dist-packages/click/core.py", line 764, in __call__
        return self.main(*args, **kwargs)
      File "/usr/lib/python3/dist-packages/click/core.py", line 717, in main
        rv = self.invoke(ctx)
      File "/usr/lib/python3/dist-packages/click/core.py", line 956, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/usr/lib/python3/dist-packages/click/core.py", line 555, in invoke
        return callback(*args, **kwargs)
      File "/usr/bin/auto-cpufreq", line 401, in cli
        set_autofreq()
      File "/usr/bin/auto-cpufreq", line 243, in set_autofreq
        bat_state = p.sensors_battery().power_plugged
    AttributeError: 'NoneType' object has no attribute 'power_plugged'
    
    opened by zshamrock 24
  • KeyError: 'coretemp'

    KeyError: 'coretemp'

    From another directory I got this (file does not exist): cp: no se puede efectuarstat' sobre 'scripts/cpufreqctl.sh': No existe el fichero o el directorio`

    But, executing when pwd is inside the directory auto-cpufreq, then the error mensaje is this:

    python3 auto-cpufreq.py --monitor
    
    ----------------------------- System information ------------------------------
    
    Linux distro: PCLinuxOS 2020 PCLinuxOS
    Linux kernel: 5.4.8-pclos1
    Driver: intel_pstate
    Architecture: x86_64
    Processor: Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz
    Cores: 4
    
    ------------------------------ Current CPU states ------------------------------
    
    CPU max frequency: 
    3200 MHz
    
    CPU frequency for each core:
    
    CPU0: 1898 MHz
    CPU1: 1702 MHz
    CPU2: 2149 MHz
    CPU3: 1566 MHz
    
    Temperature for each physical core:
    
    Traceback (most recent call last):
      File "auto-cpufreq.py", line 437, in <module>
        cli()
      File "/usr/local/lib64/python3.6/site-packages/click/core.py", line 764, in __call__
        return self.main(*args, **kwargs)
      File "/usr/local/lib64/python3.6/site-packages/click/core.py", line 717, in main
        rv = self.invoke(ctx)
      File "/usr/local/lib64/python3.6/site-packages/click/core.py", line 956, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/usr/local/lib64/python3.6/site-packages/click/core.py", line 555, in invoke
        return callback(*args, **kwargs)
      File "auto-cpufreq.py", line 410, in cli
        sysinfo()
      File "auto-cpufreq.py", line 338, in sysinfo
        print("CPU" + str(core_num) + " temp: {:.0f}".format(core_temp['coretemp'][core_num].current) + "°C")
    KeyError: 'coretemp'
    
    opened by racuna 24
  • AttributeError: 'NoneType' object has no attribute 'percent'

    AttributeError: 'NoneType' object has no attribute 'percent'

    ~]# auto-cpufreq --monitor

    Note: You can quit monitor mode by pressing "ctrl+c"


    Linux distro: CentOS Linux 7 Core Linux kernel: 3.10.0-1160.66.1.el7.x86_64 Processor: Intel(R) Xeon(R) Gold 6230R CPU @ 2.10GHz Cores: 52 Architecture: x86_64 Driver: intel_pstate

    ------------------------------ Current CPU stats ------------------------------

    CPU max frequency: 4000 MHz CPU min frequency: 1000 MHz

    Core Usage Temperature Frequency CPU0: 98.0% 72 °C 2728 MHz CPU1: 100.0% 72 °C 2728 MHz CPU2: 100.0% 78 °C 2727 MHz CPU3: 100.0% 76 °C 2728 MHz CPU4: 100.0% 79 °C 2728 MHz CPU5: 100.0% 75 °C 2728 MHz CPU6: 100.0% 74 °C 2720 MHz CPU7: 100.0% 73 °C 2728 MHz CPU8: 100.0% 71 °C 2720 MHz CPU9: 100.0% 80 °C 2720 MHz CPU10: 99.0% 79 °C 2721 MHz CPU11: 100.0% 81 °C 2728 MHz CPU12: 100.0% 79 °C 2728 MHz CPU13: 100.0% 70 °C 2728 MHz CPU14: 100.0% 73 °C 2728 MHz CPU15: 100.0% 74 °C 2728 MHz CPU16: 99.0% 79 °C 2728 MHz CPU17: 98.0% 79 °C 2727 MHz CPU18: 100.0% 82 °C 2728 MHz CPU19: 100.0% 78 °C 2728 MHz CPU20: 100.0% 70 °C 2728 MHz CPU21: 100.0% 74 °C 2729 MHz CPU22: 99.0% 74 °C 2728 MHz CPU23: 100.0% 78 °C 2728 MHz CPU24: 100.0% 77 °C 2728 MHz CPU25: 98.0% 81 °C 2728 MHz CPU26: 100.0% 72 °C 2728 MHz CPU27: 100.0% 72 °C 2728 MHz CPU28: 100.0% 78 °C 2728 MHz CPU29: 100.0% 76 °C 2728 MHz CPU30: 100.0% 79 °C 2728 MHz CPU31: 100.0% 75 °C 2720 MHz CPU32: 100.0% 74 °C 2722 MHz CPU33: 99.0% 73 °C 2720 MHz CPU34: 100.0% 71 °C 2730 MHz CPU35: 99.0% 80 °C 2728 MHz CPU36: 100.0% 79 °C 2727 MHz CPU37: 98.0% 81 °C 2728 MHz CPU38: 99.0% 79 °C 2728 MHz CPU39: 100.0% 70 °C 2720 MHz CPU40: 100.0% 73 °C 2729 MHz CPU41: 100.0% 74 °C 2720 MHz CPU42: 100.0% 79 °C 2731 MHz CPU43: 99.0% 79 °C 2720 MHz CPU44: 100.0% 82 °C 2729 MHz CPU45: 100.0% 78 °C 2720 MHz CPU46: 100.0% 70 °C 2720 MHz CPU47: 100.0% 74 °C 2728 MHz CPU48: 97.0% 74 °C 2730 MHz CPU49: 99.0% 78 °C 2720 MHz CPU50: 100.0% 77 °C 2729 MHz CPU51: 100.0% 81 °C 2720 MHz

    ---------------------------- CPU frequency scaling ----------------------------

    Traceback (most recent call last): File "/opt/auto-cpufreq/venv/bin/auto-cpufreq", line 4, in import('pkg_resources').run_script('auto-cpufreq==1.9.6', 'auto-cpufreq') File "/opt/auto-cpufreq/venv/lib/python3.7/site-packages/pkg_resources/init.py", line 667, in run_script self.require(requires)[0].run_script(script_name, ns) File "/opt/auto-cpufreq/venv/lib/python3.7/site-packages/pkg_resources/init.py", line 1471, in run_script exec(script_code, namespace, namespace) File "/opt/auto-cpufreq/venv/lib/python3.7/site-packages/auto_cpufreq-1.9.6-py3.7.egg/EGG-INFO/scripts/auto-cpufreq", line 226, in File "/opt/auto-cpufreq/venv/lib/python3.7/site-packages/click/core.py", line 1130, in call return self.main(*args, **kwargs) File "/opt/auto-cpufreq/venv/lib/python3.7/site-packages/click/core.py", line 1055, in main rv = self.invoke(ctx) File "/opt/auto-cpufreq/venv/lib/python3.7/site-packages/click/core.py", line 1404, in invoke return ctx.invoke(self.callback, **ctx.params) File "/opt/auto-cpufreq/venv/lib/python3.7/site-packages/click/core.py", line 760, in invoke return __callback(*args, kwargs) File "/opt/auto-cpufreq/venv/lib/python3.7/site-packages/auto_cpufreq-1.9.6-py3.7.egg/EGG-INFO/scripts/auto-cpufreq", line 101, in main File "/opt/auto-cpufreq/venv/lib/python3.7/site-packages/auto_cpufreq-1.9.6-py3.7.egg/auto_cpufreq/core.py", line 1018, in mon_autofreq File "/opt/auto-cpufreq/venv/lib/python3.7/site-packages/auto_cpufreq-1.9.6-py3.7.egg/auto_cpufreq/core.py", line 262, in battery_percentage ** AttributeError: 'NoneType' object has no attribute 'percent'

    ================================================================================

    gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
    Python 3.7.14
    CentOS Linux release 7.9.2009 (Core)
    Kernel: 3.10.0-1160.66.1.el7.x86_64
    pip 22.0.4
    
    
    opened by vinograd-cyber 23
  • On Battery, auto-cpufreq overides gamemode's governor to powersave instead of performance

    On Battery, auto-cpufreq overides gamemode's governor to powersave instead of performance

    Gamemode sets the governor to performance when a game is launched which is useful as some games are unplayable (low fps) in powersave governor (though this feature is only relevant on battery since AC is set to performance anyways).

    On battery auto-cpufreq seems to constantly set the governor to powersave (around every 4-5 seconds) even after launching a game with gamemode. This results in games unable to be run in performance governor while on battery with auto-cpufreq unless I configure it to use performance while on battery which defeats its purpose.

    It's not really a big deal since I mostly play games while connected to AC but it is very noticeable when I disconnect the AC to battery mode whilst in the middle of a game.

    opened by ghost 23
  • My fan was running a lot

    My fan was running a lot

    I noticed my fan was running a lot. So I uninstalled auto-cpufreq and tried power-profiles-daemon instead. That app comes with the command powerprofilesctl, which prints:

      performance:
        Driver:     intel_pstate
        Degraded:   yes (high-operating-temperature)
    

    If the performance option is degraded, I would think it preferable to not run it. Now that it's not running via auto-cpufreq, my fan doesn't run so much.

    • OS: Arch Linux x86_64
    • Host: Latitude 7480
    • Kernel: 5.15.12-arch1-1
    • CPU: Intel i5-6300U (4) @ 2.4GHz
    opened by Pound-Hash 22
  • Add min/max allowed frequencies option (#309)

    Add min/max allowed frequencies option (#309)

    Setting the minimum/maximum allowed CPU frequencies is now possible via 'scaling_min_freq' and 'scaling_max_freq' options in config for both modes (charger and battery). Values should be given in kHZ.

    Example: scaling_min_freq = 1800000 scaling_max_freq = 2000000

    I also did autoformatting via 'black', using --line-length 100. Code is now a bit tidier than before.

    opened by varaki 21
  • [Feature] Performance Powersave toggler.

    [Feature] Performance Powersave toggler.

    The tools are working fine. Just have one request it should have a cli way of interaction to switch the governor.

    e.g currently, my config states that on charging the governor should be performance and when not on AC it should be powersave

    This ramps up my fan while charging. sometimes I want it to be on powersave even when it is charging to keep my fan silent. and for that I have to change the config and reload auto-cpufreq

    I want the feature to be something like

    auto-cpufreq --force governer powersave    # This should keep the governer to powersave mode no matter what the state is.
    auto-cpufreq --force governer performance # This should keep the governer to performance mode no matter what the state is (AC or on Battery)
    auto-cpufreq --force reset # resets to the config state.
    auto-cpufreq --state # (should return powersave,performance,reseted) So that the user can create a indicator in it's bar config.
    
    opened by niksingh710 0
  • System incredibly slow after kernel update

    System incredibly slow after kernel update

    After the latest kernel update, my laptop has become incredibly slow. OS: Arch Linux Kernel Version: 6.0.11-arch1-1

    While auto-cpufreq is running, my cpu frequency on all cores seems to go down as far as 409 Hz.

    I did stumble upon this reddit post which identified the issue as the new AMD p-state driver. But I didn't see the error reported here, so just passing it along.

    As of now, I've had to disable auto-cpufreq to get a usable system.

    System information:

    -------------------------------------------------------------------------------
    
    Linux distro: Arch Linux
    Linux kernel: 6.0.11-arch1-1
    Processor: AMD Ryzen 5 5500U with Radeon Graphics
    Cores: 12
    Architecture: x86_64
    Driver: amd-pstate
    
    ------------------------------ Current CPU stats ------------------------------
    
    CPU max frequency: 2100 MHz
    CPU min frequency: 400 MHz
    
    Core	Usage	Temperature	Frequency
    CPU0:	 10.6%     31 °C      409 MHz
    CPU1:	  0.0%     31 °C      400 MHz
    CPU2:	  8.1%     31 °C      409 MHz
    CPU3:	  2.1%     31 °C      409 MHz
    CPU4:	  8.2%     31 °C      409 MHz
    CPU5:	  8.4%     31 °C      409 MHz
    CPU6:	  5.2%     31 °C      409 MHz
    CPU7:	  2.0%     31 °C      409 MHz
    CPU8:	  6.1%     31 °C      409 MHz
    CPU9:	  6.9%     31 °C      409 MHz
    CPU10:	  6.9%     31 °C      409 MHz
    CPU11:	  1.0%     31 °C      400 MHz
    
    CPU fan speed: 0 RPM
    
    auto-cpufreq version: Version         : 1.9.7-1
    
    Python: 3.10.8
    psutil package: 5.9.4
    platform package: 1.0.8
    click package: 8.1.3
    distro package: 1.8.0
    
    Computer type: Notebook
    Battery is: discharging
    
    auto-cpufreq system resource consumption:
    cpu usage: 0.0 %
    memory use: 0.36 %
    
    Total CPU usage: 7.7 %
    Total system load: 1.69
    Average temp. of all cores: 30.85 °C
    
    Currently using: powersave governor
    Currently turbo boost is: off
    
    -------------------------------------------------------------------------------
    
    opened by clifordjoshy 8
  • Auto-cpufreq not autostarting via systemctl

    Auto-cpufreq not autostarting via systemctl

    Fill out information requested in this template, without doing so issue will be ignored & closed!

    Auto-cpufreq will not auto start on laptop boot. I have enabled the daemon via systemctl and I have to manually start the daemon every time i boot my laptop which is not optimal.

    Have you tried?

    System information:

    Add/paste output of:

    auto-cpufreq --debug
    Linux distro: EndeavourOS rolling rolling
    Linux kernel: 6.0.10-arch2-1
    Processor: 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz
    Cores: 16
    Architecture: x86_64
    Driver: acpi-cpufreq
    
    ------------------------------ Current CPU stats ------------------------------
    
    CPU max frequency: 2501 MHz
    CPU min frequency: 800 MHz
    
    Core	Usage	Temperature	Frequency
    CPU0:	  2.0%     51 °C      800 MHz
    CPU1:	  8.9%     53 °C      800 MHz
    CPU2:	  0.0%     49 °C      800 MHz
    CPU3:	  0.0%     51 °C      800 MHz
    CPU4:	  0.0%     52 °C      800 MHz
    CPU5:	  0.0%     52 °C      800 MHz
    CPU6:	  2.0%     59 °C      800 MHz
    CPU7:	  2.0%     53 °C      800 MHz
    CPU8:	  1.0%     51 °C     2501 MHz
    CPU9:	  0.0%     53 °C      800 MHz
    CPU10:	  1.0%     49 °C      800 MHz
    CPU11:	  0.0%     51 °C      800 MHz
    CPU12:	  1.0%     52 °C     1600 MHz
    CPU13:	  0.0%     52 °C      801 MHz
    CPU14:	  0.0%     59 °C     1210 MHz
    CPU15:	  2.0%     53 °C     1283 MHz
    
    auto-cpufreq version: 1.9.6
    
    Python: 3.10.8
    psutil package: 5.9.4
    platform package: 1.0.8
    click package: 8.1.3
    distro package: 1.8.0
    
    Computer type: Notebook
    Battery is: charging
    
    auto-cpufreq system resource consumption:
    cpu usage: 0.0 %
    memory use: 0.08 %
    
    Total CPU usage: 0.4 %
    Total system load: 0.89
    Average temp. of all cores: 52.50 °C
    
    Currently using: schedutil governor
    Currently turbo boost is: on
    

    I have tried uninstalling and reinstalling the package. I am using the aur version of auto-cpufreq (not git version)


    opened by conrad-mo 7
  • Mount snap

    Mount snap "auto-cpufreq" (82) (installation not allowed by "etc-auto-cpufreq-conf" plug rule of interface "system-files" for "auto-cpufreq" snap)

    Hi Team,

    I cannot install auto-cpufreq via snap in Raspberry Pi 3 Model B Plus Rev 1.3. Initially, i tried this approach;

    git clone https://github.com/AdnanHodzic/auto-cpufreq.git
    cd auto-cpufreq && sudo ./auto-cpufreq-installer
    

    However, i have the same exp with; https://github.com/AdnanHodzic/auto-cpufreq/issues/192

    So i tried to install via snap as suggested; however, i cannot get it working on my machine. I'm getting these error messages;

    $ sudo snap install auto-cpufreq
    error: cannot perform the following tasks:
    - Mount snap "auto-cpufreq" (82) (installation not allowed by "etc-auto-cpufreq-conf" plug rule of interface "system-files" for "auto-cpufreq" snap)
    

    System information:

    $ snap --version
    snap      2.57.5
    snapd     2.57.5
    series    16
    raspbian  11
    kernel    5.15.76-v7+
    
    $ cat /proc/cpuinfo
    processor	: 0
    model name	: ARMv7 Processor rev 4 (v7l)
    BogoMIPS	: 38.40
    Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
    CPU implementer	: 0x41
    CPU architecture: 7
    CPU variant	: 0x0
    CPU part	: 0xd03
    CPU revision	: 4
    
    processor	: 1
    model name	: ARMv7 Processor rev 4 (v7l)
    BogoMIPS	: 38.40
    Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
    CPU implementer	: 0x41
    CPU architecture: 7
    CPU variant	: 0x0
    CPU part	: 0xd03
    CPU revision	: 4
    
    processor	: 2
    model name	: ARMv7 Processor rev 4 (v7l)
    BogoMIPS	: 38.40
    Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
    CPU implementer	: 0x41
    CPU architecture: 7
    CPU variant	: 0x0
    CPU part	: 0xd03
    CPU revision	: 4
    
    processor	: 3
    model name	: ARMv7 Processor rev 4 (v7l)
    BogoMIPS	: 38.40
    Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
    CPU implementer	: 0x41
    CPU architecture: 7
    CPU variant	: 0x0
    CPU part	: 0xd03
    CPU revision	: 4
    
    Hardware	: BCM2835
    Revision	: a020d3
    Serial		: 00000000c3715c32
    Model		: Raspberry Pi 3 Model B Plus Rev 1.3
    
    $ cat /etc/*release
    PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
    NAME="Raspbian GNU/Linux"
    VERSION_ID="11"
    VERSION="11 (bullseye)"
    VERSION_CODENAME=bullseye
    ID=raspbian
    ID_LIKE=debian
    HOME_URL="http://www.raspbian.org/"
    SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
    BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
    

    Any suggestions on how to go about this?

    opened by kurtobando 6
  • auto-cpufreq not starting

    auto-cpufreq not starting

    Have you tried?

    Error output:

    × auto-cpufreq.service - auto-cpufreq - Automatic CPU speed & power optimizer for Linux
         Loaded: loaded (/usr/lib/systemd/system/auto-cpufreq.service; enabled; preset: disabled)
         Active: failed (Result: exit-code) since Sun 2022-11-13 12:04:04 IST; 6min ago
       Duration: 1.849s
        Process: 20391 ExecStart=/usr/bin/auto-cpufreq --daemon (code=exited, status=1/FAILURE)
       Main PID: 20391 (code=exited, status=1/FAILURE)
            CPU: 787ms
    
    Nov 13 12:04:04 Optiplex-790 auto-cpufreq[20391]:     return __callback(*args, **kwargs)
    Nov 13 12:04:04 Optiplex-790 auto-cpufreq[20391]:   File "/usr/bin/auto-cpufreq", line 79, in main
    Nov 13 12:04:04 Optiplex-790 auto-cpufreq[20391]:     set_autofreq()
    Nov 13 12:04:04 Optiplex-790 auto-cpufreq[20391]:   File "/usr/lib/python3.10/site-packages/auto_cpufreq/core.py", line 1002, in set_autofreq
    Nov 13 12:04:04 Optiplex-790 auto-cpufreq[20391]:     print("Battery is: charging (" + str(battery_percentage()) + "%)\n")
    Nov 13 12:04:04 Optiplex-790 auto-cpufreq[20391]:   File "/usr/lib/python3.10/site-packages/auto_cpufreq/core.py", line 262, in battery_percentage
    Nov 13 12:04:04 Optiplex-790 auto-cpufreq[20391]:     return round(psutil.sensors_battery().percent)
    Nov 13 12:04:04 Optiplex-790 auto-cpufreq[20391]: AttributeError: 'NoneType' object has no attribute 'percent'
    Nov 13 12:04:04 Optiplex-790 systemd[1]: auto-cpufreq.service: Main process exited, code=exited, status=1/FAILURE
    Nov 13 12:04:04 Optiplex-790 systemd[1]: auto-cpufreq.service: Failed with result 'exit-code'.
    

    System information:

    Add/paste output of:

    [email protected] in ~ took 318ms
     × sudo auto-cpufreq --debug
    [sudo] password for sayed:
    -------------------------------------------------------------------------------
    
    Linux distro: Liya 2022.11 Rolling n/a
    Linux kernel: 5.15.75-xanmod1-1.1-lts
    Processor: Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz
    Cores: 4
    Architecture: x86_64
    Driver: intel_cpufreq
    
    ------------------------------ Current CPU stats ------------------------------
    
    CPU max frequency: 3700 MHz
    CPU min frequency: 1600 MHz
    
    Core	Usage	Temperature	Frequency
    CPU0:	  7.1%     71 °C     3700 MHz
    CPU1:	  6.9%     74 °C     3059 MHz
    CPU2:	  8.0%     71 °C     3700 MHz
    CPU3:	  7.8%     72 °C     3378 MHz
    
    auto-cpufreq version: 1.9.6
    
    Python: 3.10.8
    psutil package: 5.9.3
    platform package: 1.0.8
    click package: 8.1.3
    distro package: 1.8.0
    
    Computer type: Lunch Box
    Battery is: charging
    
    auto-cpufreq system resource consumption:
    cpu usage: 0.0 %
    memory use: 0.34 %
    
    Total CPU usage: 7.5 %
    Total system load: 1.39
    Average temp. of all cores: 72.00 °C
    
    Currently using: performance governor
    Currently turbo boost is: on
    
    -------------------------------------------------------------------------------
    

    Auto-cpufreq fails to start Package Manager Is Pacman


    opened by mdhishamsayed 8
  • CPU not scaling up in battery mode [Kernel 5.17 with amd-pstate driver]

    CPU not scaling up in battery mode [Kernel 5.17 with amd-pstate driver]

    Hello,

    first of all thanks for this very helpful tool. I just installed kernel 5.17 (including the new amd-pstate driver) on my system and am experiencing weird behaviour when using auto-cpufreq. First of all, the "min" and "max" frequencies seem to adjust dynamically (seen in auto-cpufreq --stats). I tested the following scenarios while running prime95 (full cpu-load simulation). When charging, the freq goes only up to 2.3 GHz on all cores, and in battery mode I barely reach 1 GHz. I also experienced low frequencies (when on battery) with kernel 5.15 and the acpi driver.

    I tried installing auto-cpufreq through the AUR package, as well as from source. Am I doing something wrong, or is using the new amd-pstate driver a bad idea in general?

    Thank you very much!

    Output of auto-cpufreq --debug ### System information:

    Base clock = 1.8 GHz Boost = up to 4.3 GHz


    Linux distro: Manjaro Linux 21.2.6 Qonos Linux kernel: 5.17.9-1-MANJARO Processor: AMD Ryzen 7 5700U with Radeon Graphics Cores: 16 Architecture: x86_64 Driver: amd-pstate

    ------------------------------ Current CPU stats ------------------------------

    CPU max frequency: 1801 MHz CPU min frequency: 400 MHz

    Core Usage Temperature Frequency CPU0: 5.8% 51 °C 1801 MHz CPU1: 1.0% 51 °C 1776 MHz CPU2: 5.0% 51 °C 1801 MHz CPU3: 0.0% 51 °C 1801 MHz CPU4: 1.0% 51 °C 1801 MHz CPU5: 1.0% 51 °C 1801 MHz CPU6: 1.0% 51 °C 1801 MHz CPU7: 0.0% 51 °C 1801 MHz CPU8: 2.0% 51 °C 1801 MHz CPU9: 0.0% 51 °C 1801 MHz CPU10: 0.0% 51 °C 1801 MHz CPU11: 0.0% 51 °C 1801 MHz CPU12: 1.0% 51 °C 1801 MHz CPU13: 0.0% 51 °C 1801 MHz CPU14: 7.4% 51 °C 1801 MHz CPU15: 0.0% 51 °C 1801 MHz

    auto-cpufreq version: 1.9.4

    Python: 3.10.4 psutil package: 5.9.1 platform package: 1.0.8 click package: 8.1.3 distro package: 1.7.0

    Computer type: Convertible Battery is: charging

    auto-cpufreq system resource consumption: cpu usage: 0.0 % memory use: 0.07 %

    Total CPU usage: 2.3 % Total system load: 0.38 Average temp. of all cores: 50.88 °C

    Currently using: performance governor Currently turbo boost is: off


    opened by mldytech 12
Releases(v1.9.7)
  • v1.9.7(Dec 5, 2022)

    Bug fixes and improvements:

    • Add functionality to display system load average
    • Removed battery percentage
    • Use usr/local/bin instead of usr/bin for Silverblue and other immutable OSs #460 #449
    • Add wheel to dependencies (speed up install) #447
    • Fixed bug where turbo boost will always be on in performance mode #455
    • Documentation update/revamp #458
    • Fix for auto-cpufreq-installer regression in #460 (#462)
    • Improve auto-cpufreq installer (#459)

    Thanks to our contributors for this release!

    • @BowDown097
    • @johnseekins
    • @R1D3R175
    • @gimbles
    • @abvee
    Source code(tar.gz)
    Source code(zip)
  • v1.9.6(Sep 11, 2022)

    Bug fixes and improvements:

    • Don't overwrite /usr/bin/cpufreqctl.auto-cpufreq excessively #420
    • Add s6 script for auto-cpufreq install #421
    • Omit the --all flag from calling nproc to get actual number of cores #423
    • CPU fan speed display patch #431
    • Replaced obsolete "egrep" calls with "grep -E" #435
    • Code optimization & addition of battery percentage #432
    • Switch to the properly maintained AUR package #433

    Thanks to our contributors for this release!

    • @zoitrok
    • @AnasR7
    • @SunkenHero
    • @hingen
    • @xd003
    Source code(tar.gz)
    Source code(zip)
  • v1.9.5(Aug 10, 2022)

    Bug fixes and improvements:

    • Upgrade to Snap Core 22
    • Catch exception in call to psutil .cmdline() (#413)
    • Fix multiple typos as reported by typos #410
    • Fix daemon typo #409
    • Running "auto-cpufreq" itself returns an error (#408)

    Thanks to our contributors for this release!

    • @m-GDEV
    • @tacheometry
    • @ishaanbhimwal
    • @zoitrok
    Source code(tar.gz)
    Source code(zip)
  • v1.9.4(Jun 6, 2022)

    Bug fixes and improvements:

    • auto-cpufreq now refreshes CPU frequencies in (near) real time #132
    • Revamped mechanism how log file is emptied (optimize & increase execution speed)
    • Fixed "Average all core temp/Total system load" fields being displayed with too many decimals #392

    Thanks to our contributors for this release!

    • @Jeroenvb3
    Source code(tar.gz)
    Source code(zip)
  • v1.9.3(Mar 10, 2022)

  • v1.9.2(Feb 20, 2022)

  • v1.9.1(Jan 9, 2022)

    Bug fixes and improvements:

    • Fixed the --version command when installed from source #347 (#344)
    • Deploy cpufreqctl on --debug and remove via installer #351
    • Stop power-profiles-daemon in live mode #350
    • Set Balanced mode on power-profiles-daemon #349
    • Ability to reset scaling frequencies to default #338 (#324)

    Thanks to our contributors for this release!

    • @bobslept
    • @varaki
    • @ariasmn
    Source code(tar.gz)
    Source code(zip)
  • v1.9.0(Dec 26, 2021)

    Features:

    • Add min/max allowed frequencies option #309 (#324)
    • Implement Python virtual environment #326 (#263, #196)

    Bug fixes and improvements:

    • Improve charging detection #332 (#331)
    • Started the solution to Snap and PopOS not working #329 (#323)
    • Add missing package Debian based venv #330
    • Reformatted codebase #325
    • Skip hid devices with battery #322 (#328, #321)
    • Fix removal of shared_dir on --remove #319
    • Rename various init scripts #317

    Thanks to our contributors for this release!

    • @bobslept
    • @varaki
    • @tyleraharrison
    • @aroundthfur
    Source code(tar.gz)
    Source code(zip)
  • v1.8.2(Dec 19, 2021)

    Bug fixes and improvements:

    • Fix for PopOS os_release problem #311
    • Support for openrc #314
    • Change the way of checking the charging state #308

    Thanks to our contributors for this release!

    • @tyleraharrison
    • @AdwaitAdk
    • @bobslept
    Source code(tar.gz)
    Source code(zip)
  • v1.8.1(Dec 11, 2021)

    Bug fixes and improvements:

    • Add a warning when using TLP #305
    • Remove package options from cpufreqctl.sh #304
    • Verify the use of supported init systems. #303
    • Check if lsb_release exists before using it #302
    • Improve init system detection along with support for runit as part of Void, Artix Linux #300, #301

    Thanks to our contributors for this release!

    • @bobslept
    Source code(tar.gz)
    Source code(zip)
  • v1.8.0(Dec 5, 2021)

    Features:

    • Detect if GNOME Power profiles service is running and disable it automatically on install. Otherwise warn user during live or monitor mode and stats output of Snap package, along with instructions how to disable it using auto-cpufreq: power_helper #277, #296
    • Created auto-cpufreq: power_helper which allows user to manually enable/disable above mentioned daemon and see its status.
    • Due to Snap package restrictions on host environment, power_helper also allows user to enable/disable bluetooth on boot.

    Bug fixes and improvements:

    • Fix instances where charging is not recognized #281, #285
    • Correcting charge status in multi-battery setup #294

    Thanks to our contributors for this release!

    • @AmitGolden
    • @jdhonea
    • @bobslept
    Source code(tar.gz)
    Source code(zip)
  • v1.7.2(Nov 14, 2021)

    Bug fixes and improvements:

    • Remove quotes from youtube link #264
    • Turning Bluetooth off/on & Void Linux improvements #269
    • Fix auto-cpufreq-installer steps order #273
    • On laptops/notebooks, check if charging via BAT* status #274

    Thanks to our contributors for this release!

    • @PabloCastellano
    • @Animeshz
    • @4JX
    • @AmitGolden
    Source code(tar.gz)
    Source code(zip)
  • v1.7.1(Oct 17, 2021)

    Bug fixes and improvements:

    • Disable turbo when config is "never" #255
    • Remove redundant conditionals in set_performance #253
    • Daemon running msg was wrong #262

    Thanks to our contributors for this release!

    • @fpoli
    • @Yustynn
    • @aroundthfur
    Source code(tar.gz)
    Source code(zip)
  • v1.7.0(Oct 16, 2021)

    Features:

    Bug fixes and improvements:

    • Add temperature readings in thinkpad #252
    • Add Snap system-files interface to read /etc/auto-cpufreq.conf
    • Add donate menu item
    • Various other improvements in regards to menu options

    Thanks to our contributors for this release!

    • @zoitrok
    • @alexmak23
    Source code(tar.gz)
    Source code(zip)
  • v1.6.9(Sep 19, 2021)

    Bug fixes and improvements:

    • Use LZO algorithm compression for Snap package
    • Added Void Linux support (runit) #235
    • Artix runnit support #237
    • Code refactor (improved readability) of auto-cpufreq-installer #238
    • Added EndeavourOS support to auto-cpufreq-installer #211
    • Update for ArchLinux's pacman #205
    • Fixed typo for "auto-cpufeq" #198

    Thanks to our contributors for this release!

    • @InfoseccGurung
    • @ShyanJMC
    • @adam4nj
    • @jpnt
    • @explosion-mental
    Source code(tar.gz)
    Source code(zip)
  • v1.6.4(Mar 14, 2021)

  • v1.6.3(Mar 11, 2021)

    Bug fixes and improvements:

    • Fix location of auto-cpufreq in service descriptor. #187
    • Change the default behaviour of set_performance to OFF. #188

    Thanks to our contributors for this release!

    • @marc0der
    • @frankiexyz
    Source code(tar.gz)
    Source code(zip)
  • v1.6.2(Feb 21, 2021)

  • v1.6.1(Feb 7, 2021)

    Features:

    Bug fixes and improvements:

    • Remove pacman wildcard #172
    • Only query pacman when on arch and not a snap install. #173

    Thanks to our contributors for this release!

    • @yochananmarqos
    • @marc0der
    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Feb 6, 2021)

    Features:

    • Implemented mechanism to display auto-cpufreq/package version as part of --debug flag Related: #74, #137

    Bug fixes and improvements:

    • Use psutil in conjuction with dmidecode to determine ac_state #168
    • Add note/instructions on how to exit "auto-cpufreq --live/monitor/stats" #57
    • Improved computer_type
    • Add execution timestamp for to --stats | Related: #156

    Thanks to our contributors for this release!

    Source code(tar.gz)
    Source code(zip)
  • v1.5.5(Feb 4, 2021)

  • v1.5.4(Feb 3, 2021)

    Bug fixes and improvements:

    • Improve domain language around logging and stats #160
    • Unable to remove via --remove option for Snap package #161
    • Adjust CPU frequency scaling on desktop to run in "performance" governor #162
    • Use dmidecode instead of hostnamectl #163

    Thanks to our contributors for this release!

    • @marc0der
    • @ThePoorPilot
    • @librewish
    Source code(tar.gz)
    Source code(zip)
  • v1.5.3(Jan 24, 2021)

    Bug fixes and improvements:

    • Improve logging & prevent log size growth #148
    • Deliver custom parallel version of cpufreqctl #150
    • Fix Ryzen 4750U temperature output with zenpower #151
    • Add Arch-based Linux to auto-cpufreq-installer script #152
    • Improved Python file structure (rename source > auto_cpufreq) #153

    Thanks to our contributors for this release!

    • @Technical27
    • @Red-Eyed
    • @marc0der
    • @yochananmarqos
    Source code(tar.gz)
    Source code(zip)
  • v1.5.2(Jan 17, 2021)

    Bug fixes and improvements:

    • Disable setting EPP if HWP is active and governor is set to "performance" (#138)
    • Improved OpenSUSE detection (#135 )

    Thanks to our contributors for this release!

    • @NJOYSoftware
    • @freshgiammi
    Source code(tar.gz)
    Source code(zip)
  • v1.5.1(Dec 6, 2020)

    Bug fixes and improvements:

    • Re-calibrated performance/powersave triggers (fixed turbo always on on powersave) (#109 )
    • Resolved cpufreqctl conflict as part of AUR package (#87, #133)

    Thanks to our contributors for this release!

    • @crian
    • @yochananmarqos
    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(Dec 6, 2020)

    Features:

    • Implemented mechanism to set turbo based on CPU temperature in combination with CPU utilization/load (prevent overheating). Related: #109

    Bug fixes and improvements:

    • Fixed bug in performance boost logic (#131)
    • Added support for OpenSUSE Tumbleweed as part of auto-cpufreq-installer (#134)
    • Set to consistently use correct data across functions with cpuload & load1m

    Thanks to our contributors for this release!

    • @dfuehrer
    • @NJOYSoftware
    Source code(tar.gz)
    Source code(zip)
  • v1.3.4(Sep 28, 2020)

  • v1.3.3(Sep 24, 2020)

    Bug fixes and improvements:

    • Improved support for system info on CPU hotplug (on/offline CPU's) #119
    • Added support for Solus #122

    Thanks to our contributors for this release!

    • @Haptein
    • @natri23
    Source code(tar.gz)
    Source code(zip)
  • v1.3.2(Sep 22, 2020)

    Bug fixes and improvements:

    • Report core states as a table (#116)
    • Turbo trigger revamp, use more conservative settings (#109, #118)
    • Re-enable app_version func + add missing footer to daemon log
    • Updated dependencies for source installer (#121)

    Thanks to our contributors for this release!

    • @Haptein
    Source code(tar.gz)
    Source code(zip)
  • v1.3.1(Sep 13, 2020)

    Features:

    • Display CPU usage per each core

    Bug fixes and improvements:

    • fixed display_load function not being executed each iteration
    • handle app_version function for source install using try/except (#111)
    • properly print out daemon check message on SNAP
    Source code(tar.gz)
    Source code(zip)
Owner
Adnan Hodzic
Lead SRE @ ING Machine Learning Platform. Created few cool Open Source projects. Ex Debian Linux contributor, read more on: http://adnan.hodzic.org
Adnan Hodzic
🔆 A Python module for controlling power and brightness of the official Raspberry Pi 7

rpi-backlight A Python module for controlling power and brightness of the official Raspberry Pi 7" touch display. Note: This GIF was created using the

Linus Groh 238 Jan 08, 2023
Vvim - Keyboardless Vim interactions

This is done via a hardware glove that the user wears. The glove detects the finger's positions and translates them into key presses. It's currently a work in progress.

Boyd Kane 8 Nov 17, 2022
Trajectory optimization package for Mini-Pupper robot

Trajectory optimization package for Mini-Pupper robot Purpose of this repository is to provide low-torque and low-impact trajectory for Mini-Pupper qu

Sotaro Katayama 38 Aug 17, 2022
A simple Python script for toggling Philips Hue Lights by clapping

LightsClap A simple Python script for toggling Philips Hue Lights by clapping Usage pip3 install -r requirements.txt python3 main.py and press the Ent

Flux Industries 2 Nov 16, 2021
NYCT-GTFS - Real-time NYC subway data parsing for humans

NYCT-GTFS - Real-time NYC subway data parsing for humans This python library provides a human-friendly, native python interface for dealing with the N

Andrew Dickinson 37 Dec 27, 2022
Modeling and Simulation of Satellite Servicing Manipulators

Modeling and Simulation of Satellite Servicing Manipulators Final Project for the course ENPM662: Introduction to Robot Modeling (Fall 2021). This pro

Adarsh M 1 Jan 24, 2022
Hook and simulate global keyboard events on Windows and Linux.

keyboard Take full control of your keyboard with this small Python library. Hook global events, register hotkeys, simulate key presses and much more.

BoppreH 3.2k Dec 30, 2022
Monorepo for my Raspberry Pi dashboard and GPS satellite listener.

🥧 pi dashboard My blog post: Listening to Satellites with my Raspberry Pi This is the monorepo for my Raspberry Pi dashboard!

Andrew Healey 27 Jun 08, 2022
This OctoPrint plugin will make the initial connection to 3D Hub a breeze

3D Hub Connector This OctoPrint plugin will make the initial connection to 3D Hub a breeze. In future it will help in setting up a tunnel connection a

3D Hub 2 Aug 03, 2022
Monitor an EnvisaLink alarm module running Honeywell firmware, and set a Nest device to Home/Away depending on whether the alarm is Disarmed/Away.

Nestalarm Monitor an EnvisaLink alarm module running Honeywell firmware, and set a Nest device to Home/Away depending on whether the alarm is Disarmed

1 Dec 30, 2021
SPI driven CircuitPython driver for PCA9745B constant current LED driver.

Introduction THIS IS VERY MUCH ALPHA AND IN ACTIVE DEVELOPMENT. THINGS WILL BREAK! THIS MAY ALSO BREAK YOUR THINGS! SPI driven CircuitPython driver fo

Andrew Ferguson 1 Jan 14, 2022
Python library to manipulate Ingenico mobile payment device like iCT220 or iWL220 equipped with Telium Manager. RS232/USB.

Python library to manipulate Ingenico mobile payment device like iCT220 or iWL220 equipped with Telium Manager. RS232/USB.

TAHRI Ahmed R. 72 Dec 24, 2022
The PicoEMP is a low-cost Electromagnetic Fault Injection (EMFI) tool,

ChipSHOUTER-PicoEMP The PicoEMP is a low-cost Electromagnetic Fault Injection (EMFI) tool, designed specifically for self-study and hobbiest research.

NewAE Technology Inc. 312 Jan 07, 2023
DOS-like OS for RP2040 basic microcontroller boards

Micropython DOS-like OS for RP2040 microcontroller boards. Check out the demo video at https://www.youtube.com/watch?v=Az_oiq8GE4Y To start the OS typ

RetiredWizard 58 Dec 27, 2022
Simple Python script to decode and verify an European Health Certificate QR-code

A simple Python script to decode and verify an European Health Certificate QR-code.

Mathias Panzenböck 61 Oct 05, 2022
ESP32 micropython implementation of Art-Net client

E_uArtnet ESP32 micropython implementation of Art-Net client Instalation Use thonny Open the root folder in thonny and upload the Empire folder like i

2 Dec 07, 2021
A iot Bike sytem based on RaspberryPi, Ardiuino

Cyclic 's Kernel ---- A iot Bike sytem based on RaspberryPi, Ardiuino, etc 0x1 What is This? Cyclic 's Kernel is an independent System With self-produ

Retr0mous 2 Oct 09, 2022
Authentication provider using Synology DSM users for Home Assistant

Authentication provider using Synology DSM users for Home Assistant The Synology authentication provider lets you authenticate using the users in your

Sam Debruyn 5 Oct 06, 2022
Custom component for MPC-HC for home-assistant

mpc_hc The current mpchc integration in homeassistant violates ADR0004, so it will be deleted from core. This is just the existing integration copied

3 Dec 15, 2022
I made this so I can control my Tapo L510 light bulb and Govee H6159 light strip using the PyP100 module and the Govee public API

TAPO-And-Govee-Controller I made this so I can control my Tapo L510 light bulb and Govee H6159 light strip using the PyP100 module and the Govee publi

James Westhead 0 Nov 23, 2021