-
Notifications
You must be signed in to change notification settings - Fork 12
Performance Modes
The performance-mode controls the power-management strategy. It is currently unclear what exactly this includes, but one aspect is the fan-profile: On the default performance-mode it can happen that the dGPU (and possibly also CPU in models with a CPU fan) cannot reach it's full potential due to the fans not ramping up appropriately. Setting a higher performance-mode solves this problem.
The easiest way to set the performance-mode is to use the surface-control command line utility by running
surface performance set <mode>
where the numeric mode-value (1-4) is described below.
Alternatively, the performance-mode can also be accessed via the perf_mode sysfs attribute on the MSHW0107 platform device, i.e. it can be set via
echo <mode> | sudo tee /sys/bus/surface_aggregator/devices/01:03:01:00:01/perf_mode
where <mode> is the numeric value of the mode you want to set.
Reading from this attribute will return the current mode.
Valid performance-modes are:
| Value | Name (Windows) | Notes |
|---|---|---|
| 1 | Recommended | Default mode. |
| 2 | Battery Saver | Only accessible on Windows when AC disconnected. |
| 3 | Better Performance | |
| 4 | Best Performance |
You can also set the initial performance-mode (being applied when the module is loaded) using the perf_mode_init module-parameter, as well as the state being applied when it is unloaded using the perf_mode_exit parameter.
In both cases, the special value of 0 will keep the performance-state as-is (this is the default behavior).