Об этом проекте

LIVI (Linux In-Vehicle Infotainment) — это приложение головного устройства с открытым исходным кодом, нативно реализующее сторону аксессуара для Apple CarPlay и Android Auto. Оно работает на Linux (ARM и x86_64, включая Raspberry Pi 4/5 и CM4/CM5) и macOS (Apple Silicon и Intel), распространяется под лицензией GPL-3.0-or-later. Подключение - Apple CarPlay, проводное и беспроводное, на Linux и macOS. Для беспроводного подключения требуется Bluetooth-адаптер и Wi-Fi интерфейс, выделенный для собственной точки доступа LIVI; проводное работает через любой USB-порт без OTG. - Android Auto проводное на всех платформах; беспроводное Android Auto на Linux. - Для CarPlay требуется MFi-аутентификация через сопроцессор Apple, подключённый проводом к шине I²C на плате или доступный по сети через LIVI Link. LIVI не поставляет и не обходит чип, а также не поддерживает Apple Basic Accessory Authentication на macOS. Медиа и ввод - Нативный видеопайплайн GStreamer с zero-copy и аппаратно ускоренным декодированием H.264/H.265; программный декодер в качестве запасного варианта при отсутствии драйвера VA-API. - Низколатентное аудио, телефонные звонки и передача звука с микрофона, метаданные воспроизводимого трека с обложкой альбома и данные пошаговой навигации. - Сенсорный ввод, ввод через поворотный контроллер/D-Pad и аппаратные кнопки, режим день/ночь и передача GPS на телефон. Мультисессия - Несколько телефонов могут быть подключены одновременно через беспроводное CarPlay, проводное CarPlay и беспроводное Android Auto; проводное Android Auto ограничено одним устройством. Сессии сохраняют состояние, заряд батареи, сигнал, метаданные медиа и навигационные данные в фоновом режиме, а переключение представляет собой передачу, а не переподключение. Дисплеи и калибровка - Поддержка нескольких дисплеев: окна Main, Dash и Aux можно разместить на отдельных физических дисплеях с возможностью не эксклюзивного назначения функций. - Разрешение потока, отступы области просмотра и безопасная зона настраиваются независимо для основного и приборного потоков как в CarPlay, так и в Android Auto. - Программная калибровка дисплея по гамме, контрастности и RGB-каналам, применяемая за один проход композитора поверх готового кадра. Телеметрия и GPS - Панель приборов (в разработке) получает телеметрию через IPC/сокет; CLI в scripts/tools отправляет тестовые данные. - GPS считывает данные с приёмников NMEA-0183 через последовательный порт с дополнительным опросом u-blox UBX для идентификации модуля и состояния радиочастотного тракта. Приёмник также может устанавливать системное время и часовой пояс. Установка и сборка - Единый скрипт установки поддерживает десктопные и headless-хосты, используя apt или dnf, протестирован на Raspberry Pi OS, Ubuntu 26.04 и Fedora 44. Требуется OpenGL ES 3.x; для Pi 4/5 и CM4/CM5 требуется Debian 13 (Trixie), тогда как Pi 3 и более ранние не поддерживаются. - Предоставляются предсобранный AppImage для Linux x86_64 и dmg для macOS arm64. - Для сборки требуются Node.js 24.x с pnpm, стабильный Rust (≥1.88), пакеты разработки GStreamer, а на Linux — заголовочные файлы Wayland/xkbcommon и runtime-пакеты для CarPlay и беспроводного Android Auto (bluez, hostapd, dnsmasq-base, iw, rfkill, avahi, pulseaudio-utils). На macOS видео-аддон линкуется с GStreamer.framework. Флаги отладки и расположения журналов описаны в DEBUGGING.md. Проект не аффилирован с Apple или Google и не имеет их одобрения.