# legion-gpu-rgb: reconstructing Lenovo GPU lighting control

> legion-gpu-rgb reconstructs RGB lighting control for a Lenovo OEM RTX 5070 Ti by tracing its DDC-side NvAPI I2C transactions. It documents the controller's register writes and supplies a Python controller, an OpenRGB plugin and a patch that exposes the DDC bus to OpenRGB.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-08
- Original resource: <https://github.com/violentbunny/legion-gpu-rgb>
- Primary source: <https://github.com/violentbunny/legion-gpu-rgb/blob/849d0111f5b35d3a6968e011aff820b8156f39c1/docs/protocol.md>
- Catalog page: <https://awesomerea.org/resources/legion-gpu-rgb-case/>
- Record JSON: <https://awesomerea.org/resources/legion-gpu-rgb-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/legion-gpu-rgb-case/index.md)

## Requirements & limits

- **Prerequisites:** The documented hardware is the Lenovo OEM RTX 5070 Ti with PCI ID 10DE:2C05 and subsystem 17AA:C773; other cards are untested.
- **Prerequisites:** The standalone tool requires Python 3 and an NVIDIA driver; the plugin targets OpenRGB 1.0rc3 or 1.0rc3.1, plugin API 4 and Qt 5.15.0.
- **Limits:** Only static effect 0x01 is implemented; the author reports that a colour update takes about 555 ms.
- **License:** GPL-2.0-or-later licence.

## Primary sources

1. <https://github.com/violentbunny/legion-gpu-rgb/blob/849d0111f5b35d3a6968e011aff820b8156f39c1/docs/protocol.md>
2. <https://github.com/violentbunny/legion-gpu-rgb/blob/849d0111f5b35d3a6968e011aff820b8156f39c1/README.md>

## More in Protocols

- [SoundcoreBridge: reconstructing Soundcore Space 2 headphone controls](https://awesomerea.org/resources/soundcorebridge-case/index.md) · Case study
- [NiimBridge: reconstructing the NIIMBOT D110_M print protocol](https://awesomerea.org/resources/niimbridge-d110m-case/index.md) · Case study
- [OMS fingerprint module: reconstructing USB communication for a Linux driver](https://awesomerea.org/resources/oms-fingerprint-linux-case/index.md) · Case study
- [zwift-api: mapping Zwift's private data endpoints](https://awesomerea.org/resources/zwift-api-case/index.md) · Case study
- [Gear VR Controller: decoding Samsung's BLE remote protocol](https://awesomerea.org/resources/gear-vr-controller-ble-case/index.md) · Case study
- [Acer Predator Helios 16: reconstructing Linux lighting control](https://awesomerea.org/resources/acer-predator-helios-16-rgb-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
