Skip to content

feat(cooling-dock): BLE sync, dynamic TDP unlock, and fan/RGB control - #336

Open
gustavojoaquin wants to merge 3 commits into
hhd-dev:masterfrom
gustavojoaquin:master
Open

feat(cooling-dock): BLE sync, dynamic TDP unlock, and fan/RGB control#336
gustavojoaquin wants to merge 3 commits into
hhd-dev:masterfrom
gustavojoaquin:master

Conversation

@gustavojoaquin

Copy link
Copy Markdown
  • Add CoolingDockPlugin with BLE GATT sync loop (write-on-change, anti-flap)
  • Unlock 120W TDP slider when dock is active on AC power
  • Dynamic UI: hide fan/RGB controls when dock is disconnected
  • Udev rules to suppress dock volume events and block hidraw pairing
  • Turbo button macro fix (Ctrl+Meta+Alt combo interception)
  • 47 unit + integration tests covering sync lifecycle and TDP clamping

gustavojoaquin and others added 2 commits August 16, 2026 16:35
- Add CoolingDockPlugin with BLE GATT sync loop (write-on-change, anti-flap)
- Unlock 120W TDP slider when dock is active on AC power
- Dynamic UI: hide fan/RGB controls when dock is disconnected
- Udev rules to suppress dock volume events and block hidraw pairing
- Turbo button macro fix (Ctrl+Meta+Alt combo interception)
- 47 unit + integration tests covering sync lifecycle and TDP clamping
@antheas

antheas commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

This has a lot of changes and I can't review it today. One thing that pops out is that you use the old acpi call driver. It's deprecated now in favor of unified.py

Unfortunately, that driver does not allow for tdp overrides as they are baked in the kernel

You also added some fallback evdevs that are not needed? Hhd always runs as sudo

@gustavojoaquin

Copy link
Copy Markdown
Author

I checked amd-dptc isn't in mainline yet and its DMI table only has GPD Win 5. Until it's merged with an ONEXPLAYER SUPER X entry, unified has nothing to read.

@antheas

antheas commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

I checked amd-dptc isn't in mainline yet and its DMI table only has GPD Win 5. Until it's merged with an ONEXPLAYER SUPER X entry, unified has nothing to read.

The downstream kernel tree is here:
https://github.com/anatase-org/patchwork

It contains Apex and X2Mini Pro with DC/AC profile support when I add that to DTPC. However, autodetection of power supply raises an interesting issue that I do not know how to solve.

It's fine for you to add a config for it to the legacy driver. However, I won't merge behavioral changes such as detecting the dock or AC/DC for it. Let's leave the legacy driver without AC/DC detection

@antheas

antheas commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

You should spin off the dock changes and TDP as a separate PRs. If you make kernel patches on top of anatase-7.0 I will happily clean them and carry them on that kernel.

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.

2 participants