Flash, boot, display — kiosk image installation guide
The xiboplayer kiosk images turn any hardware into a dedicated digital signage display. No Linux experience required — just flash, boot, and connect to your CMS.
Choose your image
| Image | File | Best for | Size |
|---|---|---|---|
| Everything ISO | .iso | PCs and laptops — offline install, no internet needed | ~2.5 GB |
| Netinstall ISO | .iso | PCs with internet — downloads packages during install | ~700 MB |
| Raw disk image | .raw.xz | Raspberry Pi, NUC — flash directly to SD/SSD | ~2 GB |
| QCOW2 | .qcow2 | Virtual machines (GNOME Boxes, virt-manager, QEMU) | ~2 GB |
| Atomic ISO | .iso | Immutable OS (fedora-bootc) — automatic updates with rollback | ~1.5 GB |
Download from the Downloads page or directly from GitHub Releases.
Step 1: Flash the image
PC / Laptop (ISO)
Use any USB flashing tool:
# Linux — replace /dev/sdX with your USB device
sudo dd if=xiboplayer-kiosk-*.iso of=/dev/sdX bs=4M status=progress
sync
Or use Balena Etcher, or Fedora Media Writer.
Raspberry Pi (raw image)
# Decompress and flash to SD card
xzcat xiboplayer-kiosk-*.raw.xz | sudo dd of=/dev/mmcblk0 bs=4M status=progress
sync
Or use Raspberry Pi Imager — click "Choose OS → Use custom" and select the .raw.xz file.
Virtual machine (QCOW2)
# GNOME Boxes — just double-click the .qcow2 file
# Or with virt-manager:
virt-install --name xiboplayer --memory 2048 --vcpus 2 \
--disk path=xiboplayer-kiosk-*.qcow2 --import --os-variant fedora43
Step 2: Boot and set up
Power on the device. The kiosk boots into a guided setup:
System setup (gnome-initial-setup)
The standard GNOME initial setup wizard runs first:
- Language — select your display language
- Keyboard — choose your keyboard layout
- Network — connect to Wi-Fi or verify Ethernet
- Timezone — auto-detected or manual selection
- Password — change the default password (recommended)
Player setup (xiboplayer-setup)
A native setup wizard then launches:
- Player selection — choose Electron (recommended), Chromium, or arexibo
- CMS configuration — for arexibo, enter the CMS URL and key directly. For Electron/Chromium, the player's web-based setup page handles this.
The wizard saves your choice and starts the player automatically.
Step 3: Connect to CMS
Electron / Chromium
After the kiosk wizard, the player opens its own setup page:
- Enter your CMS URL (e.g.,
https://cms.example.com) - Enter the CMS Key (from CMS → Settings → Display Settings → CMS Secret Key)
- Click Connect
arexibo
CMS credentials were already entered in the kiosk wizard. The player connects immediately.
Authorize in CMS
- Log into your Xibo CMS
- Go to Displays — find the new pending display
- Click the row menu → Authorise
- Content appears on the next collection cycle (within 5 minutes)
Step 4: Done
Your display is now running. It will:
- Auto-start on every boot — no login required
- Self-heal — health monitoring restarts the player if it crashes
- Update automatically — packages update via the system package manager
- Play offline — continues showing cached content if the CMS goes down
Atomic images — immutable OS
The Atomic variant is built on fedora-bootc — a minimal immutable base (~1.0 GB compressed vs 2.5 GB for Silverblue). Only the components needed for signage are included:
- Immutable base — the OS cannot be accidentally modified
- Automatic updates via
bootc switchwith automatic rollback on failure - Container-native — built as an OCI image, converted to installable ISO via
bootc-image-builder - Minimal footprint — no Firefox, no VLC, no unused GNOME apps. Just the player, codecs, and kiosk session
- If an update breaks something, the previous version is available at the boot menu
Best for: unattended displays in public spaces where reliability and small image size matter.
Keyboard shortcuts
Once running, these shortcuts are available:
| Shortcut | Action |
|---|---|
Ctrl+I | Show IP address, CMS URL, and player status |
Ctrl+R | Reconfigure CMS (stops player, restarts wizard) |
D | Toggle download progress overlay |
T | Toggle timeline/schedule overlay |
S | Toggle setup overlay |
Switching players
All three players are installed. Switch without reconfiguring CMS:
# Switch to Chromium (lighter)
doas alternatives --set xiboplayer /usr/bin/xiboplayer-chromium
# Switch to Electron (more features)
doas alternatives --set xiboplayer /usr/bin/xiboplayer-electron
# Switch to arexibo (native Rust)
doas alternatives --set xiboplayer /usr/bin/arexibo
Then restart: systemctl --user restart xibo-player.service
Troubleshooting
| Problem | Solution |
|---|---|
| Black screen after boot | Press Ctrl+I to check status. If nothing shows, check GDM: systemctl status gdm |
| No Wi-Fi networks | The image includes NetworkManager-wifi and linux-firmware. Check nmcli device wifi list |
| Can't change password | Default user is xibo, password xibo. Root is locked. Use passwd to change |
| Display not appearing in CMS | Check network (Ctrl+I), verify CMS URL and key, check firewall |
| Image won't boot on Pi | Ensure you used the .raw.xz image (not the ISO). Use Pi Imager with "Use custom" |
Next steps
- Connect a Display — detailed CMS connection guide
- Configuration Reference — all config options
- Troubleshooting — more solutions
- Multi-Display Sync — set up video walls
