Skip to content

Cross-platform .NET LCD controller for HID-based LCD screens (Thermalright Trofeo Vision, etc.)

License

Notifications You must be signed in to change notification settings

DevPossible/lcd-possible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

152 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LCDPossible

Cross-platform .NET 10 LCD controller service for HID-based LCD screens.

CI Release License

Overview

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

Supported Devices

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.

Quick Start

# 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 serve

See CLI Reference for all commands.

Try Without Hardware

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-info

The 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.

Installation

One-Line Install (Recommended)

Windows (PowerShell as Administrator):

irm https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/install-windows.ps1 | iex

Ubuntu/Debian:

curl -sSL https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/install-ubuntu.sh | bash

Fedora/RHEL:

curl -sSL https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/install-fedora.sh | bash

Arch Linux:

curl -sSL https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/install-arch.sh | bash

macOS:

curl -sSL https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/install-macos.sh | bash

Proxmox VE (run as root):

curl -sSL https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/install-proxmox.sh | bash

These scripts install dependencies, set up USB permissions (Linux), and configure the service.

Manual Installation

Windows (Manual)
  1. Download the latest lcdpossible-x.x.x-win-x64.zip from Releases
  2. Extract to a folder (e.g., C:\Program Files\LCDPossible)
  3. Run LCDPossible.exe from the command line or add to PATH

Install as Windows Service:

lcdpossible service install
lcdpossible service start
Linux (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 trigger
macOS (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 ~/.zshrc

Build from Source

Requires .NET 10 SDK.

git clone https://github.com/DevPossible/lcd-possible.git
cd LCDPossible
./build.ps1
./test-full.ps1

Uninstall

Windows (PowerShell as Administrator):

irm https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/uninstall-windows.ps1 | iex

Linux (Ubuntu/Debian/Proxmox):

curl -sSL https://raw.githubusercontent.com/DevPossible/lcd-possible/main/scripts/uninstall-ubuntu.sh | sudo bash

Add --remove-config (Linux/macOS) or -RemoveConfig (Windows) to also remove configuration files.

Documentation

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

Technology Stack

Package Purpose
HidSharp Cross-platform USB HID
SixLabors.ImageSharp Image processing
LibVLCSharp Video playback
PuppeteerSharp Headless browser
LibreHardwareMonitorLib Hardware monitoring (Windows)

Contributing

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.

License

MIT License - see LICENSE file.

Acknowledgments

About

Cross-platform .NET LCD controller for HID-based LCD screens (Thermalright Trofeo Vision, etc.)

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •