Skip to content

enable predator_sense and four_zone_kb on PH315-53#98

Open
kali9c9 wants to merge 2 commits into
0x7375646F:mainfrom
kali9c9:add-ph315-52-quirk
Open

enable predator_sense and four_zone_kb on PH315-53#98
kali9c9 wants to merge 2 commits into
0x7375646F:mainfrom
kali9c9:add-ph315-52-quirk

Conversation

@kali9c9

@kali9c9 kali9c9 commented Mar 23, 2026

Copy link
Copy Markdown

The PH315-53 quirk currently only sets .turbo, .cpu_fans, and .gpu_fans.
This leaves predator_sense features (fan speed control, battery limiter,
LCD override, etc.), four_zoned_kb (RGB effects and per-zone colors), and
hwmon fan RPM unavailable.

The PH315-53 runs PredatorSense v3 firmware, which supports these features
through the same WMI methods used by v4 devices, but does not implement
the platform_profile thermal mode methods (22/23 sub-functions 0xA/0xB).
Setting predator_v4 = 1 would work but wastes ~7 seconds on boot running
a 10-retry registration loop that can never succeed.

This patch:

  1. Extends predator_v4 to support value 2, which enables predator_sense
    and fan speed capabilities without attempting platform_profile
    registration. This mirrors the existing nitro_sense == 2 convention.

  2. Fixes the early-exit guard in acer_platform_profile_setup() to use
    explicit == 1 checks instead of truthy checks, so value-2 devices
    (and nitro_sense == 2) actually skip the retry loop.

  3. Adds .predator_v4 = 2 and .four_zone_kb = 1 to the existing
    PH315-53 quirk.

Tested on PH315-53: fan control, battery limiter, RGB effects, per-zone
colors, hwmon, and turbo all work. Module loads with no platform_profile
retry warnings.

kali9c9 added 2 commits March 18, 2026 16:17
The PH315-52 (2019 Helios 300) currently has no quirk entry.
Without one, predator_sense features (fan control, battery limiter,
RGB keyboard) and four_zoned_kb support are not available.

Add a dedicated quirk matched by DMI_BOARD_NAME QX50_CMS (the
PH315-52 motherboard identifier). DMI_BOARD_NAME is used instead
of DMI_PRODUCT_NAME because some units with BIOS V2.04 incorrectly
report system-product-name as Predator PH315-53.

Platform_profile fails gracefully on PredatorSense v3 firmware
(existing retry logic handles this). All other features work:
fan control (methods 14+16), battery health (methods 20/21),
RGB keyboard (methods 6/7/20/21).

Tested on: PH315-52, i7-10750H, BIOS V2.04, CachyOS kernel 6.19.7.
The PH315-53 quirk currently only sets .turbo, .cpu_fans, and .gpu_fans.
This leaves predator_sense features (fan speed control, battery limiter,
LCD override, etc.), four_zoned_kb (RGB effects and per-zone colors), and
hwmon fan RPM unavailable.

The PH315-53 runs PredatorSense v3 firmware, which supports these features
through the same WMI methods used by v4 devices, but does not implement
the platform_profile thermal mode methods (22/23 sub-functions 0xA/0xB).
Setting predator_v4 = 1 would work but wastes ~7 seconds on boot running
a 10-retry registration loop that can never succeed.

This patch:

1. Extends predator_v4 to support value 2, which enables predator_sense
   and fan speed capabilities without attempting platform_profile
   registration. This mirrors the existing nitro_sense == 2 convention.

2. Fixes the early-exit guard in acer_platform_profile_setup() to use
   explicit == 1 checks instead of truthy checks, so value-2 devices
   (and nitro_sense == 2) actually skip the retry loop.

3. Adds .predator_v4 = 2 and .four_zone_kb = 1 to the existing
   PH315-53 quirk.

Tested on PH315-53: fan control, battery limiter, RGB effects, per-zone
colors, hwmon, and turbo all work. Module loads with no platform_profile
retry warnings.
@kali9c9 kali9c9 changed the title linuwu_sense: enable predator_sense and four_zone_kb on PH315-53 enable predator_sense and four_zone_kb on PH315-53 Mar 23, 2026
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.

1 participant