This is an Initial module for manual fan control and keyboard RGB for devices that support it. Single‑zone RGB works now; I plan to add 4‑zone but I need testers. I also plan to upstream this module, but i need to be sure that the module is stable enough before upstreaming it.
Please star the repo if this driver works for you. Thanks!
Note
HP Victus 15: For some reason, HP didnt mark manual fan control supported on HP Victus 15 laptops, even though the hardware supports it. So by default manual fan control is not enabled in this module. But if you want to turn it on, load the module with the force_fan_control_support=true parameter.
sudo insmod hp-wmi.ko force_fan_control_support=trueThere's a gui for this driver. I plan to rewrite it when i have free time but it should be enough for now. see victus-control
Dkms:
git clone https://github.com/TUXOV/hp-wmi-fan-and-backlight-control
cd hp-wmi-fan-and-backlight-control
make
sudo make install-dkms
Arch package:
git clone https://github.com/TUXOV/hp-wmi-fan-and-backlight-control
cd hp-wmi-fan-and-backlight-control
make install-arch
NixOS module:
In your system flake, add the repo as an input and enable the module:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
hp-wmi-control.url = "github:TUXOV/hp-wmi-fan-and-backlight-control"; # or a local path
};
outputs = { self, nixpkgs, hp-wmi-control, ... }: {
nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
hp-wmi-control.nixosModules.default
{
hardware.hp-wmi-control = {
enable = true;
# victus-15-support.enable = true; # To add optional Victus 15 support
};
}
];
};
};
}or if you just want to test the module (not permanent):
git clone https://github.com/TUXOV/hp-wmi-fan-and-backlight-control
cd hp-wmi-fan-and-backlight-control/
make
sudo rmmod hp-wmi
sudo modprobe led_class_multicolor
sudo insmod hp-wmi.ko-
Keyboard (single‑zone RGB): control under
/sys/class/leds/hp::kbd_backlight.- Use the multicolor interface attribute
multi_intensitywhich acceptsR G B(0–255 each). - Example:
echo "255 0 0" | sudo tee /sys/class/leds/hp::kbd_backlight/multi_intensity # Set to red echo 128 | sudo tee /sys/class/leds/hp::kbd_backlight/brightness # Change brightness to 50% (0-255)
- Use the multicolor interface attribute
-
Fans: control via
fanX_targetfiles (check fanX_max for the max values. Anything above the max values will return -EINVAL).echo 5500 | sudo tee /sys/devices/platform/hp-wmi/hwmon/hwmon*/fan1_target # will set fan1 to 5500 rpm echo 5200 | sudo tee /sys/devices/platform/hp-wmi/hwmon/hwmon*/fan2_target # will set fan2 to 5200 rpm
-
Fn+P Shortcut: On laptops that support it, the Fn+P shortcut for switching performance profiles should work OOTB. You can verify if its working by monitoring the
/sys/firmware/acpi/platform_profilefile.
- Victus 16‑s1 (9Z791EA) — tested by me.
- I need testers to report which models it works on or not. see #1
USE IT AT YOUR OWN RISK. I DO NOT ACCEPT ANY RESPONSIBILITY.