A Qualcomm apresentou a distribuição Linux Qualcomm Linux 2.0, que oferece uma pilha de software otimizada para plataformas IoT Qualcomm Dragonwing. O projeto implementa uma distribuição unificada que permite criar rapidamente soluções para vários SoCs Qualcomm, como QCS5430, QCS6490, IQ-8275, IQ-9075 e IQ-615. Como base, a Qualcomm Linux utiliza ferramentas e meta-pacotes dos projetos Yocto e OpenEmbedded, complementados por patches, drivers, firmwares, pacotes e arquivos de configuração para suportar blocos de hardware específicos utilizados nos chips da Qualcomm.
A distribuição é desenvolvida usando um modelo de desenvolvimento aberto e transmite as alterações preparadas para projetos upstream. Componentes proprietários da Qualcomm são integrados na distribuição na forma de overlays modulares claramente definidos. A pilha de software proposta suporta todos os processadores, subsistemas e componentes da plataforma Qualcomm, incluindo CPU, GPU e vários aceleradores de hardware para IA, processamento de dados e operações multimídia (VPU, DPU, NPU, DSP). Além do ambiente do usuário baseado em Yocto, inclui um carregador com capacidade de inicialização verificada, firmware UEFI e pacotes com o kernel Linux suportados por engenheiros da Qualcomm, que incluem drivers e patches adicionais.
A plataforma é marcada como totalmente pronta para a criação de sistemas operacionais baseados em hardware da Qualcomm. Oferece funcionalidades como suporte à virtualização, gerenciamento de acesso obrigatório através do SELinux, teste de todos os componentes em hardware de referência, um ciclo longo de suporte a pacotes para todas as plataformas suportadas, e a possibilidade de integrar seus próprios BSPs (Board Support Package) e camadas OEM. Para atualização, pode ser utilizada a reescrita da imagem do sistema ou a entrega automática de atualizações em modo OTA. 
O lançamento do Qualcomm Linux 2.0 é notável pela transição para a plataforma Yocto 6.0 e pela utilização do kernel Linux 6.18 (anteriormente, eram utilizados Yocto 5.0 e kernel 6.6). A versão principal inclui recursos para execução de aplicações em tempo real (o kernel é compilado com suporte ao PREEMPT_RT). Em vez de duas versões separadas da distribuição 'Base' e 'Custom', é proposto um stack unificado com um único kernel comum e ambiente de sistema (rootfs).
Aumentou a transparência nos processos de desenvolvimento: os lançamentos agora são feitos publicamente no GitHub, utilizando um sistema aberto de integração contínua e com um cronograma previsível de publicação de atualizações. A organização da formação de módulos de sobreposição foi reorganizada, agora criando complementos com base em uma única base de código aberto, ao invés de dividir entre compilações abertas e proprietárias. Além das plataformas SoC QCS5430, QCS6490, IQ9075, IQ8275 e IQ615, agora há suporte para a plataforma IQ-X para computadores industriais.
Os meta-pacotes com funcionalidade básica agora estão sendo desenvolvidos em repositórios publicamente acessíveis e estão abertos para receber alterações de participantes externos, permitir forks ou serem utilizados sem esperar pelos lançamentos. Entre esses meta-pacotes estão: meta-qcom (camada para suporte de hardware), meta-qcom-distro (estrutura do distribuidor, scripts para compilar imagens de sistema e configuração), meta-qcom-3rdparty (componentes para suporte de plataformas externas) e meta-qcom-releases (compilações reprodutíveis de lançamentos), meta-selinux (gerenciamento de acesso obrigatório via SELinux), meta-updater (atualizações OTA baseadas em OSTree), meta-security (mecanismos adicionais para aumentar a segurança básica e auditoria), meta-virtualization (Docker, Kubernetes, KVM).
Além dos meta-pacotes, são oferecidos sobreposições, conjuntos de módulos do núcleo e bibliotecas versionadas fornecidas separadamente para suportar funcionalidades avançadas. A instalação de uma sobreposição resulta na instalação dos módulos do núcleo otimizados e bibliotecas sobre o ambiente base típico, sem alterar este último. Entre as sobreposições disponíveis estão:
- trabalho com áudio (AudioReach e aceleração de processamento de áudio);
- gerenciamento de câmera (camX ISP);
- trabalho com gráficos (aceleração OpenGL ES, OpenCL e Vulkan na GPU Adreno);
- processamento de vídeo (uso do VPU Iris para acelerar a codificação e decodificação de vídeo);
- suporte a sensores (integração do Qualcomm Sensor Hub);
- resolução de problemas de visão computacional (aceleração do FastCV no DSP/Adreno).
Fonte: opennet.ru
