Cross-platform .NET 10 LCD controller service for HID-based LCD screens.
LCDPossible is an open-source alternative to vendor-specific Windows-only software for controlling HID-based LCD displays found in AIO coolers and other PC components.
Features:
- Real-time system monitoring (CPU, GPU, RAM temperatures and usage)
- Media playback (animated GIFs, videos, YouTube, web pages)
- 16+ built-in screensavers
- Slideshows with smooth transitions
- Plugin architecture for custom panels
- Virtual LCD simulator - Test and develop without hardware
- Cross-platform (Windows, Linux, macOS)
Full Documentation - Detailed guides, panel reference, configuration options
| Device | VID | PID | Resolution | Status |
|---|---|---|---|---|
| Thermalright Trofeo Vision 360 ARGB | 0x0416 | 0x5302 | 1280x480 | Fully Supported |
| Thermalright PA120 Digital | 0x0416 | 0x8001 | Segment | Driver Ready |
Additional HID-based LCD devices can be supported via the plugin system.
# List connected LCD devices
lcdpossible list
# Display system info
lcdpossible show basic-info
# Run a slideshow
lcdpossible show cpu-usage-graphic,gpu-usage-graphic,ram-usage-graphic
# Run a screensaver
lcdpossible show starfield
# Start the service
lcdpossible serveSee CLI Reference for all commands.
Don't have an LCD device yet? Use the Virtual LCD Simulator to test LCDPossible:
# Terminal 1: Start the simulator
dotnet run --project src/LCDPossible.VirtualLcd
# Terminal 2: Display panels on the virtual LCD
lcdpossible show cpu-infoThe simulator opens an Avalonia window that displays exactly what a real LCD would show. Perfect for:
- Trying LCDPossible before buying hardware
- Developing and testing custom panels
- Debugging display issues
See Virtual LCD Simulator for full documentation.
Windows (PowerShell as Administrator):
irm https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/install-windows.ps1 | iexUbuntu/Debian:
curl -sSL https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/install-ubuntu.sh | bashFedora/RHEL:
curl -sSL https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/install-fedora.sh | bashArch Linux:
curl -sSL https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/install-arch.sh | bashmacOS:
curl -sSL https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/install-macos.sh | bashProxmox VE (run as root):
curl -sSL https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/install-proxmox.sh | bashThese scripts install dependencies, set up USB permissions (Linux), and configure the service.
Windows (Manual)
- Download the latest
lcdpossible-x.x.x-win-x64.zipfrom Releases - Extract to a folder (e.g.,
C:\Program Files\LCDPossible) - Run
LCDPossible.exefrom the command line or add to PATH
Install as Windows Service:
lcdpossible service install
lcdpossible service startLinux (Manual)
# Install dependencies (Ubuntu/Debian)
sudo apt install vlc libvlc-dev fonts-dejavu-core
# Download and extract
wget https://github.com/DevPossible/lcd-possible/releases/latest/download/lcdpossible-x.x.x-linux-x64.tar.gz
sudo mkdir -p /opt/lcdpossible
sudo tar -xzf lcdpossible-*.tar.gz -C /opt/lcdpossible
sudo ln -sf /opt/lcdpossible/lcdpossible /usr/local/bin/
# Install udev rules for USB access
sudo tee /etc/udev/rules.d/99-lcdpossible.rules << 'EOF'
SUBSYSTEM=="usb", ATTR{idVendor}=="0416", ATTR{idProduct}=="5302", MODE="0666", TAG+="uaccess"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0416", MODE="0666", TAG+="uaccess"
EOF
sudo udevadm control --reload-rules && sudo udevadm triggermacOS (Manual)
# Install dependencies
brew install vlc
# Download and extract
curl -LO https://github.com/DevPossible/lcd-possible/releases/latest/download/lcdpossible-x.x.x-osx-x64.tar.gz
mkdir -p ~/.local/share/lcdpossible
tar -xzf lcdpossible-*.tar.gz -C ~/.local/share/lcdpossible
# Add to PATH
echo 'export PATH="$HOME/.local/share/lcdpossible:$PATH"' >> ~/.zshrc
source ~/.zshrcRequires .NET 10 SDK.
git clone https://github.com/DevPossible/lcd-possible.git
cd LCDPossible
./build.ps1
./test-full.ps1Windows (PowerShell as Administrator):
irm https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/uninstall-windows.ps1 | iexLinux (Ubuntu/Debian/Proxmox):
curl -sSL https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/uninstall-ubuntu.sh | sudo bashAdd --remove-config (Linux/macOS) or -RemoveConfig (Windows) to also remove configuration files.
| Topic | Description |
|---|---|
| Getting Started | First steps after installation |
| Virtual LCD Simulator | Test and develop without hardware |
| Panels | Available display panels with screenshots |
| Effects | Page effects and animations |
| Themes | Color themes |
| Configuration | Profiles, settings, service setup |
| CLI Reference | Command-line interface |
| Plugin Development | Creating custom panels |
| Troubleshooting | Common issues and solutions |
| Package | Purpose |
|---|---|
| HidSharp | Cross-platform USB HID |
| SixLabors.ImageSharp | Image processing |
| LibVLCSharp | Video playback |
| PuppeteerSharp | Headless browser |
| LibreHardwareMonitorLib | Hardware monitoring (Windows) |
Contributions are welcome! Please read the Implementation Plan for architecture details.
We use Conventional Commits:
feat: add new panel type # Minor version bump
fix: correct USB timeout handling # Patch version bump
feat!: redesign device driver API # Major version bump (breaking)
docs: update installation guide # No version bump
See Plugin Development for creating custom panels and device drivers.
MIT License - see LICENSE file.
- thermalright-lcd-control - Python GUI for Thermalright LCDs
- trlcd_libusb - C implementation with libusb
- digital_thermal_right_lcd - Python reference for PA120