Features

xiboplayer achieves 100% feature parity with the upstream Xibo players while adding unique capabilities not found in any other player.

Highlights

🚀

Full REST API v2 (CMS v4+)

The first and only Xibo player with complete REST API v2 support. JWT authentication, ETag 304 caching, v2 dependency pipeline, and automatic transport detection. No PHP ext-soap required on the server. Falls back to SOAP/XML for older CMS versions automatically.

🗄️

Idempotent Cache-Through

Both REST and XMDS transports converge on the same proxy mirror paths, making the ContentStore completely transport-agnostic. XMDS signed URLs are automatically rewritten to local proxy paths, eliminating CORS failures.

📡

Offline-First Architecture

The entire player works offline. Schedule, settings, and media are cached in IndexedDB and Cache API. Stats and logs queue locally and sync when connectivity returns.

Fastest Downloads

4-chunk parallel downloads with dynamic sizing based on device RAM. A 1GB file downloads in 1-2 minutes vs ~5 minutes on other players.

🔄

Instant Layout Replay

Pre-creates all widget DOM elements at layout load, then toggles visibility instead of recreating DOM nodes. Layout replay takes <0.5s vs 2-3s on XLR.

🌐

Cross-Platform

Runs on any device with a modern browser — Linux, macOS, ChromeOS, Android, iOS. Native packages (RPM/DEB) for Linux desktops and kiosks.

📄

PDF Support

Native PDF rendering via PDF.js (lazy-loaded). No other Xibo player renders PDF content.

💿

Bootable Images

Pre-built ISO, raw disk, and QCOW2 images for x86_64 and aarch64. Flash and boot — the kiosk is ready with zero configuration.

🖥️

Complete Kiosk OS

GNOME Kiosk session with health monitoring, first-boot wizard, keyboard shortcuts, on-screen notifications, and the alternatives system for swapping players.

🧩

Modular SDK

13 npm packages with clear separation of concerns: core, renderer, cache, schedule, xmds, xmr, stats, settings, crypto, sync, proxy, utils, sw. 1625 tests across 49 suites.

📺 Multi-Display Sync & Video Walls

The most capable multi-display sync in any Xibo player. Turn every screen in your space into a single coordinated experience. TVs, LED totems, video walls — all acting as one.

🏢

Venue-wide coordination

Imagine a retail store where every display transitions simultaneously, a hotel lobby where screens ripple content in a choreographed wave, or a stadium where dozens of screens play a unified message. Effects no single screen can achieve.

🎬

12 choreography effects

Diagonal cascades, horizontal/vertical waves, center-out bursts, staggered reveals, and more. Each display transitions at a different time based on its position in the grid — creating dramatic visual stories across your screens.

<8ms precision, zero infrastructure

All displays switch within 8 milliseconds of each other over your existing LAN. No sync boxes, no special hardware, no extra servers — just a WebSocket relay built into the lead display.

🖥️

Any screen, any hardware

Mix Raspberry Pi, Intel NUC, laptops, any screen size. Electron + Chromium on the same network. Mirror mode (all identical) or wall mode (each screen shows a unique portion).

Mirror mode — all screens show the same content, switching in perfect unison
Wall mode — each screen shows a different portion of the composition via layoutMap
Token-authenticated WebSocket relay — secure LAN sync using the existing HTTP port
Offline LAN sync — displays sync with each other even when the CMS is unreachable
Stats delegation — followers route stats/logs through the lead, reducing CMS traffic
Sync group isolation — multiple walls share one relay without interference
Works on Electron and Chromium — both kiosk platforms fully tested

⚡ Performance

MetricXLR v1.0.22Windows v4arexiboXiboPlayer
Initial load (cold)17-20s5-10s12-15s3-5s
Layout replay2-3s1-2s<1s<0.5s
1GB file download~5 min~5 min~5 min1-2 min
Memory after 10 cycles+500MBStableStableStable
Bundle size~2MB~50MB~10MB~500KB
Widget switch time~200ms~100ms~100ms<50ms
Multi-display syncN/A~50-100msN/A<8ms
Choreography effectsNoneNoneNone12 effects