Sobre el proyecto
LIVI (Linux In-Vehicle Infotainment) es una aplicación de unidad principal de código abierto que implementa de forma nativa el lado accesorio de Apple CarPlay y Android Auto. Se ejecuta en Linux (ARM y x86_64, incluidos Raspberry Pi 4/5 y CM4/CM5) y macOS (Apple Silicon e Intel), y se distribuye bajo GPL-3.0-or-later.
Conectividad
- Apple CarPlay, con y sin cables, en Linux y macOS. La conexión inalámbrica requiere un adaptador Bluetooth más una interfaz Wi-Fi dedicada al propio punto de acceso de LIVI; la conexión por cable funciona a través de cualquier puerto USB sin OTG.
- Android Auto por cable en todas las plataformas; Android Auto inalámbrico en Linux.
- CarPlay requiere autenticación MFi mediante un coprocesador de Apple, ya sea conectado por cable al bus I²C de la placa o alcanzado por red a través de un LIVI Link. LIVI no incluye ni elude el chip, y no admite la Basic Accessory Authentication de Apple en macOS.
Medios y entrada
- Canalización de vídeo GStreamer nativa de copia cero con decodificación H.264/H.265 acelerada por hardware; respaldo de decodificación por software cuando no hay controlador VA-API presente.
- Audio de baja latencia, llamadas telefónicas y enlace ascendente de micrófono, metadatos de reproducción actual con carátula del álbum y datos de navegación giro a giro.
- Entrada táctil, de mando/D-Pad y de teclas físicas, modo día/noche y reenvío de GPS al teléfono.
Múltiples sesiones
- Varios teléfonos pueden conectarse a la vez mediante CarPlay inalámbrico, CarPlay por cable y Android Auto inalámbrico; Android Auto por cable está limitado a un dispositivo. Las sesiones mantienen actualizados en segundo plano el estado, la batería, la señal, los metadatos multimedia y la navegación, y el cambio es un traspaso en lugar de una reconexión.
Pantallas y calibración
- Soporte para varias pantallas: las ventanas Main, Dash y Aux se pueden colocar en pantallas físicas separadas, con funciones asignables de forma no exclusiva.
- La resolución del flujo, los márgenes del área de visualización y el área segura son configurables de forma independiente para los flujos principal y de clúster tanto en CarPlay como en Android Auto.
- Calibración de pantalla por software para gamma, contraste y canales RGB, aplicada como una única pasada del compositor sobre el fotograma finalizado.
Telemetría y GPS
- Un panel (en desarrollo) consume telemetría por IPC/socket; una CLI en scripts/tools envía datos de prueba.
- El GPS lee receptores NMEA-0183 en un puerto serie, con sondeo adicional u-blox UBX para la identidad del módulo y el estado del front-end de RF. El receptor también puede establecer la hora y la zona horaria del sistema.
Instalación y compilación
- Un único script de instalación admite hosts de escritorio y sin interfaz, usando apt o dnf, probado en Raspberry Pi OS, Ubuntu 26.04 y Fedora 44. Se requiere OpenGL ES 3.x; Pi 4/5 y CM4/CM5 necesitan Debian 13 (Trixie), mientras que Pi 3 y anteriores no son compatibles.
- Se proporcionan AppImage precompilado para Linux x86_64 y un dmg para macOS arm64.
- La compilación requiere Node.js 24.x con pnpm, Rust estable (≥1.88), paquetes de desarrollo de GStreamer y, en Linux, encabezados de Wayland/xkbcommon más paquetes de tiempo de ejecución para CarPlay y Android Auto inalámbrico (bluez, hostapd, dnsmasq-base, iw, rfkill, avahi, pulseaudio-utils). En macOS, el complemento de vídeo enlaza contra GStreamer.framework.
Las opciones de depuración y las ubicaciones de los registros están documentadas en DEBUGGING.md. El proyecto no está afiliado ni respaldado por Apple o Google.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.