💿
Kiosk Images
xiboplayer-kiosk
Pre-built bootable images for PCs and Raspberry Pi — flash, boot and display.
🖥️PC, Raspberry Pi and virtual machines
🔒Atomic bootc with rollback
🩺Health monitoring + auto-restart
🔄Switch players without reconfiguring
Available Images
Traditional (Fedora 43 + Kickstart)
| Image | Hardware | Format |
|---|---|---|
| ISO installer | Any PC or laptop | Flash to USB, boot — fully automated install |
| Self-contained ISO | Any PC (no network) | Offline ISO with all packages included |
| Raw disk (x86_64) | Intel NUC, embedded PCs | Write directly to SSD or SD card |
| Raw disk (aarch64) | Raspberry Pi 4/5 | Flash to SD card |
| QCOW2 | Virtual machines | GNOME Boxes, virt-manager, Proxmox, QEMU |
Atomic (immutable OS, fedora-bootc)
| Image | Hardware | Format |
|---|---|---|
| Atomic ISO (x86_64) | Any PC or laptop | Immutable OS with atomic updates and rollback |
| Atomic ISO (aarch64) | Raspberry Pi 4/5, ARM boards | Same immutable OS for ARM hardware |
Download from GitHub Releases. See the Flash an Image guide for step-by-step instructions for each image type.
What's Included
- Fedora 43 with GNOME Kiosk (locked-down Wayland compositor)
- xiboplayer-kiosk + xiboplayer-electron pre-installed
- arexibo pre-installed (alternative native player)
- keyd (kernel-level keyboard shortcuts)
- VLC, mpv, ffmpeg, GStreamer, VA-API drivers
- WireGuard, avahi/mDNS, Wi-Fi support
- Auto-login to kiosk session
Atomic images additionally include: immutable OS (rpm-ostree), automatic updates via OCI container images, rollback support, full RPM Fusion codecs, and GNOME Showtime.
First Boot
- Log in with user
xibo/ passwordxibo - Change your password with
passwd - The kiosk setup wizard appears — enter your CMS URL, key, and display name
- The display registers with your CMS and starts playing content
Kiosk Features
| Feature | Description |
|---|---|
| GNOME Kiosk session | Dedicated Wayland compositor — no desktop shell, no app switching |
| Health monitoring | 10s polling, auto-restart on crash, distinguishes "not authorized" from errors |
| First-boot wizard | Zenity GUI — non-technical staff can register displays |
| On-screen notifications | Dunst overlay, persistent, color-coded by severity |
| Keyboard shortcuts | Ctrl+I (show status), Ctrl+R (reconfigure CMS) via keyd |
| Screen management | No blanking, no screensaver, no DPMS — via gsettings + logind |
| Resource limits | 1.5G memory cap, burst limits via systemd cgroups |
| Player-agnostic | Switch between Electron, Chromium, or arexibo at any time |
Player Selection
The kiosk uses the Linux alternatives system. Switch players without reconfiguring:
# See current player
alternatives --display xiboplayer
# Switch player
sudo alternatives --config xiboplayer
# Or set directly
sudo alternatives --set xiboplayer /usr/bin/xiboplayer-electron
sudo alternatives --set xiboplayer /usr/bin/xiboplayer-chromium
sudo alternatives --set xiboplayer /usr/bin/arexibo
Installing on Existing Linux
Instead of flashing an image, you can install xiboplayer-kiosk on your existing system:
Fedora
# Fedora 44
sudo dnf install \
https://dl.xiboplayer.org/rpm/fedora/43/noarch/xiboplayer-release-43-7.fc43.noarch.rpm
# Fedora 43
sudo dnf install \
https://dl.xiboplayer.org/rpm/fedora/43/noarch/xiboplayer-release-43-7.fc43.noarch.rpm
sudo dnf install xiboplayer-kiosk
sudo systemctl set-default graphical.target
Ubuntu
curl -fsSLO https://dl.xiboplayer.org/deb/ubuntu/24.04/all/xiboplayer-release_1.0.2_all.deb
sudo apt install ./xiboplayer-release_1.0.2_all.deb
sudo apt update && sudo apt install xiboplayer-kiosk
Debian Trixie / Raspberry Pi
curl -fsSL https://dl.xiboplayer.org/deb/DEB-GPG-KEY-xiboplayer | \
sudo tee /etc/apt/keyrings/xiboplayer.asc > /dev/null
echo "deb [signed-by=/etc/apt/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 xiboplayer-kiosk
Quick install for Raspberry Pi:
curl -fsSL https://dl.xiboplayer.org/install-raspberry-pi.sh | bash
Updating Atomic Kiosks
Atomic kiosks update automatically via rpm-ostreed-automatic.timer. To update or rebase manually:
# Update to latest image
rpm-ostree upgrade && systemctl reboot
# Rollback to previous version
rpm-ostree rollback && systemctl reboot
# Rebase from traditional to Atomic
rpm-ostree rebase ostree-unverified-registry:ghcr.io/xibo-players/xiboplayer-kiosk:43
systemctl reboot
