arexibo

Native Xibo player built in Rust with Qt6 WebEngine rendering. Standalone — does not use the PWA engine or the JavaScript SDK.

Features

  • Native Rust — low resource usage, fast startup
  • Qt6 WebEngine — hardware-accelerated rendering
  • XMDS SOAP v5 — generated from WSDL at compile time
  • XMR WebSocket — real-time commands with ARC4 decryption
  • Serial port control — hardware integration for displays
  • Offline mode — cached schedule playback with --allow-offline

Install

Fedora / RHEL

sudo dnf install https://dl.xiboplayer.org/rpm/fedora/43/noarch/xiboplayer-release-43-7.fc43.noarch.rpm
sudo dnf install arexibo

Ubuntu / Debian

curl -fsSL https://dl.xiboplayer.org/deb/GPG-KEY.asc | sudo tee /usr/share/keyrings/xiboplayer.asc > /dev/null
echo "deb [signed-by=/usr/share/keyrings/xiboplayer.asc] https://dl.xiboplayer.org/deb/debian/trixie ./" | sudo tee /etc/apt/sources.list.d/xiboplayer.list
sudo apt update && sudo apt install arexibo

Usage

arexibo --cms https://cms.example.com --key YOUR_KEY
arexibo --allow-offline ~/.local/share/xibo    # offline mode

Architecture

Rust backend (Handler thread)
  ├── XMDS SOAP client (auto-generated from xmds_v5.wsdl)
  ├── XMR WebSocket (RSA + ARC4 decryption)
  ├── Schedule parser
  └── File cache manager
         ↕ crossbeam-channel
Qt GUI thread
  └── Qt6 WebEngine (layout rendering)

Comparison with SDK-based players

arexiboElectron/Chromium
LanguageRust + C++ (Qt)JavaScript
RenderingQt6 WebEngineChromium (bundled or system)
ProtocolXMDS SOAP v5 onlySOAP + REST (auto-detect)
Video wallsNot supported<8ms sync, 12 effects
Binary size~15 MB~150 MB (Electron) / ~5 MB (Chromium)
Alternatives priority10 (lowest)60 / 50

Source