Giter Site home page Giter Site logo

intel-power-control's Introduction

PyPI versio PyPi format PyPI license PyPi weekly downloads

intel-power-control

GPU power management for Intel hardware on Linux

Functionality

  • Displays cpu online states, temperatures and gpu clock settings.
  • Toggle cpu online states
  • Throttling of gpu clock (also automatic)
  • intel-power-control-helper changes settings as root user

Requirements

  • C compiler (i.e. gcc)
  • PyQt 6.x

Installation from PyPi (recommended)

# system-wide
sudo pip install intel-power-control
echo "%sudo ALL=(ALL) NOPASSWD: /usr/local/bin/intel-power-control-helper" | \
  sudo tee /etc/sudoers.d/intel-power-control

# OR as user
pip install intel-power-control --user
sudo chown root:root $HOME/.local/bin/intel-power-control-helper
sudo chmod 4755 $HOME/.local/bin/intel-power-control-helper

# run program
intel-power-control

Installation from source

WARNING: using this method, you have to take care of installing the required dependencies yourself (i.e. install PyQt using your distribution's package manager).

git clone https://github.com/jmechnich/intel-power-control.git

# compile
cd intel-power-control
make

# install to /usr/local
sudo make install

# OR install to local prefix
make install PREFIX=$HOME/.local
sudo chown root:root $HOME/.local/bin/intel-power-control-helper
sudo chmod 4755 $HOME/.local/bin/intel-power-control-helper

# run program
intel-power-control

Checking and fixing intel-power-control-helper permissions

The script intel-power-control-setup is supplied to set up the permissions for intel-power-control-helper correctly after installation.

Changing the look and feel

Use the -style commandline option to select a different theme. Available themes can be listed by calling the application with an invalid style argument, e.g. -style help.

Screenshots

intel-power-control's People

Contributors

jmechnich avatar luksus42 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

intel-power-control's Issues

GPU clock limits get overridden by boost clock limit

I found that GPU clock limits do not work, under load the GPU still hits a max of 1250MHz in my case.

When looking through the code I fould no trace of gt_boost_freq_mhz which should be changed in a fashion similar to gt_max_freq_mhz.

Here is an example:

Max clock speed is set to 350. Boost clock speed is left untouched (default in my case is 1250). When the GPU encounters load, the GPU clock speed is increased to 1250MHz because the boost clock speed overrides the max clock speed.

Solution:

either change the boost clock speed together with max clock speed or offer separate limiter for boost clock speeds.

Relevant Unix StackExchange question:
https://unix.stackexchange.com/questions/404049/how-to-stop-intel-hd4000-from-running-at-max-clock-speed

add dirname (argv [0]) to suidhelper search path

Most users will run intel-power-control from the git directory. And it will fail to find the helper, of course, since the git directory isn't in the PATH.

As a simple workaround, add the dirname of the Python program to the searched dir list in which():

     else:
-        for path in os.environ["PATH"].split(os.pathsep):
+        for path in os.environ["PATH"].split(os.pathsep) + [os.path.dirname (sys.argv[0])]:
             path = path.strip('"')

(normally, it would be easier to modify os.environ["PATH"] directly at the beginning of main(), but since you're setting suidhelper directly in a class constructor, which() will be called before main())

Constants not available as Qt attributes

I downloaded your application as an AUR package.

https://aur.archlinux.org/packages/intel-power-control-git

However, the package is outdated. I explicitly installed PyQt6 and PyQt6 SIP additionally and it worked. But then, it crashed when the "systray icon" is enabled because it cannot find the color constants under 'Qt'. When I turned the 'Qt.red' into 'Qt.GlobalColor.red' (in the /usr/bin/intel-power-control python script) then it works without crashing.

Is there something that I am missing for a normal functioning without hacking? Or are there differences in the PyQt API for Windows and Linux?

intel-power-control does not work on Mageia Linux

Hello,
intel-power-control does not start after installing required dependencies (gcc, Qt 5.x, python3) and compilation on Mageia 5b3.

HW: GPU: Intel + nVidia Optimus GeForce710M

# cat /etc/issue:
Mageia release 5 (Cauldron) for x86_64
Kernel 3.19.0-desktop-5.mga5 on a 4-processor x86_64 / \l
# lspcidrake |grep VGA:
Card:NVIDIA GeForce 420 series and later: NVIDIA Corporation|GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] [DISPLAY_VGA] (rev: a1)
Card:Intel 810 and later: Intel Corporation|3rd Gen Core processor Graphics Controller [DISPLAY_VGA] (rev: 09)
[root@localhost yullaw]# intel-power-control
Traceback (most recent call last):
  File "/usr/local/bin/intel-power-control", line 645, in <module>
    main()
  File "/usr/local/bin/intel-power-control", line 641, in main
    i = IntelPowerControl()
  File "/usr/local/bin/intel-power-control", line 44, in __init__
    self.updateAll()
  File "/usr/local/bin/intel-power-control", line 373, in updateAll
    self.updateValues()
  File "/usr/local/bin/intel-power-control", line 462, in updateValues
    os.path.join(self.gpubasepath,k,'gt_cur_freq_mhz')))),
ValueError: invalid literal for int() with base 10: ''
[root@localhost yullaw]# 

cannot overclocking the iGPU uhd770

i have a question,

my CPU is 13700k which ship with a UHD770, by default its max freq is 1600Mhz

i have set it value to 2000MHz in BIOS, but reboot to linux, boost freq still limit to 1600Mhz.

image

how can i overclock it? thank you!

No module named 'sip'

Traceback (most recent call last):
  File "/bin/intel-power-control", line 7, in <module>
    import sip
ModuleNotFoundError: No module named 'sip'

Temperature values barely visible with dark theme

The thermal zones area in the GUI shows a column Temperature but the values are displayed in black color.

The other font adapts to the OS theme and is displayed in white. Ideally, the temperature values should also be displayed in the main colour of the OS theme.

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.