Benjamin Widawsky has pushed a new tool to change the frequency of Intel GPUs from userland. This is not a new functionality as this could be done using sysfs but this tool brings it to end users. The tool should be useful for debugging performance issues or benchmarking. It does not allow any GPU overclocking or any functionality not allowed via sysfs. Also note that the tool underwent minimal testing at the time of writing.

Usage

The name of the tool is intel_frequency. It should be run as the root user or sudoer. Options:

Get current, min, max and efficient frequencies $ sudo intel_frequency --get=cur,min,max,eff OR $ sudo intel_frequency -g cur: 200 MHz min: 200 MHz RP1: 200 MHz max: 1200 MHz

Another way to get a particular frequency $ sudo intel_frequency -geff RP1: 200 MHz

Lock frequency to an absolute value $ sudo intel_frequency --set min=300

Set a custom max (or min) frequency $ sudo intel_frequency --custom max=900

Lock frequency to the most efficient frequency $ sudo intel_frequency -e $ sudo intel_frequency -g cur: 200 MHz min: 200 MHz RP1: 200 MHz max: 200 MH

Lock frequencies to the max frequency $ sudo intel_frequency --max $ sudo intel_frequency -g cur: 1200 MHz min: 1200 MHz RP1: 200 MHz max: 1200 MHz

Lock frequencies to the min frequency (DEBUG only) $ sudo intel_frequency --min $ sudo intel_frequency -g cur: 200 MHz min: 200 MHz RP1: 200 MHz max: 200 MHz

The patch is available here in the Intel Graphics mailing list, waiting to be added to the Intel GPU tools package (at the time of writing).