Skip to content

FPP 10.0-beta

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Jul 17:30
· 306 commits to master since this release

FPP 10.0 (Beta) — Release Highlights

NOTE: This is a BETA release built on a new OS foundation (Debian 13 "Trixie") with 1000+ changes since 9.5. Back up your config before upgrading, and please report issues.

Thanks to all those who contributed through the FPP 10.0 development process in 2026. Without those of you contributing to the development and testing this release would not be possible.

At a Glance

  • New 64-bit Raspberry Pi images — better performance and more headroom for large shows on Pi 3/4/5, Zero 2W, and CM4/CM5
  • Faster, re-worked boot process — your FPP comes online and starts playing sooner after power-up
  • New PipeWire + GStreamer media engine — smoother, more reliable audio/video playback, with multi-room/multi-zone audio support
  • Revamped System Upgrade page — clearer guidance on which upgrade type or image to pick and what to expect during the upgrade
  • Revamped Network Settings page — easier network setup and fewer connectivity surprises
  • Revamped Plugin Manager — find, install and upgrade relevant plugins faster
  • Revamped GPIO input page — new features to unleash the interactivity in your display
  • And much, much more - RGBW features, Channel tester, 3D Virtual Display, Improved System Health Check
  • New Calendar view of Schedule - easier to understand display of your schedules

See below for further details


Upgrading to FPP 10

  • Brand new arm64 images recommended for all 64-bit capable Pi's (Pi 3, Pi 4, Pi 5, Pi Zero 2W, Compute Module 4/5) and PocketBagle2
  • The original 32-bit images remains available for older/32-bit-only boards (Pi B, B+, Zero, Zero W) & other Beagles
  • Moving from 32-bit to 64-bit requires re-imaging — an in-place OS upgrade cannot switch architectures. Back up your config, flash the new image, restore config.

Option A — Fresh install (required if moving 32-bit → 64-bit)

  1. Back up your FPP config
  2. Flash the FPP10 image
  3. Restore your config

Option B — In-place upgrade (only if staying on the same architecture)

  1. Make sure you're fully updated on FPP 9.x (or 8.x) first
  2. About → Upgrade OS → pick the 10.0 image for your board
  3. Let it download, install, and reboot
  4. Delete the fppos file from File Manager → Uploads
  5. If it fails to boot, power-cycle it (some devices need this due to library changes)

Which image do I need?

Board Image
64-bit capable Pi (3/4/5, Zero 2W, CM4/CM5) FPP-v10.0-beta-Pi64.img.zip
Older/32-bit-only Pi FPP-v10.0-beta-Pi.img.zip
BeagleBone Black/Green/PocketBeagle/Green Gateway FPP-v10.0-beta-BBB.img.zip
PocketBeagle2 FPP-v10.0-beta-BB64.img.zip

Backwards Compatibility Notes

  • Only in-kernel WiFi drivers are included now — some older USB WiFi adapters may no longer work post-upgrade
  • VLC and SDL media backends removed — replaced by GStreamer/PipeWire
  • rpi_ws281x driver dropped — Pi string outputs now use DPIPixels
  • Only in-kernel WiFi drivers included; some older USB adapters may stop working
  • "Remote XXXX" FPP commands removed (deprecated since 9.0) — use normal FPP commands with MultiSync checkbox and target set
  • "FPD" dongle / PixelNet output removed (deprecated since 9.0)
  • Debian 12 → 13 library upgrades mean most plugins will need updating/reinstalling

FPP 10 Beta 1 Release details:

Faster, Re-worked Boot Process

  • Debian 12 → Debian 13 "Trixie" brings a newer kernel, newer libraries, and a reworked boot sequence that's faster end-to-end

New PipeWire + GStreamer Media Engine

FPP's audio/video pipeline has been rebuilt from the ground up. The legacy VLC and SDL backends are gone.

  • New PipeWire audio backend with "Simple" and "Advanced" modes
  • Multi-zone audio — define audio groups, route media to multiple outputs, with per-output real-time volume and EQ
  • Routing Matrix and a live pipeline Graph Visualizer
  • User-defined sound card aliases (friendly names), stable across reboots and USB changes
  • AES67 audio-over-IP output (PTP-synced, standards-compliant)
  • Opus RTP streaming (unicast and multicast)
  • Rebuilt video playback through GStreamer/KMS — HDMI and DSI output, video-to-Pixel-Overlay
  • yt-dlp support for playing YouTube URLs
  • Audio card presence monitoring, USB bandwidth checks, and matching UI warnings

Other Notable Enhancements

UI

  • Dark mode across the entire UI
  • New 3D Virtual Display with three.js transform controls
  • Redesigned Testing page — "DMX Tester" is now "Channel Fader," plus RGB/RGBW testing, color fades, DMX sine-wave generator
  • New API docs (Scalar/OpenAPI), including C++ command APIs
  • Support-bundle download, consolidated logging
  • Improved System Health Check, fan and PipeWire/GStreamer status in system stats
  • Detailed warning messages and suggestions for troubleshooting

MultiSync

  • Sort and save display order of systems
  • Option to send sync to all known FPP remotes via unicast

Playback & Playlists

  • New Global Pause and global inter-item delay setting
  • Mass-select items in playlist editor
  • Missing sequence/media indicators shown inline
  • Randomization indicators on playlists

Capes / Hats / Outputs

  • DPIPixels: full string length on all outputs for capes with latch chips (e.g. K8-Pi), variable frame rate without reboot
  • DPIPixels: Framerate improvements based on configure pixels per port
  • Raspberry Pi string outputs migrated from rpi_ws281x to DPIPixels
  • BBShiftPanel: new PWM panel chip support, 16-output support, higher refresh rates, shared panels+strings cape
  • Falcon V4/V5 smart receiver protocol support (BBB48String)
  • Performance improvements on older Beagle boards (BBBMatrix, BBShiftString)
  • New panel interleave types (DoubleZ), FBMatrix horizontal-flip
  • E1.31 sync universes (input/output) and priority handling on incoming bridge data
  • EEPROM upgrade improvements with automatic hardware selection

Other Hardware

  • Fan control: fan-on temperature, adjustable trip points, presence detection
  • uDMX enhancements and a new servo API command
  • GPIO Open-drain pin mode support
  • Support for GPIO expanders without an INT pin

WLED Improvements

  • WLED-Native discovery API and simple overlay UI
  • WLED audio-reactive networking, additional ported WLED FX effects
  • RGBW support in Pixel Overlay Model systems

Under the hood

  • HTTP layer moved from libhttpserver to drogon
  • Distributed compilation via distcc/nocc
  • Playwright UI testing, Dev Container, Docker matrix (amd64/arm64) builds
  • asan/tsan build targets
  • Crash-reporting improvements (watchdog, optional fpp_stats.json context)
  • Thread-safety cleanup: migration to std::thread/mutex throughout
  • Numerous playlist teardown, locking, and nested-playlist stability fixes
  • chrony replaces ntpsec for time synchronization
  • Frontend modernized: bootstrap-table replaces tablesorter, jQuery 4.x, FontAwesome 7.x, Bootstrap 5.3.8
  • fppd status pushed over WebSocket instead of polled