{"id":13906896,"url":"https://github.com/kitsunyan/intel-undervolt","last_synced_at":"2025-08-13T12:34:14.975Z","repository":{"id":41539825,"uuid":"119564661","full_name":"kitsunyan/intel-undervolt","owner":"kitsunyan","description":"Intel CPU undervolting and throttling configuration tool","archived":false,"fork":false,"pushed_at":"2023-08-24T08:43:55.000Z","size":115,"stargazers_count":907,"open_issues_count":32,"forks_count":67,"subscribers_count":32,"default_branch":"master","last_synced_at":"2024-08-07T23:49:13.852Z","etag":null,"topics":["2518","intel","linux","tdp","temperature","undervolt"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kitsunyan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-01-30T16:43:00.000Z","updated_at":"2024-08-02T14:36:13.000Z","dependencies_parsed_at":"2024-01-19T10:14:01.803Z","dependency_job_id":"6b41fcc5-2525-4f1b-8606-a4c5a87cd8ab","html_url":"https://github.com/kitsunyan/intel-undervolt","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitsunyan%2Fintel-undervolt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitsunyan%2Fintel-undervolt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitsunyan%2Fintel-undervolt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitsunyan%2Fintel-undervolt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kitsunyan","download_url":"https://codeload.github.com/kitsunyan/intel-undervolt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226353504,"owners_count":17611715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2518","intel","linux","tdp","temperature","undervolt"],"created_at":"2024-08-06T23:01:44.346Z","updated_at":"2024-11-25T15:30:54.965Z","avatar_url":"https://github.com/kitsunyan.png","language":"C","readme":"# intel-undervolt\n\nintel-undervolt is a tool for undervolting and throttling limits alteration for Intel CPUs.\n\nUndervolting works on Haswell and newer CPUs and based on the content of\n[this article](https://github.com/mihic/linux-intel-undervolt).\n\n## Disclaimer\n\nThis tool may damage your hardware since it uses reverse engineered methods of MSR usage.\nUse it on your own risk.\n\n## Building and Installing\n\nRun `./configure \u0026\u0026 make \u0026\u0026 make install` to build and install intel-undervolt to your system.\n\nYou can also configure the following features:\n\n- `--enable-systemd` — systemd support (intel-undervolt service and intel-undervolt-loop service)\n- `--enable-elogind` — elogind support (intel-undervolt system-sleep script)\n- `--enable-openrc` — OpenRC support (intel-undervolt-loop service)\n\n## Configuration\n\nYou can configure parameters in `/etc/intel-undervolt.conf` file.\n\n### Undervolting\n\nBy default it contains all voltage domains like in ThrottleStop utility for Windows.\n\nThe following syntax is used in the file: `undervolt ${index} ${display_name} ${undervolt_value}`.\nFor example, you can write `undervolt 2 'CPU Cache' -25.84` to undervolt CPU cache by 25.84 mV.\n\n### Power Limits\n\n`power package ${short_term} ${long_term}` can be used to alter short term and long term package\npower limits. For example, `power package 35 25`.\n\nYou can also specify a time window for each limit in seconds. For instance,\n`power package 35/5 25/60` for 5 seconds and 60 seconds respectively.\n\n### Temperature Limit\n\n`tjoffset ${temperature_offset}` can be used to alter temperature limit. This value is subtracted\nfrom max temperature level. For example, `tjoffset -20`. If max temperature is equal to 100°C, the\nresulting limit will be set to `100 - 20 = 80°C`. Note that offsets higher than 15°C are allowed\nonly on Skylake and newer.\n\n### Energy Versus Performance Preference Switch\n\nEnergy versus performance preference is a hint for hardware-managed P-states (HWP) which is used for\nperformance scaling.\n\nFor instance, with `performance` hint my i7-8650U is able to run at 4.2 GHz, and overall CPU\nperformance appears to be higher, but the clock speed is always locked to 4.2 GHz unless multiple\ncores are loaded or CPU is throttled. With `balance_performance` hint, CPU increases the clock speed\nonly under load but never goes higher than 3.9 GHz, but performance of integrated GPU is\nsignificantly better at the same time.\n\nintel-undevolt is able to change HWP hint depending on the load, which allows to achive either\nbetter performance or better battery life. This feature is available in daemon mode only which will\nbe described below. The following syntax is used to configure HWP hint:\n`hwphint ${mode} ${algorithm} ${load_hint} ${normal_hint}`.\n\nFor instance, if I want to get high CPU and GPU performance from AC, I need to set `performance`\nhint when CPU is under load but GPU isn't (`performance` hint reduces GPU performance in my case).\nHint switching can be configured depending on power consumption of `core` and `uncore`:\n`hwphint switch power:core:gt:8:and:uncore:lt:3 performance balance_performance`. `intel_rapl`\nmodule is required to measure power consumption.\n\nTo get a better battery life, clock speed can be reduced until CPU is under continuous high load,\nwhich will hold the lowest CPU speed most of the time. Hint switching can be configured depending on\nthe CPU load: `hwphint switch load:single:0.90 balance_power power`.\n\nMultiple `hwphint switch` rules can be used, the hint will be selected depending on current hint,\nwhich can be configured by another tool (e.g. tlp). You can use `hwphint force` rule to set the hint\nindependently, but only one rule can be declared in this case.\n\n## Usage\n\n### Applying Configuration\n\nRun `intel-undervolt read` to read current values and `intel-undervolt apply` to apply configured\nvalues.\n\nYou can apply your configuration automatically enabling `intel-undervolt` service. Elogind\nusers should pass `yes` to `enable` option in `intel-undervolt.conf`.\n\n### Measuring the Power Consumption\n\n`intel_rapl` module is required to measure the power consumption. Run `intel-undervolt measure` to\ndisplay power consumption in interactive mode.\n\n### Daemon Mode\n\nSometimes power and temperature limits could be reset by EC, BIOS, or something else. This behavior\ncan be suppressed applying limits periodically. Some features like energy vesus performance\npreference switch work in daemon mode only. Use `intel-undervolt daemon` to run intel-undervolt in\ndaemon mode, or use `intel-undervolt-loop` service. You can change the interval using\n`interval ${interval_in_milliseconds}` configuration parameter.\n\nYou can specify which actions daemon should perform using `daemon` configuration parameter. You can use `once` option to ensure action will be performed only once.\n","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitsunyan%2Fintel-undervolt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkitsunyan%2Fintel-undervolt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitsunyan%2Fintel-undervolt/lists"}