FPP 10.0

Falcon Player // open-source sequence player

FPP 10.0

Rebuilt from the bootloader up

A new OS foundation, a new kernel on every platform, an entirely new media engine, and silicon support that reaches further into the boards you already own. 1,440 changes since 9.5.

Release datasheetRev 10.0
Base OS
Debian 13 “Trixie”
Kernel
New on every platform
Arch
arm64 · armhf
Boards
Pi 3 / 4 / 5, Zero 2 W, CM4 / CM5
BeagleBone · PocketBeagle 2
Images
Pi64 · Pi · BBB · BB64
Docker
amd64 · arm64
Status
Available now
1,440Commits since 9.5
6Board & Docker images
4.6×Faster frame prep
8sSooner to fppd on a BBB
Subsystem key // Platform Media Pixels Panels Network Control
Platform

A new foundation

FPP 10.0 DEBIAN 13 · TRIXIE NEW LINUX KERNEL Pi64 Pi BBB BB64
  • Debian 12 → Debian 13 “Trixie” — newer libraries top to bottom
  • A new Linux kernel on every platform, with current Wi-Fi drivers, performance work and hardware fixes
  • Native arm64 images for Pi 3, 4, 5, Zero 2 W and CM4 / CM5
  • PocketBeagle 2 and PocketBeagle 2 Industrial supported
  • 32-bit images still built for older and 32-bit-only boards

More headroom for bigger shows

Platform

Boots faster, plays sooner

TIME TO FPPD START · SINGLE-CORE BBB FPP 9.5 54s FPP 10.0 46s ~8s SOONER
  • fppd starts about 8 seconds sooner on a single-core BeagleBone — several services taken off the critical path to fppd and the web UI
  • DHCP no longer drags in polkit and hostnamed just to set a hostname FPP already wrote itself
  • rsyslog deferred off the boot path; atd and ufw no longer ship enabled
  • Twelve unused PHP extensions dropped — 1.6 MB back per web worker
  • The new kernel reaches the network seconds earlier
  • The spoken IP announcement yields to fppd and the web server instead of fighting them for the core

Power on, show on

Media

An entirely new media engine

MEDIA PIPEWIRE ZONE A ZONE B AES67
  • PipeWire + GStreamer replace the VLC and SDL backends
  • Simple mode for one speaker, Advanced mode for everything else
  • Multi-zone audio — group outputs and route media to all of them
  • Real-time volume and EQ, per output
  • Routing Matrix, plus a live pipeline Graph Visualizer
  • Friendly sound-card aliases that survive a reboot or a re-plug

One graph, every speaker

Media

Audio over the network

SOURCE +0 MS +12 MS +30 MS
  • AES67 audio-over-IP output — PTP-synced and standards-compliant
  • Opus RTP streaming, unicast and multicast
  • Per-output delay compensation across zones
  • USB bandwidth checks, before you find out the hard way
  • Sound-card presence monitoring, with warnings that name the problem
  • A null sink for boards with no audio hardware at all

The whole yard is the speaker

Media

Video, rebuilt

DISPLAY 1 DISPLAY 2
  • Playback rebuilt on GStreamer / KMS — HDMI and DSI
  • Video output regions — one video can span two displays
  • Play Media can target any video output, not just the first
  • Video straight into a Pixel Overlay model, from any stream
  • yt-dlp support: hand it a YouTube URL and press play
  • Overlay Model Effect can draw and scroll images on a model, not just colours and patterns

More screens, more ways to fill them

Pixels

Know your pixels by name

WS2812B 800 KHZ SK6812 800 KHZ TM1814 CONST-I UCS1903 400 KHZ
  • Per-port protocols now actually apply — the setting was saved but never read
  • SK6812, WS2812B, WS2815 and the rest of the 800 kHz family, listed by name
  • TM18xx support, including TM1814’s constant-current preamble
  • 400 kHz parts — TM1803, TM1804, UCS1903 — now driveable
  • Parts that would be driven wrong are deliberately left off the list
  • Pixel string “Reverse” is saved again

Stop guessing which WS2811 you bought

Pixels

Faster pixel processing

CPU TIME TO PREPARE ONE FRAME 9.5 10.0 HEADROOM FOR MORE PIXELS
  • 4.6× faster panel frame prep — precomputed lookup tables and NEON accumulation
  • Pixel string prep tiled and fused — faster again on the same board
  • More pixels per controller before you run out of frame time
  • CPU handed back to the web UI — pages and test controls stay responsive while the show runs
  • Idle outputs park the PRUs instead of burning a core
  • DPIPixels replaces rpi_ws281x on every Pi string output, with variable frame rate per sequence and no reboot
  • Full string length on every port for latch-chip capes, plus Falcon V4 / V5 smart receivers

Same board, more pixels

Panels

Panels that drive themselves

