Skip to content

installer: skip acer_wmi/facer swap when Linuwu-Sense is present - #16

Merged
cleyton1986 merged 1 commit into
cleyton1986:mainfrom
shwetankg07:fix/skip-acer-wmi-swap-when-foreign-driver
Jul 15, 2026
Merged

cleyton1986 merged 1 commit into
cleyton1986:mainfrom
shwetankg07:fix/skip-acer-wmi-swap-when-foreign-driver

Conversation

@shwetankg07

@shwetankg07 shwetankg07 commented Jul 14, 2026 •

Copy link
Copy Markdown
Contributor

Follow-up to #12 — this is the acer_wmi / Linuwu-Sense conflict I flagged there, the last open item from that thread.

On a successful DKMS build the installer blacklists acer_wmi, writes facer.conf and force-loads facer. facer is an acer-wmi fork, and so is Linuwu-Sense (the linuwu_sense module a lot of these Acer users run for fans/thermal via DAMX). Both bind the same WMI GUIDs, so they can't coexist. On my PHN16S-71 this silently killed fan control after a reboot: facer grabbed the device, linuwu_sense couldn't bind, and DAMX had nothing to talk to until I removed the blacklist and reloaded linuwu_sense.

Fix: before the blacklist + facer swap, check whether linuwu_sense is already loaded or DKMS-installed. If it is, skip the swap and leave the platform driver alone — RGB still works over HID. It also clears an old facer.conf from a previous predator-sense install so it can't reload facer next to linuwu_sense on the next boot.

Stock acer_wmi machines are untouched: same code as before, just moved into the else branch (your new acpi_ec lines kept). Also added a warn (⚠) level to msg() for the notice.

Tested on my Linuwu-Sense machine — the guard fires and skips correctly, and bash -n passes. Haven't run a full install on a plain acer_wmi box.

Closes #12

…alled

The installer unconditionally blacklists acer_wmi, writes facer.conf, and
force-loads facer on a successful DKMS build. On machines already running
Linuwu-Sense (or DAMX, which builds on it) this clobbers a working platform
driver — both bind the same WMI GUIDs facer needs.

Guard the blacklist + swap: if linuwu_sense is loaded or DKMS-registered,
skip it and leave the platform driver alone (RGB still works over HID). Also
remove any facer.conf left by an earlier run so it can't reload facer at boot.
Stock acer_wmi machines are unaffected. Adds a warn (⚠) level to msg().
@shwetankg07
shwetankg07 force-pushed the fix/skip-acer-wmi-swap-when-foreign-driver branch from 305c5f5 to f75b01d Compare July 14, 2026 10:59
@cleyton1986
cleyton1986 merged commit 62a031e into cleyton1986:main Jul 15, 2026
cleyton1986 added a commit that referenced this pull request Jul 15, 2026
PR #16 fixed the acer_wmi/facer vs Linuwu-Sense conflict only in
remote-install.sh. setup.sh and installer/main.go had the exact same
unguarded blacklist+facer swap, so users installing through either of
those two paths would still silently lose fan/thermal control to a
running Linuwu-Sense/DAMX setup. Same detection (module loaded or
DKMS-registered), same skip-and-clean-stale-facer.conf behavior.

Signed by: Cleyton Alves
Co-authored by: Cleyton Alves <cleyton1986@gmail.com>
cleyton1986 added a commit that referenced this pull request Sep 9, 2026
…oreign-driver

installer: skip acer_wmi/facer swap when Linuwu-Sense is present
cleyton1986 added a commit that referenced this pull request Sep 9, 2026
PR #16 fixed the acer_wmi/facer vs Linuwu-Sense conflict only in
remote-install.sh. setup.sh and installer/main.go had the exact same
unguarded blacklist+facer swap, so users installing through either of
those two paths would still silently lose fan/thermal control to a
running Linuwu-Sense/DAMX setup. Same detection (module loaded or
DKMS-registered), same skip-and-clean-stale-facer.conf behavior.

Signed by: Cleyton Alves
Co-authored by: Cleyton Alves <cleyton1986@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PHN16S-71 confirmed working, plus two protocol findings (brightness range and 0x0f mask)

2 participants