Re: [PATCH 0/2] platform/x86: asus-armoury: add Whisper Mode support
From: Hans de Goede
Date: Wed Jul 29 2026 - 03:41:42 EST
Hi Marco,
On 28-Jul-26 15:56, Marco Scardovi wrote:
> In data martedì 28 luglio 2026 13:39:39 Ora legale dell’Europa centrale, Hans
> de Goede ha scritto:
>> Hi,
>>
>> Thank you for your patch.
>>
>> On 28-Jul-26 09:18, Marco Scardovi wrote:
>>> This series introduces support for ASUS WMI Whisper Mode hardware controls
>>> in the asus-wmi header and asus-armoury driver.
>>>
>>> Background & Findings:
>>> ----------------------
>>> After talking with Denis and thanks to NeuroMarshal reverse engineering
>>> and
>>> firmware trace analysis on modern ASUS laptops, three specific WMI Device
>>> IDs were identified that manage acoustic profiles and thermal regulation
>>> under ASUS Whisper Mode:
>>>
>>> 1. ASUS_WMI_DEVID_WHISPER_MODE (0x0012007A):
>>> - Controls the BIOS-level Whisper Mode acoustic profile toggle
>>> (read/write boolean).>
>>> 2. ASUS_WMI_DEVID_WHISPER_ENABLE (0x00090022):
>>> - Enables or disables Dynamic Whisper acoustic regulation (read/write
>>> boolean).>
>>> 3. ASUS_WMI_DEVID_WHISPER_STATUS (0x00090023):
>>> - Reports status and allows runtime control over Dynamic Whisper state
>>> (read/write boolean).
>> I wonder how this interacts with the platform_profile stuff ?
>>
>> I would expect enabling whisper mode to lower the max performance,
>> so does this automatically change the platform_profile away
>> from performance when it is set to performance ?
>>
>> Note the platform_profile API is extensible. To me it seems more
>> logical to expose this as a whisper mode platform-profile ?
>>
>> Regards,
>>
>> Hans
>
> Hi Hans,
>
> Thanks for the feedback!
> Here you can find my opinions on your questions.
>
> 1. Interaction with platform_profile:
> In ASUS laptops, where presents, Whisper Mode operates as an
> independent boolean toggle/feature controlling fan acoustic target limits in
> firmware/EC, rather than acting as a global thermal profile. Setting
> WHISPER_MODE or WHISPER_ENABLE via WMI sends a direct call to the EC/BIOS,
> which adjusts acoustic thresholds internally without altering the active
> platform_profile state (throttle_thermal_policy) in asus-wmi. IIRC on Windows
> it even permits to "hear" the ambient to make the fans run in a way to blend
> with the ambient noise.
>
> 2. platform_profile vs firmware_attributes (asus-armoury):
> platform_profile is designed for mutually exclusive global power/thermal
> modes (Quiet, Balanced, Performance). Whisper Mode, on the other hand,
> consists of independent BIOS feature toggles (0/1 controls for BIOS Whisper
> Mode, Dynamic Whisper Enable, and Status).
> Since asus-armoury is dedicated to exposing BIOS/Armoury Crate firmware
> attributes via fw_attributes_class (similar to nv_dynamic_boost,
> nv_temp_target, panel_od, etc.), exposing these three WMI controls as
> sysfs firmware attributes fits the overall design of asus-armoury much
> better than extending platform_profile.
>
> I hope I've been of help. Feel free to let me know if you have more
> questions: I'll try to answer the best of my capacities.
Thank you for clarifying things. Since the EC/BIOS interface sees this
as 2 independent settings, I agree that exposing this as a firmware
attr is the best way to expose this.
Its a bit weird that one can select Performance profile and enable
whisper mode at the same time. But if that is how the Asus firmware
interfaces work, then that is how it is.
Regards,
Hans