Skip to content

Releases: FnnDK/acerctl

acerctl 0.1.9

acerctl 0.1.9 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 04:35

One fix for laptops whose firmware has no Turbo. Everything else is as in 0.1.8.

Fixed

  • No Turbo offered where the firmware has none, after an unlucky boot. Right after boot, the firmware can fail the call that lists its thermal profiles (seen on a Nitro ANV15-52, while the Acer kernel modules were loading). acer-wmi-extras then hid the list until the next boot, and acerd fell back to the kernel driver's list, which always includes Turbo: the app and acerctl mode offered it, and choosing it failed with an input/output error. The module now keeps the list available and asks the firmware on every read, and acerd tries again for up to 2 seconds before falling back.

Installing and upgrading

curl -fLO https://raw.githubusercontent.com/FnnDK/acerctl/main/packaging/install.sh   # Debian/Ubuntu: wget -nv -O install.sh <same URL>
sudo sh install.sh --nitro                                                            # or --acer, --predator; --no-gui for the CLI only

On Silverblue, Kinoite and Bluefin, reboot once afterwards. The README has the commands per product line.

Downloads

  • RPMs for Fedora 44 (x86_64) and their SRPMs.
  • .deb packages for Debian 13 and Ubuntu 24.04/26.04 (amd64).
  • acerctl-0.1.9-linux-x86_64.tar.gz: prebuilt binaries for other distributions, installed with scripts (see its INSTALL.md).
  • acerctl-0.1.9.tar.gz: the source with vendored Go modules and the built frontend.
  • SHA256SUMS

acerctl 0.1.8

acerctl 0.1.8 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Oct 11:04

The desktop power mode follows the Acer mode again on package installs, and you can now see whether it does. Everything else is as in 0.1.6. (0.1.7 was tagged but never released: its build failed on a test, fixed here.)

Fixed

  • The power mode in the desktop menu follows the mode again. On Fedora, acerd and tuned-ppd (the service behind the GNOME power mode menu) start in the same instant at boot. When acerd looked for it first, it turned the sync off for the whole session: the Nitro key and the app changed the mode, but the power menu stayed where it was. acerd now starts after tuned-ppd, and it also connects to a power-profiles service that shows up later or restarts, moving it to the current mode.
  • Debian and Ubuntu: the kernel modules build on the first install. Debian 13's dkms does not pull in the kernel headers, so the modules were silently not built; install.sh now installs the headers for the running kernel and for the kernel metapackages, and the setup screen tells a missing package, missing headers and a failed build apart.
  • The setup screen is read again each time the app opens, so modules built after acerd started no longer show as missing.

New

  • acerctl status has a PPD sync line and the app's About a "Power mode" row: in sync, with the name of the service, or not in sync and why.

Installing and upgrading

curl -fLO https://raw.githubusercontent.com/FnnDK/acerctl/main/packaging/install.sh   # Debian/Ubuntu: wget -nv -O install.sh <same URL>
sudo sh install.sh --nitro                                                            # or --acer, --predator; --no-gui for the CLI only

On Silverblue, Kinoite and Bluefin, reboot once afterwards. The README has the commands per product line.

Downloads

  • RPMs for Fedora 44 (x86_64) and their SRPMs.
  • .deb packages for Debian 13 and Ubuntu 24.04/26.04 (amd64).
  • acerctl-0.1.8-linux-x86_64.tar.gz: prebuilt binaries for other distributions, installed with scripts (see its INSTALL.md).
  • acerctl-0.1.8.tar.gz: the source with vendored Go modules and the built frontend.
  • SHA256SUMS

acerctl 0.1.7

acerctl 0.1.7 Pre-release
Pre-release

Choose a tag to compare

@FnnDK FnnDK released this 20 Oct 11:04

No downloads: use 0.1.8. This version was tagged, but its release build failed on a test (the transcripts of the known models did not include a new D-Bus property yet), so no packages were made. 0.1.8 carries the same changes, with the test fixed:

  • The desktop power mode follows the Acer mode again when tuned-ppd starts in the same instant as acerd at boot.
  • acerctl status and the app's About show whether the power mode is in sync.
  • Debian and Ubuntu: install.sh installs the kernel headers DKMS needs; the setup screen is read again each time the app opens.

