Kiosk Images
xiboplayer-kiosk
Pre-built bootable images for PCs and Raspberry Pi — flash, boot and display.
Images
| Image | Arch | Size | Download | Use case |
|---|---|---|---|---|
| Kickstart (traditional installer) | ||||
| Everything ISO | x86_64 | 1.1GB | xiboplayer-kiosk-everything_x86_64.iso | Offline install on PCs, NUCs, signage boxes. No internet needed — all packages bundled. Flash to USB, boot, walk away. |
| Everything ISO | aarch64 | 1.2GB | xiboplayer-kiosk-everything_aarch64.iso | Offline install on Raspberry Pi 5, ARM servers. |
| Netinstall ISO | x86_64 | 1.1GB | xiboplayer-kiosk-netinstall_x86_64.iso | Lightweight installer, downloads from Fedora mirrors. Always gets latest packages. |
| Netinstall ISO | aarch64 | 1.1GB | xiboplayer-kiosk-netinstall_aarch64.iso | Same for ARM64. Raspberry Pi 5 network install. |
| Disk images (ready to boot, no installer) | ||||
| QCOW2 | x86_64 | 1.7GB | xiboplayer-kiosk_x86_64.qcow2 | Virtual machines (QEMU/KVM, Proxmox, Gnome Boxes). Import and boot — no installation step. |
| QCOW2 | aarch64 | ~1.7GB | xiboplayer-kiosk_aarch64.qcow2 | ARM64 virtual machines. |
| Raw disk | x86_64 | 1.1GB | xiboplayer-kiosk_x86_64.raw.xz | Write to SSD/eMMC: xz -d *.raw.xz && dd if=*.raw of=/dev/sdX. Industrial/embedded. |
| Raw disk | aarch64 | ~1.1GB | xiboplayer-kiosk_aarch64.raw.xz | Raspberry Pi 5 SD card: xz -d *.raw.xz && sudo dd if=*.raw of=/dev/mmcblkX bs=4M status=progress. |
| Atomic (immutable OS, container-native updates) | ||||
| Atomic ISO | x86_64 | ~1.5GB | Latest Atomic release | Immutable Fedora bootc kiosk. bootc upgrade with instant rollback. Best for fleet deployments. |
| Atomic ISO | aarch64 | ~1.5GB | Latest Atomic release | Same for ARM64. RPi5 fleets, ARM kiosks. |
| OCI Container | multi-arch | — | ghcr.io/xiboplayer/xiboplayer-kiosk:43 | Pull with podman/docker. Base for custom images or bootc switch from existing Fedora. |
| Network boot (no USB/SD card needed) | ||||
| iPXE BIOS | x86 | 400KB | xiboplayer-ipxe-bios.img | Legacy BIOS PCs. Flash to USB or embed in PXE ROM. Boots from network, shows install menu. |
| iPXE UEFI | x86_64 | 1.1MB | xiboplayer-ipxe-uefi-x86_64.img | Modern UEFI PCs. Chainload from existing PXE or flash to USB. |
| iPXE UEFI | aarch64 | 1.1MB | xiboplayer-ipxe-uefi-aarch64.img | RPi5 with UEFI firmware, ARM servers. |
| iPXE script | any | 5KB | boot.ipxe | Boot menu script. Auto-detects arch. chain https://dl.xiboplayer.org/ipxe/boot.ipxe |
Quick Start
| I want to... | Download |
|---|---|
| Install on a PC with USB stick, no internet | Everything ISO x86_64 |
| Install on Raspberry Pi 5 | Raw disk aarch64 — dd to SD card |
| Test in a VM quickly | QCOW2 x86_64 — import into Gnome Boxes |
| Deploy 50 identical kiosks with fleet updates | Atomic ISO + bootc upgrade |
| Network boot a room of PCs | iPXE UEFI + boot.ipxe |
| Rebase existing Fedora to kiosk | bootc switch ghcr.io/xiboplayer/xiboplayer-kiosk:43 |
| Install on existing Fedora via RPM | sudo dnf install xiboplayer-release && sudo dnf install xiboplayer-kiosk xiboplayer-electron |
| Install on Ubuntu/Debian | See downloads page |
What's Included
All images ship with: xiboplayer-electron + xiboplayer-chromium + arexibo, VLC + mpv + ffmpeg (full codecs) + RPM Fusion plugins, GDM autologin → gnome-kiosk → player selection wizard, VA-API GPU acceleration + mesa-dri fallback, WiFi auto-reconnect + connectivity health-check, Secure Boot chain + GPG-signed packages, iPXE boot profile selection (xibo.profile=electron|chromium|full), bootc atomic updates + instant rollback (Atomic images).
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 | libadwaita GTK4 player selection + CMS registration — non-technical staff can set up 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 bootc-fetch-apply-updates.timer. To update or rebase manually:
# Update to latest image
bootc upgrade && systemctl reboot
# Rollback to previous version
bootc rollback && systemctl reboot
# Rebase from traditional to Atomic
bootc switch ghcr.io/xiboplayer/xiboplayer-kiosk:43
systemctl reboot
