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
| arexibo | Electron/Chromium | |
|---|---|---|
| Language | Rust + C++ (Qt) | JavaScript |
| Rendering | Qt6 WebEngine | Chromium (bundled or system) |
| Protocol | XMDS SOAP v5 only | SOAP + REST (auto-detect) |
| Video walls | Not supported | <8ms sync, 12 effects |
| Binary size | ~15 MB | ~150 MB (Electron) / ~5 MB (Chromium) |
| Alternatives priority | 10 (lowest) | 60 / 50 |
Source
- GitHub: xibo-players/arexibo
- Original upstream: birkenfeld/arexibo