acerctl 0.1.6

acerctl 0.1.6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 12:40

Battery calibration you can start and leave alone, from what the first full run on the Aspire AG15-71P showed. Everything else is as in 0.1.5.

Fixed

  • The laptop stays awake while the battery calibrates. The firmware drains the battery through the running system, so a suspend stalled the calibration (GNOME suspends after 15 minutes idle even on AC), and a shutdown in the middle confused the firmware at the next boot. acerd now blocks suspend and the lid switch until the calibration ends, then lets go.
  • The end of a calibration shows. acer-wmi-battery reported the calibration and health modes as they were when it loaded or last changed them, so the app and acerctl battery never saw the firmware finish. They now follow the firmware.
  • The 80 % charge limit no longer goes missing after an interrupted calibration. At the next boot the firmware briefly answered that the battery had no modes at all, and the limit disappeared from GNOME and the app until the module was reloaded. The module now retries for a few seconds before taking that answer.
  • The app's battery page no longer shows an empty "Care" card when the firmware offers neither the charge limit nor calibration.

Installing and upgrading

curl -fLO https://raw.githubusercontent.com/FnnDK/acerctl/main/packaging/install.sh   # Debian/Ubuntu: wget -nv -O install.sh <same URL>
sudo sh install.sh --nitro                                                            # or --acer, --predator; --no-gui for the CLI only

On Silverblue, Kinoite and Bluefin, reboot once afterwards. The README has the commands per product line.

Downloads

  • RPMs for Fedora 44 (x86_64) and their SRPMs.
  • .deb packages for Debian 13 and Ubuntu 24.04/26.04 (amd64).
  • acerctl-0.1.6-linux-x86_64.tar.gz: prebuilt binaries for other distributions, installed with scripts (see its INSTALL.md).
  • acerctl-0.1.6.tar.gz: the source with vendored Go modules and the built frontend.
  • SHA256SUMS

acerctl 0.1.5

acerctl 0.1.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Oct 23:34

Installing comes down to one command per product line, the CLI gets the app's setup steps, and uninstalling removes everything. The kernel modules and the app are as in 0.1.4.

New

  • install.sh: one installer for Fedora 44 (dnf, and rpm-ostree on Silverblue, Kinoite, Bluefin), Debian 13 and Ubuntu 24.04/26.04 (apt). It downloads this release's packages, checks them against SHA256SUMS and installs them. Running it again upgrades: on the Atomic desktops in one rpm-ostree transaction (no rpm-ostree uninstall step), and over an install made with the scripts, which it removes first. --acer, --nitro or --predator picks the app (without one, it goes by the laptop's product name), --no-gui installs only the daemon, the CLI and the kernel modules, and -n shows what it would do without changing anything.
  • acerctl setup: what the app's setup screen does, in the CLI: the acer_wmi option that modes and fans need on Nitro and Predator models, enrolling the Secure Boot key that signs the kernel modules, and the modules themselves. acerctl setup apply makes the changes with one password and prints the code for the firmware's blue screen; acerctl status says when something is left.
  • uninstall.sh removes everything, the packages too (dnf, rpm-ostree, apt), for example to try another tool; --purge also removes the settings.

Installing and upgrading

curl -fLO https://raw.githubusercontent.com/FnnDK/acerctl/main/packaging/install.sh   # Debian/Ubuntu: wget -nv -O install.sh <same URL>
sudo sh install.sh --nitro                                                            # or --acer, --predator

On Silverblue, Kinoite and Bluefin, reboot once afterwards. The README has the commands per product line.

Downloads

  • RPMs for Fedora 44 (x86_64) and their SRPMs.
  • .deb packages for Debian 13 and Ubuntu 24.04/26.04 (amd64).
  • acerctl-0.1.5-linux-x86_64.tar.gz: prebuilt binaries for other distributions, installed with scripts (see its INSTALL.md).
  • acerctl-0.1.5.tar.gz: the source with vendored Go modules and the built frontend.
  • SHA256SUMS

acerctl 0.1.4

acerctl 0.1.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Oct 21:24

A small release for laptops without a keyboard backlight, and for installing the packages over an earlier install made with the scripts. Everything else is as in 0.1.3; 0.1.2 has the full notes.

Fixed

  • No keyboard backlight timeout where there is no keyboard backlight. On laptops such as the Aspire AG15-71P the firmware's keyboard call answers as if the setting existed, so acerctl status showed "Keyboard backlight off, timeout 30 s" and the timeout was offered. acer-wmi-extras now also reads the firmware's hotkey table (DMI type 170), which lists the keyboard backlight as present or absent, and hides the timeout when it is absent. Laptops with a keyboard backlight keep it (checked on the Nitro ANV15-52).
  • Packages over an install made with the scripts. Left in place, a script install shadows the packages: its daemon, CLI and app kept running instead of the packaged ones. The README commands now find one and remove it first with uninstall.sh. When the packages are already installed, uninstall.sh no longer unloads their kernel modules (the 80 % charge limit was off until a reboot).

Also

  • Hardware reports (tools/survey.sh): the summary says whether the DMI table lists a keyboard backlight.
  • Each known model (Nitro ANV15-52, Aspire AG15-71P, Predator PH16-71) is tested on the packages in Fedora 44 and Ubuntu 24.04 on every change.

Installing and upgrading

The README has a block per product line (Acer, Nitro, Predator) for Fedora 44 and for Debian 13 / Ubuntu 24.04 / 26.04, to paste on the host.

  • Fedora Workstation, Debian, Ubuntu: run the block again; dnf/apt upgrade in place and the modules are rebuilt (akmods, DKMS). Then reboot.
  • Silverblue, Kinoite, Bluefin: run the block again and reboot once. It replaces the installed packages in the same rpm-ostree transaction (rpm-ostree cannot upgrade local packages in place); removing them first with rpm-ostree uninstall, as before, also works.
  • Packages already installed on top of a script install: run uninstall.sh as the README's Uninstalling shows, then sudo systemctl enable --now acerd.

Downloads

  • RPMs for Fedora 44 (x86_64) and their SRPMs.
  • .deb packages for Debian 13 and Ubuntu 24.04/26.04 (amd64).
  • acerctl-0.1.4-linux-x86_64.tar.gz: prebuilt binaries for other distributions, installed with scripts (see its INSTALL.md).
  • acerctl-0.1.4.tar.gz: the source with vendored Go modules and the built frontend.
  • SHA256SUMS

acerctl 0.1.3

acerctl 0.1.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Oct 23:58

A fix release for the packages: with the 0.1.2 RPMs and .deb packages, the 80 % charge limit was missing because the battery module never loaded. Everything else is as in 0.1.2, which has the full notes (Debian/Ubuntu packages, on-demand daemon, setup screen).

Fixed

  • acer-wmi-battery loads by itself. The packages (akmod on Fedora, DKMS on Debian/Ubuntu) let the kernel load it when the battery's WMI device appears, but the module declared that device in lower case and the kernel announces it in upper case, so it never matched. Without the module, acerctl status shows acer_wmi_battery: absent and GNOME's Power settings have no "Preserve Battery Health" option. Installs made with the scripts were not affected.

If you are on 0.1.2 and do not want to upgrade yet, load it by hand (and at every boot with the second command):

sudo modprobe acer_wmi_battery && sudo systemctl restart upower acerd
echo acer_wmi_battery | sudo tee /etc/modules-load.d/acer-wmi-battery.conf

Installing and upgrading

The README has a block per product line (Acer, Nitro, Predator) for Fedora 44 and for Debian 13 / Ubuntu 24.04 / 26.04, to paste on the host.

  • Fedora Workstation, Debian, Ubuntu: run the block again; dnf/apt upgrade in place and the module is rebuilt (akmods, DKMS). Then reboot.
  • Silverblue, Kinoite, Bluefin: remove the installed packages first, then run the block and reboot once:
    sudo rpm-ostree uninstall acerctl acerctl-tray nitro-control-center akmod-acerctl acerctl-kmod-common   # your app's name

