Skip to content

acerctl 0.1.2

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Oct 23:26
· 36 commits to main since this release

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