Collabora divulga apoio ao desenvolvimento do kernel Linux 5.10

Collabora anuncia PanVk, um driver Vulkan de código aberto para GPUs ARM Mali
collabora

A empresa Collabora e seus desenvolvedores divulgaram  todo o arsenal de contribuições para o kernel Linux 5.10, que acaba de ser lançado. O Kernel é uma versão LTS e, assim, possui suporte pelos próximos 5 anos, pelo menos. Segundo esta postagem da Collabora, há um número de patches e a empresa “permanece ativo desenvolvendo, mantendo, documentando e testando muitas partes do kernel”. Aqui estão algumas de nossas contribuições.

Em números, os desenvolvedores do kernel Linux da Collabora criaram 117 patches, com 98 patches, analisaram 42 patches, acertaram 40 patches, assinaram 33 patches, adicionaram 33 patches em nome de outros, relataram 7 patches e testaram 5 patches.

Collabora divulga apoio ao desenvolvimento do kernel Linux 5.10

Collabora divulga apoio ao desenvolvimento do kernel Linux 5.10

A Collabora continua a mostrar seu amor pelos drivers de mídia Rockchip, melhorando o suporte para o driver ISP RK3399, que agora será incluído por padrão na próxima série do kernel Linux 5.11, com lançamento previsto em meados de fevereiro de 2021.

Driver Rockchip ISP pronto para sair do teste

Collabora tem uma longa história de contribuições aos drivers de mídia da Rockchip, entre elas está o suporte contínuo ao ISP RK3399. Desde que foi atualizado na v5.6 como um driver de teste, trabalhamos intensamente na solução de bugs e outros problemas para torná-lo mais capaz e estável. Dafna Hirschfeld está trabalhando em algumas correções de bugs e melhorias para o driver 3.

Esforço de limpeza e desescalonamento H.264 uAPI

O uAPI do Linux é a API que o kernel do Linux expõe ao espaço do usuário. O uAPI V4L2, por exemplo, contém todas as definições que um programa de espaço do usuário pode precisar para se comunicar com a estrutura V4L2 e realizar qualquer operação em um dispositivo, como uma placa de captura de vídeo ou um codec.

A v5.10 viu algum trabalho adicional de Ezequiel García na limpeza em andamento da uAPI V4L2 H.264 stagingcom o objetivo de estabilizá-la e promovê-la como uma uAPI pública de primeira classe.

O H.264 é provavelmente o codec de vídeo com mais uso e a API agora é estável.

Panfrost agora é oficialmente compatível com GPUs Bifrost

A Collabora continua trabalhando constantemente no Panfrost, o driver de código aberto e gratuito para as GPUs Mali Midgard e Bifrost. O desenvolvimento atingiu outro marco com o Linux 5.10, já que agora oferece suporte oficial para GPUs Bifrost.

Agradecemos a Alyssa Rosenzweig, Tomeu Vizoso, Rohan Garg, Boris Brezillon e Italo Nicola por tornar isso possível.

Correção do driver de vídeo do Cedrus: não travando mais com o GStreamer

Cedrus é um driver de código aberto para o codificador/decodificador de hardware Video Engine nos SoCs Allwinner sunxi, usado em dispositivos como o PinePhone.

O GStreamer causava oops reproduzíveis no kernel quando usado com o Cedrus, e Nicolas Dufresne o corrigiu definindo a resolução CAPTURE automaticamente com base na resolução OUTPUT, evitando que o espaço do usuário selecione uma resolução CAPTURE muito pequena.

Correções e otimizações de E/S direta

E/S direta é uma maneira de trabalhar com dados de disco que ignoram o cache de página. O uso ocorre em alguns aplicativos que gerenciam seus próprios caches, como sistemas de gerenciamento de banco de dados. Esta versão do kernel inclui uma série de patches de Gabriel Krisman Bertazi para consolidar o tratamento de erros e resolver disparidades entre sistemas de arquivos. Ele também adiciona uma pequena otimização para evitar write-backs de página desnecessários quando o usuário lê além do final do arquivo.

Correções de driver de ponte PS8640 e atualização de drivers DRM Mediatek

Enric Balletbò atualizou o PS8640 DSI para eDP bridge driver e corrigiu um cenário de erro retrabalhando o código de manuseio de energia. Ele também continuou trabalhando na conversão dos drivers DRM da Mediatek para a APIdrm_bridge.

Suporte para letras maiúsculas em comandos SysRq

‘chave Magic SysRq’ é uma combinação de teclas que permite a um usuário enviar um comando predefinido para o kernel a qualquer momento e é normalmente usada para fins de depuração. A combinação de teclas inclui uma tecla de ‘comando’, que especifica o comando a ser enviado ao kernel. Andrzej Pietrasiewicz apresentou um patch que permite letras maiúsculas como comandos (estendendo assim a tabela de comandos) e já está na v5.10.

Limpeza de mensagens de erro do kernel para melhorar o registro

Os patches nem sempre precisam corrigir problemas funcionais para serem úteis; às vezes, simplesmente eliminar ruídos desnecessários no log do sistema pode ter um impacto positivo em sistemas que dependem de tais logs, por exemplo Kernel CI.

Guillaume Tucker enviou uma série de patches que elimina uma mensagem de erro do kernel que aparece no Exynos SoCs com o objetivo de tornar os resultados do Kernel CI mais claros e novos erros mais facilmente detectados.

Plano e design de hot-desplugging do dispositivo DRM

Os usuários sempre esperam que tudo continue funcionando, não importa o que aconteça e os dispositivos gráficos não são exceção. A máquina deve permanecer estável mesmo se o usuário desconectar um desses dispositivos. Isso requer manuseio e suporte adequados em toda a pilha de gráficos.

Seguindo comentários e discussões anteriores no IRC, Pekka Paalanen documentou o plano de design inicial sobre como deve ser a desconexão automática de um dispositivo DRM para o espaço do usuário. Isso agora faz parte da documentação do kernel, que ajudará a definir diretrizes claras para uma implementação futura.

Melhorias e atualizações nas definições e ligações da árvore de dispositivos

A Collabora continua crescendo e melhorando as definições existentes da Árvore de dispositivos, bem como suas ligações. Isso resulta em uma maneira mais fácil e melhor documentada de descrever o hardware e uma maneira mais padronizada de recuperar essas informações nos drivers.

Nesta versão, Ricardo Cañuelo adicionou correções às ligações do Chromebook EC. Sebastial Reichel trabalhou em adições de documentação e novos recursos para as ligações dos carregadores de bateria baseados em gpio. Atualizou para as árvores de dispositivos OMAPs e Exynos.

Manutenção, teste e revisão contínua

Como em todas as versões do kernel, a equipe Collabora fez muito trabalho testando e revisando o código do kernel para a v5.10. Muitos engenheiros da Collabora também são mantenedores de subsistema. Cuidam da evolução do Panfrost, drivers de Chromebook e drivers de fonte de alimentação.