Repository navigation
MultiDisplayVCP Server v2.0 is a complete architectural evolution, delivering cross-platform DDC/CI monitor control across Windows, Linux, and macOS, paired with dual-mode high-performance networking.
Key Highlights & Features
- Cross-Platform Daemons & Installers:
- Windows: Modernized WinForms tray application with an Inno Setup installer (
.exe) and portable archive (.zip). - Linux (x64): Headless daemon with automated systemd installer (
install.sh) supporting kernel I2C /ddcutil. - macOS (Apple Silicon & Intel): Headless daemon with automated LaunchAgent installer (
install.sh) supportingddcctl.
- Windows: Modernized WinForms tray application with an Inno Setup installer (
- Dual-Mode Networking:
- MagicOnion gRPC (HTTP/2): Zero-allocation, high-throughput protocol designed for Macro Deck 3 clients.
- Raw TCP Socket: Retains 100% backward compatibility for Macro Deck 2 and enables open integration for third-party tools (Stream Deck, Bitfocus Companion, Home Assistant).
- HMAC-SHA256 Challenge Authentication: Sliding timestamp validation prevents replay attacks.
Client Compatibility
| Client | Protocol | Compatibility |
|---|---|---|
| Macro Deck 3 Client (v3.0.0+) | MagicOnion gRPC (HTTP/2) + TCP fallback | Full Support |
| Macro Deck 2 Client (v2.0.0) | Raw TCP socket | Full Support |
| Custom / Stream Deck / Companion | Raw TCP socket or gRPC | Full Support |
Quick Start / Installation
Windows
- Recommended Setup: Download and run
MultiDisplayVCPServer_Windows_v2.0.0_Setup.exe. - Portable: Download and extract
MultiDisplayVCPServer_Windows_v2.0.0.zip, then launchMultiDisplayVCPServer.exe.
Linux (x64)
- Install prerequisites:
sudo apt install ddcutil i2c-tools && sudo modprobe i2c-dev - Extract archive:
tar -xzf MultiDisplayVCPServer_Linux_x64_v2.0.0.tar.gz - Run the installer (installs binary and enables systemd service):
sudo ./install.sh
macOS (Apple Silicon & Intel)
- Install prerequisites:
brew install ddcctl - Extract archive:
tar -xzf MultiDisplayVCPServer_macOS_<arch>_v2.0.0.tar.gz - Run the installer (installs binary and enables background LaunchAgent):
./install.sh