Об этом проекте
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 и не имеет их одобрения.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.