Case study
cooler-lcd: a Thermalright display protocol implementation
Implements a USB picture-transfer driver for Thermalright Vision cooler displays, with a Rust dashboard replacing the vendor display application. The documented protocol sends a header and JPEG frames, with periodic resends to prevent the device reverting to its logo.
Requirements and limitations
- Package 0.1.0 uses Rust edition 2024 and targets the 480×480 USB 87ad:70db display family; other cooler/display models are not established by this review.
- Its documented environment is Linux with udev/systemd and Omarchy integration. Hyprland supplies away/lock state; NVIDIA telemetry uses NVML, and individual screens need their own optional services.
- The driver cites TRCC Linux reverse-engineering notes for its 64-byte frame header and JPEG payload, with one-second keepalive resends. Device handling and reported CPU/memory figures were not independently measured here.
- Only one process can own the display at once; the vendor TRCC application must relinquish it. Preview rendering is not a hardware compatibility test.
- MIT-licensed code. Optional traffic/map feeds and other external services retain their own terms. The primary files do not establish REA use.
About this entry
- Type
- Case study
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Targets
- Protocol
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- https://github.com/kristjaningi/cooler-lcd/blob/9a343678ba102de784b2302f79c53fd6ddc31ab9/README.md
- https://github.com/kristjaningi/cooler-lcd/blob/9a343678ba102de784b2302f79c53fd6ddc31ab9/Cargo.toml
- https://github.com/kristjaningi/cooler-lcd/blob/9a343678ba102de784b2302f79c53fd6ddc31ab9/src/device.rs
- https://github.com/kristjaningi/cooler-lcd/blob/9a343678ba102de784b2302f79c53fd6ddc31ab9/LICENSE