Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

feature: add support for Corsair Commander Duo (ARGB)#896

Open
ndizazzo wants to merge 1 commit into
liquidctl:mainliquidctl/liquidctl:mainfrom
ndizazzo:feature/corsair-commander-duo-supportndizazzo/liquidctl:feature/corsair-commander-duo-supportCopy head branch name to clipboard
Open

feature: add support for Corsair Commander Duo (ARGB)#896
ndizazzo wants to merge 1 commit into
liquidctl:mainliquidctl/liquidctl:mainfrom
ndizazzo:feature/corsair-commander-duo-supportndizazzo/liquidctl:feature/corsair-commander-duo-supportCopy head branch name to clipboard

Conversation

@ndizazzo

@ndizazzo ndizazzo commented May 13, 2026

Copy link
Copy Markdown

Add Corsair Commander DUO support

Add a new Corsair Commander DUO driver with fan status/control, ARGB lighting,
and capture-backed Device Memory lighting support.

The driver supports the DUO's two PWM fan channels and two standard 5 V ARGB
ports. Software lighting supports off and fixed, while Device Memory
lighting supports off, fixed, and rainbow through --non-volatile.
Device Memory lighting is intentionally limited to the observed global hardware
lighting endpoint (65 6d): fixed/off use the captured 7e 20 payload format,
and rainbow uses the captured 02 a4 payload. The implementation deliberately
does not write the nearby 61/62/63 6d endpoints because the captures and
Commander Core protocol parallels indicate those are cooling/profile data.

The user guide and protocol notes document the remaining limitations: DUO
hardware lighting is global rather than per-port, iCUE LINK devices are not
supported by this driver, and advanced Device Memory effects such as speed,
direction, palettes, readback APIs, and broader hardware profile management are
out of scope for this change.

Hardware verification was performed on a Commander DUO. Persistent rainbow and
persistent fixed 3200ff (50R 0G 255B) were written with --non-volatile and
visually confirmed to persist.

Related: Commander DUO USB captures used for protocol reverse engineering.


Checklist:

New CLI flag?

  • Adjust the completion scripts in extra/completions/

New device?

  • Regenerate extra/linux/71-liquidctl.rules (instructions in the file header)
  • Add entry to the README's supported device list with applicable notes and git MRLV

New driver?

  • Document the protocol in docs/developer/protocol/

Verification performed:

  • lsp_diagnostics clean for liquidctl/driver/__init__.py,
    liquidctl/driver/commander_duo.py, and tests/test_commander_duo.py
  • .venv/bin/python -m py_compile liquidctl/driver/__init__.py
    liquidctl/driver/commander_duo.py tests/test_commander_duo.py
  • .venv/bin/python -m pytest tests/test_commander_duo.py (22 passed)
  • driver import smoke test for commander_duo registration
  • git diff --check for tracked PR files

Copilot AI review requested due to automatic review settings May 13, 2026 22:56

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

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

Morty Proxy This is a proxified and sanitized view of the page, visit original site.