Alienware WMI Driver¶
Kurt Borja <kuurtb@gmail.com>
This is a driver for the “WMAX” WMI device, which is found in most Dell gaming laptops and controls various special features.
Before the launch of M-Series laptops (~2018), the “WMAX” device controlled basic RGB lighting, deep sleep mode, HDMI mode and amplifier status.
Later, this device was completely repurpused. Now it mostly deals with thermal profiles, sensor monitoring and overclocking. This interface is named “AWCC” and is known to be used by the AWCC OEM application to control these features.
The alienware-wmi driver controls both interfaces.
AWCC Interface¶
WMI device documentation: Dell AWCC WMI interface driver (alienware-wmi)
Supported devices¶
Alienware M-Series laptops
Alienware X-Series laptops
Alienware Aurora Desktops
Dell G-Series laptops
If you believe your device supports the AWCC interface and you don’t have any of the features described in this document, try the following alienware-wmi module parameters:
force_platform_profile=1
: Forces probing for platform profile supportforce_hwmon=1
: Forces probing for HWMON support
If the module loads successfully with these parameters, consider submitting a
patch adding your model to the awcc_dmi_table
located in
drivers/platform/x86/dell/alienware-wmi-wmax.c
or contacting the maintainer
for further guidance.
Status¶
The following features are currently supported:
-
Thermal profile control
G-Mode toggling
-
Sensor monitoring
Manual fan control
Platform Profile¶
The AWCC interface exposes various firmware defined thermal profiles. These are exposed to user-space through the Platform Profile class interface. Refer to sysfs-class-platform-profile for more information.
The name of the platform-profile class device exported by this driver is “alienware-wmi” and it’s path can be found with:
grep -l "alienware-wmi" /sys/class/platform-profile/platform-profile-*/name | sed 's|/[^/]*$||'
If the device supports G-Mode, it is also toggled when selecting the
performance
profile.
Note
You may set the force_gmode
module parameter to always try to toggle this
feature, without checking if your model supports it.
HWMON¶
The AWCC interface also supports sensor monitoring and manual fan control. Both of these features are exposed to user-space through the HWMON interface.
The name of the hwmon class device exported by this driver is “alienware_wmi” and it’s path can be found with:
grep -l "alienware_wmi" /sys/class/hwmon/hwmon*/name | sed 's|/[^/]*$||'
Sensor monitoring is done through the standard HWMON interface. Refer to sysfs-class-hwmon for more information.
Manual fan control on the other hand, is not exposed directly by the AWCC interface. Instead it let’s us control a fan boost value. This boost value has the following aproximate behavior over the fan pwm:
pwm = pwm_base + (fan_boost / 255) * (pwm_max - pwm_base)
Due to the above behavior, the fan boost control is exposed to user-space through the following, custom hwmon sysfs attribute:
Name |
Perm |
Description |
---|---|---|
fan[1-4]_boost |
RW |
Fan boost value. Integer value between 0 and 255 |
Note
In some devices, manual fan control only works reliably if the custom
platform profile is selected.