Linux Patch Allows For Better HP OMEN 17 Laptop Performance - But With Higher TDP

Written by Michael Larabel in Hardware on 2 January 2024 at 12:54 PM EST. 1 Comment
HARDWARE
A patch for the HP-WMI Linux kernel driver sent out on New Year's Eve aims to allow for better HP OMEN 17 laptop Linux performance by altering the thermal profile behavior so that the OMEN "8BAD" laptop can run at a higher TDP than what's otherwise permitted by the system's embedded controller (EC) without throttling.

Developer Alexis Belmonte sent out the HP WMI driver patches for thermal profile support for 8BAD systems, which correlates to the HP OMEN Laptop 17-ck2xxx models.

HP Omen 17 specs


Alexis explained in the patch message:
Add 8BAD to the list of boards which have thermal profile selection available. This allows the CPU to draw more power than the default TDP barrier defined by the 'balanced' thermal profile (around 50W), hence allowing it to perform better without being throttled by the embedded controller (around 130W).

We first need to set the HP_OMEN_EC_THERMAL_PROFILE_TIMER_OFFSET to zero. This prevents the timer countdown from reaching zero, making the embedded controller "force-switch" the system's thermal profile back to 'balanced' automatically.

We also need to put a number of specific flags in HP_OMEN_EC_THERMAL_PROFILE_FLAGS_OFFSET when we're switching to another thermal profile:

- for 'performance', we need to set both HP_OMEN_EC_FLAGS_TURBO and HP_OMEN_EC_FLAGS_NOTIMER;

- for 'balanced' and 'powersave', we clear out the register to notify the system that we want to lower the TDP barrier as soon as possible.

The third flag defined in the hp_thermal_profile_omen_flags enum, HP_OMEN_EC_FLAGS_JUSTSET, is present for completeness.

To prevent potential behaviour breakage with other Omen models, a separate omen_timed_thermal_profile_boards array has been added to list which boards expose this behaviour.

Alexis went on to add with this HP OMEN laptop tuning work with the performance benefits:
Performance benchmarking was done with the help of silver.urih.com and Google Chrome 120.0.6099.129, on Gnome 45.2, with the 'performance' thermal profile set:
|                  | Performance |     Stress |   TDP |
|------------------|-------------|------------|-------|
|    with my patch |      P84549 |    S0.1891 |  131W | 
| without my patch |      P44084 |    S0.1359 |   47W |

...
There is still work to be done:

- tune the CPU and GPU fans to better cool down and enhance performance at the right time; right now, it seems that the fans are not properly reacting to thermal/performance events, which in turn either causes thermal throttling OR makes the fans spin way too long, even though the temperatures have lowered down

- expose the CPU and GPU fan curves to user-land so that they can be controlled just like what the Omen Gaming Hub utility proposes to its users;

Those interested can find the patch work in its current development form on the platform-driver-x86 mailing list.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week