ONE CAPE
  • Four new self-PWM chips: DP3364S, ICND1065L, SM16380SH, ICND2153
  • 1/64 scan register tables — no more stretching a 1/32 table to fit
  • Full-height layout uses both RGB lanes on one row — 128×64 and 64×64
  • Several independent matrices on one cape — a two-sided display no longer needs two controllers
  • 16 outputs, higher refresh rates, panels and strings sharing a cape

Two-sided? One controller

Network

Talks to everything

FPP E1.31 DDP DMX ART-NET WLED MQTT
  • mDNS / Avahi discovery — players find each other with no setup
  • MultiSync defaults to unicast on new installs
  • E1.31 sync universes, input and output, with priority on bridged data
  • Per-controller UDP pacing and DSCP marking
  • WLED-Native discovery, audio-reactive networking, more ported FX
  • Bulk pixel data API — push a whole frame to an overlay model in one request instead of one call per pixel
  • Sort and save the display order of your systems

One show, many boxes

Control

Automate the awkward parts

IF TRUE ELSE START PLAYLIST SET VARIABLE
  • If / Set Variable commands, plus Variables and Recurring Tasks
  • Every command logs its source — UI, MQTT, schedule, plugin or API
  • FSEQ effects gain run-if-not-running, and restart-in-place instead of stacking
  • Reboot and Shutdown are ordinary commands now
  • Calendar view of your schedule
  • Companion media that lives and dies with its playlist entry

Say it once, it happens

Control

Plugins without the restart

FPPD RUNNING PLUGIN PLUGIN PLUGIN
  • Load and unload plugins at runtime — fppd keeps playing
  • Plugin API 6: plugins register their own HTTP routes and shut down cleanly
  • Dependencies install themselves — apt packages and Python via pipx / uv
  • Redesigned manager: categories, icons, grid view, popularity, one plugin log
  • Open issue and PR counts shown on the card
  • Official, community or unknown — tracked and surfaced in the health check

Find it, install it, use it

Control

A UI you can live in

  • Dark mode across the entire interface
  • Basic / Advanced / Experimental levels — plus a temporary 15-minute Advanced
  • Status pushed over WebSocket instead of polled
  • Playlist editor redesigned: sections, inline help, mass select, missing-file badges
  • True 3D Virtual Display with transform controls
  • Channel Fader, RGB / RGBW test, color fades, DMX sine generator

Simple until you need it not to be

Platform

It stays up — and tells you why

STALL DETECTED RECOVERED
  • Main-loop watchdog with phase tracking and stall recovery
  • Crash reports resolve to file and line on the device
  • Keep crash reports local, or send them — your call
  • One-click support bundle for when you do need to ask
  • Health check, fan monitoring and adjustable thermal trip points
  • Warnings that say what to actually do about it

Show night shouldn’t be a surprise

Platform

Hardened, not just patched

  • Command injection in the web UI and in crash handling — fixed
  • Buffer overflows in MultiSync ping and SetSetting — fixed
  • Heap overflow and out-of-bounds read in DDP bridging — fixed
  • Protected backups no longer leak the encryption password in plaintext
  • Outputs can no longer be freed while the output thread is walking them
  • Ports stay powered on across a config reload

The boring work that matters

Network

Under the hood

SOURCE BUILD TEST IMAGE DISTCC · NOCC PLAYWRIGHT NIGHTLY
  • HTTP layer moved from libhttpserver to drogon
  • chrony replaces ntpsec for time sync, with LAN gateway fallback
  • Full OpenAPI docs, including the C++ command APIs and plugin routes
  • Playwright UI tests, a Dev Container, amd64 / arm64 Docker builds
  • Distributed compilation via distcc and nocc; asan and tsan targets
  • One flash tool for Pi, BeagleBone and BeagleBone 64 — NVMe, eMMC and SSD

Built to keep being built

Built by the community

No product team.
Just people who run shows.

Twelve months of work — FPP 9.0 through 10.0, August 2025 to August 2026.

22Contributors to the code
20+Logging issues, testing & triage
44+Plugins already marked FPP 10 ready

Code

Stuart Daniel Daryl Ryan Justin Bryan Joshua Chris Greg Jared Pat Scott Bill C Adam Bill T Rick Patrick Ken Kyle Nathan Paul Tran

Issues, testing & triage

Daryl Pat Stuart Bob Ryan Alex Daniel Bryan Ron Steve Randy Greg Bill Neil Chris Matt Pieter Jonathan Eric Andy and more

And everyone not on this list — the people who filed a bug, ran a beta on a live display, updated a plugin, or answered a question on the forums. That is the whole development process.

Open source.
Runs on hardware you already own.

Over a decade of releases, every one of them open source. FPP 10.0 is the biggest yet.

Get it

github.com/FalconChristmas/fpp
Already on 9.x? → About → Upgrade OS
Before you upgrade. Back up your config first. Moving 32-bit → 64-bit needs a re-image, not an in-place upgrade. Debian 13 library changes mean most plugins will want reinstalling.

Falcon Player 10.0 · 1,440 commits since 9.5 · falconchristmas.com