Skip to content

Add support for Lian Li GA II LCD AIO cooler#795

Merged
jonasmalacofilho merged 31 commits into
liquidctl:mainfrom
iliakhubuluri:lianli-ga2
Feb 9, 2026
Merged

Add support for Lian Li GA II LCD AIO cooler#795
jonasmalacofilho merged 31 commits into
liquidctl:mainfrom
iliakhubuluri:lianli-ga2

Conversation

@iliakhubuluri

@iliakhubuluri iliakhubuluri commented Jun 4, 2025

Copy link
Copy Markdown
Contributor

This pull request adds support for Lian Li GA II LCD, and possibly Lian Li GA II Trinity AIO coolers.

This device is controlled by host application (L-Connect on Windows) by USB HID communication. The driver was implemented by inspecting this communication with USBPcap.

Tested features on Linux:

  • Initialize which just returns the firmware version. Is it a good idea to prevent the driver to work unless the driver is initialized expected firmware version is detected?
  • Read status. this includes coolant temperature, fan speed, and pump speed.
  • Set fixed fan speed
  • Set fixed pump speed
  • Set pump lighting

Not tested:

  • Fan lighting control
  • Lian Li GA II Trinity. Theoretically should be the same device but without LCD

Not implemented:

  • Screen control

Checklist:

  • Adhere to the [development process]
  • Conform to the [style guide]
  • Verify that the changes work as expected on real hardware
  • Add automated tests cases
  • Verify that all (other) automated tests (still) pass
  • Update/add documentation
    • README, with ["new/changed in" notes]
    • applicable docs/*guide.md device guides, with ["new/changed in" notes]
    • liquidctl.8 Linux/Unix/Mac OS man page
    • protocol documentation in docs/developer/protocol
  • Submit relevant data, scripts or dissectors to https://github.com/liquidctl/collected-device-data

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/

@iliakhubuluri

Copy link
Copy Markdown
Contributor Author

Done some tests with custom fork of coolercontrold on Linux
image
image

@iliakhubuluri iliakhubuluri marked this pull request as ready for review June 8, 2025 08:39

@jonasmalacofilho jonasmalacofilho left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Hey, thanks for the PR, and sorry for the late feedback. I've been swamped...

I left some comments, please take a look.

Comment thread liquidctl/driver/ga2_lcd.py Outdated
Comment thread liquidctl/driver/ga2_lcd.py Outdated
Comment thread liquidctl/driver/ga2_lcd.py Outdated
Comment thread liquidctl/driver/ga2_lcd.py Outdated
Comment on lines +148 to +151
if channel == "pump":
self._set_pump_lighting(mode, colors, speed, direction, **kwargs)
elif channel == "fan":
self._set_fan_lighting(mode, colors, speed, direction, **kwargs)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

There's too much duplication between the two functions. As a result of fixing that, this should likely be refactored too.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I did refactor color writing to a static function to reduce duplication. Apart from that I'd say these two functions should not be unified, as they have different mode and speed options and different byte structure as well.

Comment thread liquidctl/driver/ga2_lcd.py Outdated
Comment thread liquidctl/driver/ga2_lcd.py Outdated
Comment thread liquidctl/driver/ga2_lcd.py Outdated
Comment thread liquidctl/driver/ga2_lcd.py Outdated
Comment thread docs/lian-li-ga-ii-lcd-guide.md
@iliakhubuluri

Copy link
Copy Markdown
Contributor Author

Hi, thank you for reviewing the PR, I made changes accordingly. Let me know if there is anything else I can improve.

@jonasmalacofilho jonasmalacofilho merged commit 42a0022 into liquidctl:main Feb 9, 2026
13 checks passed
@jonasmalacofilho

Copy link
Copy Markdown
Member

Nothing of concern comes to mind, merging. Thanks!

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