Downloads

  • RPMs for Fedora 44 (x86_64) and their SRPMs.
  • .deb packages for Debian 13 and Ubuntu 24.04/26.04 (amd64).
  • acerctl-0.1.3-linux-x86_64.tar.gz: prebuilt binaries for other distributions, installed with scripts (see its INSTALL.md).
  • acerctl-0.1.3.tar.gz: the source with vendored Go modules and the built frontend.
  • SHA256SUMS

acerctl 0.1.2

acerctl 0.1.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Oct 23:26

This pre-release adds packages for Debian and Ubuntu next to the Fedora 44 RPMs, starts the daemon by itself when it is needed, and adds a setup screen to the app that finishes the system configuration for you.

There is no package repository yet, so the packages are installed from the downloaded files and do not update automatically.

Fixed

  • The daemon from the 0.1.1 RPM did not start (acerd exited with status 127, "undefined symbol" for the nvml functions): Fedora's build links with -z now, which resolves at startup the NVIDIA library symbols that are only loaded later, and only when the driver is present. The RPM build now links acerd with lazy binding and checks that it starts. If you installed 0.1.1 from the RPMs, upgrade (see below). The 0.1.1 binary archive was not affected.

What's new

  • Debian and Ubuntu packages for Debian 13, Ubuntu 24.04 and Ubuntu 26.04: the daemon and CLI, the tray, the app in each product line's flavor, and acerctl-dkms, which rebuilds the kernel modules for every new kernel. They were tested in Debian 12/13 and Ubuntu 22.04/24.04/26.04 containers (dependencies, the daemon and CLI, the app's libraries, the DKMS build for each kernel, removal), not yet on a real machine: reports are very welcome.
  • The daemon starts on demand. D-Bus starts acerd when the app or the tray first needs it, and the packages enable it at install. The systemctl enable --now acerd step is gone.
  • Setup screen. When the app opens, it lists what the system still needs and applies it with one password and one restart: the acer_wmi option that Nitro and Predator models need for operating modes and fans, and, with Secure Boot, enrolling the key that signs the kernel modules (akmods on Fedora, DKMS on Debian/Ubuntu). It can be reopened from Settings → Laptop → System setup.
  • Older kernels. The kernel modules build from Linux 5.15 on. The setup screen checks whether the kernel's acer_wmi has the option it needs (Linux 6.9 and later) and says so when it does not.
  • Uninstall script for installs made with the scripts, including the ones under the project's earlier names (nitrod/nitroctl/nitro-tray, nitrosensed): packaging/uninstall.sh keeps your settings, --purge removes them too. The install scripts now check that the new binaries exist before removing an older install, and refuse to run inside a toolbox/distrobox container, where sudo does not reach the system.

Packages

Fedora 44 Debian / Ubuntu What it installs
acerctl acerctl acerd (systemd service started on demand, D-Bus and polkit policies, Sense key hwdb entry) and the acerctl CLI
acerctl-tray acerctl-tray the tray and Sense key agent
nitro-control-center, predator-control-center, acer-control-center same names the app with the branding of each product line; install only the one for your laptop
akmod-acerctl + acerctl-kmod-common acerctl-dkms acer-wmi-extras and acer-wmi-battery, rebuilt for each kernel and signed with the local key when Secure Boot needs it

Installing

The README has a block per product line (Acer, Nitro, Predator) for each system, to paste on the host. Nitro shown here; use predator- or acer-control-center for other laptops.

Fedora 44 (on Silverblue, Kinoite and Bluefin the block uses rpm-ostree; reboot afterwards):

v=0.1.2; app=nitro-control-center
mkdir -p acerctl-$v && cd acerctl-$v
for p in acerctl-$v-1.fc44.x86_64 acerctl-tray-$v-1.fc44.x86_64 $app-$v-1.fc44.x86_64 \
         akmod-acerctl-$v-1.fc44.x86_64 acerctl-kmod-common-$v-1.fc44.noarch; do
  curl -LO https://github.com/FnnDK/acerctl/releases/download/v$v/$p.rpm
