finds.dev← search

// the find

f-io/LIVI

★ 855 · Rust · GPL-3.0 · updated Oct 2026

Native CarPlay & Android Auto head unit for Linux (ARM/x64) & macOS (ARM/x64). Multi-session wired + wireless projection, zero-copy hardware video decoding, low-latency audio.

LIVI is a standalone Apple CarPlay and Android Auto head unit built from a Rust helper set, a GStreamer video pipeline and an Electron front end, targeting Raspberry Pi 4 and 5, x86 Linux and macOS. It is for people building a DIY or OEM car display who are willing to handle Wi-Fi, Bluetooth and MFi hardware, not for anyone who wants a plug-and-play replacement for a factory head unit.

The README is upfront that CarPlay needs an MFi coprocessor, that LIVI neither ships nor bypasses one, and that native CarPlay is unavailable without it, which matters because authentication is where most projects in this space go quiet. The multi-session design keeps drivers armed and the video and audio paths open between phones, so switching is a handover rather than a reconnect, and that is the most interesting engineering claim in the project. Display calibration runs as a single compositor pass over the final frame and is skipped entirely when every channel sits at its default, so an uncorrected panel pays nothing. The install script handles both apt and dnf, auto-detects desktop versus headless, and was tested on Pi OS, Ubuntu 26.04 and Fedora 44, which is more than most hobby projects bother to test.

The low-latency and zero-copy claims are not backed by any published numbers. There are no frame-time, glass-to-glass or decode measurements, so those claims stay unverified until someone benchmarks them on a Pi. Mac CarPlay has no on-board route because there is no I2C bus, so it depends on a separate LIVI Link box, and Basic Accessory Authentication is unsupported there. The macOS build also needs a manual Open Anyway step through Gatekeeper on first launch, which reads as an unsigned or un-notarized build, and the README does not say which. Wireless operation needs a dedicated Bluetooth adapter and a Wi-Fi interface taken from NetworkManager, wired Android Auto is capped at one device, and the Dashboard is described as work in progress. The tree also vendors a large set of prebuilt GStreamer shared libraries under assets/gstreamer, which makes the repo heavy to clone and means upstream security fixes have to be re-vendored by hand.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →