Dell G15 5530
Dell G15 5530 fan control on Arch Linux (Hyprland)
This article explains how to install and configure the dell-g15-controller utility on Arch Linux running the Hyprland Wayland compositor, to control fan speed, power profiles, and keyboard backlight on Dell G15 5530 and similar Dell G-series laptops.
The dell-g15-controller requires kernel support via the acpi_call module, Polkit for privilege escalation, and a Polkit authentication agent, which is not included by default in Hyprland.
Dependencies
- python (for running the controller)
- Kernel module acpi_call
- dell-g15-controller (available from AUR)
- Polkit and a Polkit authentication agent (e.g. lxsession)
Installation
Required packages
Install the linux-headers package. Install the following packages from the AUR: acpi, acpi_call-dkms, lxsession, dell-g15-controller, python-pexpect, and python-pyside6.
sudo modprobe acpi_call
Udev rule for controller
Create the file /etc/udev/rules.d/00-aw-elc.rules with the following content:
SUBSYSTEM=="usb", ATTRS{idVendor}=="187c", ATTRS{idProduct}=="0550", MODE="0660", TAG+="uaccess", SYMLINK+="awelc"
Reload udev rules with:
$ sudo udevadm control --reload
Enable Polkit authentication agent
Using Hyprland config file
Add the following line to your Hyprland config (usually ~/.config/hypr/hyprland.conf):
exec-once = /usr/bin/lxpolkit
which lxpolkit
Restart Hyprland or run the agent manually before launching the controller.
Run manually
Start the Polkit authentication agent in a new terminal:
$ lxpolkit
Usage
Find the location of the main controller script:
$ yay -Ql dell-g15-controller | grep main.py
This will output something like:
dell-g15-controller /opt/dell-g-series-controller/main.py
Run the controller using Python:
$ python /opt/dell-g-series-controller/main.py
When prompted, enter your password via the Polkit GUI dialog.
Use the GUI to control fan speed, power modes, and keyboard backlight.
Troubleshooting
- If the GUI hangs on startup, ensure a Polkit authentication agent is running.
- Check that the acpi_call module is loaded:
$ lsmod | grep acpi_call
- Verify the udev rule exists and that the USB device permissions are correct.