done
if [ -e /run/ostree-booted ]; then
  sudo rpm-ostree install ./*.rpm && echo "installed: reboot to start using it"
else
  sudo dnf install ./*.rpm
fi

Debian 13, Ubuntu 24.04 and 26.04:

v=0.1.2; app=nitro-control-center
mkdir -p acerctl-$v && cd acerctl-$v
for p in acerctl_${v}_amd64 acerctl-tray_${v}_amd64 ${app}_${v}_amd64 acerctl-dkms_${v}_all; do
  wget -nv -O $p.deb https://github.com/FnnDK/acerctl/releases/download/v$v/$p.deb
done
sudo apt install ./*.deb

Then open the app: the setup screen shows anything that is left.

What the kernel offers depends on its version: acer_wmi has the operating modes from Linux 6.9 and fan control from 6.19. Fedora 44, Ubuntu 26.04 and Ubuntu 24.04 with the HWE kernel have both; Debian 13 has the modes only; Ubuntu 24.04's original 6.8 kernel has neither (battery, keyboard, sensors and the app still work).

Upgrading from 0.1.1

  • Fedora Workstation: run the block above; dnf upgrades in place.
  • Silverblue, Kinoite, Bluefin: remove the 0.1.1 packages first, then run the block and reboot once:
    sudo rpm-ostree uninstall acerctl acerctl-tray nitro-control-center akmod-acerctl acerctl-kmod-common   # your app's name
  • Script installs (from source or the binary archive): run sudo sh packaging/uninstall.sh on the host before installing the packages; a unit left in /etc/systemd/system overrides the packaged one. Your settings in /var/lib/acerd are kept and the packages use them.

Downloads

  • RPMs for Fedora 44 (x86_64) and their SRPMs.
  • .deb packages for Debian 13 and Ubuntu 24.04/26.04 (amd64).
  • acerctl-0.1.2-linux-x86_64.tar.gz: prebuilt binaries for other distributions, installed with scripts (see its INSTALL.md).
  • acerctl-0.1.2.tar.gz: the source with vendored Go modules and the built frontend.
  • SHA256SUMS

acerctl 0.1.1

acerctl 0.1.1 Pre-release
Pre-release

Choose a tag to compare

@FnnDK FnnDK released this 14 Oct 05:22

This pre-release adds RPM packages for Fedora 44: the daemon, CLI, tray and app installed in the system paths, plus an akmod that rebuilds the kernel modules for every new kernel. The features are the same as in 0.1.0, and the binary and source archives are still here.

There is no package repository yet, so these RPMs are installed from the downloaded files and do not update automatically.

Packages

Package What it installs
acerctl acerd (systemd service, D-Bus and polkit policies, Sense key hwdb entry) and the acerctl CLI
acerctl-tray the tray and Sense key agent
nitro-control-center, predator-control-center, acer-control-center the app with the branding of each product line; install only the one for your laptop
akmod-acerctl acer-wmi-extras and acer-wmi-battery, built by akmods for each kernel and signed with the local akmods key when Secure Boot needs it
acerctl-kmod-common loads acer-wmi-extras at boot

Installing on Fedora 44

Download the RPMs into one directory and pick the app of your product line. Nitro is shown here; use predator- or acer-control-center instead for other laptops:

sudo dnf install ./acerctl-0.1.1-1.fc44.x86_64.rpm ./acerctl-tray-0.1.1-1.fc44.x86_64.rpm \
  ./nitro-control-center-0.1.1-1.fc44.x86_64.rpm \
  ./akmod-acerctl-0.1.1-1.fc44.x86_64.rpm ./acerctl-kmod-common-0.1.1-1.fc44.noarch.rpm
sudo systemctl enable --now acerd

On Fedora Silverblue and Kinoite, run rpm-ostree install with the same files, reboot, and then run sudo systemctl enable --now acerd. With Secure Boot, akmods needs an enrolled signing key (kmodgenca and mokutil --import, as in the RPM Fusion Secure Boot guide). On an image-based system, akmods also needs the key in the image, which is what the akmods-keys package is for.

Nitro and Predator models also need acer_wmi loaded with predator_v4 for operating modes and fans (see the README).

Coming from the script install

The scripts installed to /usr/local and /etc, and a unit left in /etc/systemd/system overrides the packaged one. Remove the script install before installing the RPMs. Your settings in /var/lib/acerd are kept and the packages use them.

sudo sh packaging/install-gui.sh uninstall
sudo systemctl disable --now acerd.service acer-wmi-modules.service
sudo rm -f /usr/local/bin/acerd /usr/local/bin/acerctl /etc/systemd/system/acerd.service \
  /etc/systemd/system/acer-wmi-modules.service /etc/dbus-1/system.d/io.github.fnndk.Acerd1.conf \
  /usr/local/share/polkit-1/actions/io.github.fnndk.acerd.policy /etc/udev/hwdb.d/61-acerctl-keyboard.hwdb
sudo rm -rf /var/lib/acer-wmi-modules
sudo systemctl daemon-reload

Other changes

  • The minimum Go version is now 1.26, the one Fedora 44 ships.
  • packaging/rpm/ holds the specs and .copr/Makefile is ready for a COPR repository.

Downloads

  • RPMs for Fedora 44 (x86_64) and their SRPMs, listed above.
  • acerctl-0.1.1-linux-x86_64.tar.gz: prebuilt binaries for other distributions, installed with scripts (see its INSTALL.md).
  • acerctl-0.1.1.tar.gz: the source with vendored Go modules and the built frontend.
  • SHA256SUMS

acerctl 0.1.0

acerctl 0.1.0 Pre-release
Pre-release

Choose a tag to compare

@FnnDK FnnDK released this 14 Oct 03:28

First release of acerctl: the controls of Acer's NitroSense, PredatorSense and AcerSense on Linux, alongside the in-tree acer_wmi driver. It ships a system daemon (acerd), a CLI (acerctl), a tray agent and an app in three flavors (Nitro, Predator and Acer Control Center). Each feature shows up only when the laptop's firmware offers it.

This is a pre-release: only two laptops have been tested.

Tested hardware

  • Acer Nitro ANV15-52 (Fedora Silverblue 44): the kernel modules, daemon and CLI are validated on the hardware. This covers operating modes with AC/battery rules and power-profiles-daemon/tuned sync, fans (auto, max, manual), sensors, keyboard backlight timeout, USB charging while off, the 80 % charge limit and calibration, scenarios with App Sync, and the Sense key.
  • Acer Aspire AG15-71P (Bluefin 44): the 80 % charge limit (GNOME "Preserve Battery Health"), the Sense key, the app and the tray. The firmware has no operating modes or fans, so the app does not show them.
  • Predator: not tested. acerd --simulate PHN16-72 or PH16-71 models these laptops from public reports, including RGB keyboard, light bar and logo lighting. Lighting has no real backend yet.

To help support other models, run sudo sh tools/survey.sh --probes and open the link it prints (see docs/hardware-reports.md).

Downloads

  • acerctl-0.1.0-linux-x86_64.tar.gz: prebuilt binaries (x86_64, glibc ≥ 2.34, WebKitGTK 4.1 for the app), the install scripts and the kernel modules as source. The steps are in its INSTALL.md.
  • acerctl-0.1.0.tar.gz: the source with vendored Go modules and the built frontend, which builds without network access.
  • SHA256SUMS

Installing the binary archive

tar xzf acerctl-0.1.0-linux-x86_64.tar.gz && cd acerctl-0.1.0-linux-x86_64
sudo sh packaging/build-sign.sh && sudo sh packaging/install-modules.sh   # needs make, gcc and kernel headers
sudo sh packaging/install-daemon.sh install
sudo sh packaging/install-gui.sh
acerctl status

Nitro and Predator models also need acer_wmi loaded with predator_v4 for operating modes and fans (see the README).

Known limitations

  • Installation is done by scripts into /usr/local, /etc and /var/lib. There are no rpm, deb or Flatpak packages yet.
  • The kernel modules must be rebuilt after every kernel update (sudo sh packaging/build-sign.sh). With Secure Boot, the script signs them with the akmods key on Fedora; on other distributions, sign them with your own enrolled MOK.
  • Builds are x86_64 only.