Linux sobre los SoC de Qualcomm ha sido una montaña rusa de expectativas, sobre todo en la familia Snapdragon. La compañía busca cambiar eso con Qualcomm Linux 2.0 para las plataformas Dragonwing IoT, anunciado en LinkedIn:

"Con Qualcomm Linux 2.0 nos movemos a un modelo de desarrollo upstream-first, abierto, unificado y escalable para todas las plataformas Qualcomm Dragonwing IoT. Es un modelo upstream-first con un BSP que sigue mainline para minimizar la fricción y permite builds más predecibles. Conéctense para ver nuestra primera demo en vivo, junto a la estrategia de ciclo de vida y release, los cambios de arquitectura y Yocto, y las rutas prácticas de migración desde versiones anteriores".

El video se transmitirá en vivo el 30 de junio. Mientras tanto, la descripción aporta más detalles:

"Si lidiaste con BSP fragmentados, forks de kernel específicos para cada plataforma o bring-up doloroso entre SoCs Qualcomm, este streaming cubre lo nuevo de Qualcomm Linux 2.0 para Dragonwing IoT, y lo que cambia para ti como desarrollador. Qualcomm Linux 2.0 es un reset fundamental, no una actualización incremental. Introduce un modelo upstream-first con un BSP que sigue mainline, junto a un BSP unificado, una única imagen de sistema y una arquitectura basada en overlays que mantiene las personalizaciones limpias y mantenibles entre releases. La sesión cubrirá ciclo de vida y release, arquitectura central y cambios en Yocto, y rutas prácticas de migración desde versiones anteriores. También mostrará cómo encajan los SDK de IA, multimedia y robótica en flujos reales, terminando con un bring-up en vivo sobre el Dragonwing IQ9 corriendo demos de inferencia IA end-to-end".

¿Qué placas y SoC están soportados de entrada?

La documentación de "early release" de Qualcomm Linux 2.0 ya está arriba y cubre los kits de desarrollo Qualcomm Dragonwing RB3 Gen 2 (QCS6490) y RB3 Gen 2 Lite (QCS5430), además del recién lanzado Qualcomm Dragonwing IQ-9075 Evaluation Kit, y SoCs como el IQ-8275 y el IQ-615.

Hay una omisión notable: la nueva Radxa Q8B (Snapdragon 8c Gen 3) y la Radxa Q5E (Q-6690) podrían no estar directamente soportadas por Linux 2.0, ya que las dos plataformas Qualcomm que usan no figuran en la documentación inicial.

Arquitectura: upstream-aligned, no distro

La documentación del SDK combina los Qualcomm Intelligent Multimedia SDK y Qualcomm Intelligent Robotics SDK, y corre sobre una distribución Qualcomm Linux/Ubuntu. La página recién actualizada de arquitectura de software del sistema Qualcomm Linux deja claro que Qualcomm Linux 2.0 no es una distribución independiente. Es un stack de software Linux upstream-aligned optimizado para los SoC de Qualcomm que entrega:

  • Una única plataforma Linux que soporta múltiples SoC Qualcomm
  • Habilitación integrada de IA, multimedia y conectividad
  • Alineación con kernels Linux upstream, combinada con estabilidad comercial
  • Boot, seguridad y gestión de dispositivos basados en estándares
  • Arquitectura lista para virtualización
  • Interfaces abiertas basadas en estándares que soportan escalabilidad y mantenibilidad de largo plazo
  • Optimización de energía y desempeño a nivel de plataforma que usa mecanismos upstream con mejoras Qualcomm
  • Extensibilidad basada en overlays que permite agregar software Qualcomm sin reconstruir el sistema operativo

La palabra clave es "upstream-aligned". Qualcomm Linux 2.0 pareará componentes upstream con paquetes de software Qualcomm propietarios opcionales. El proyecto soportará tanto el kernel mainline como el LTS (actualmente Linux 6.18).

Qualcomm es ya una de las empresas más activas en el soporte Arm del kernel, y se espera que esa actividad continúe. Por lo que se entiende hasta ahora, no van a hacer upstream del 100% del código relacionado con los SoC y devkits mencionados, sino que mantendrán el código lo más cerca posible de mainline en componentes mayoritariamente open source, con binarios cerrados para IA, cámara, gráficos e hipervisor. Habrá más detalles el 30 de junio, cuando Qualcomm libere oficialmente la versión 2.0 (hoy en RC3).