FERRAMENTAS LINUX: O Kernel Linux 6.3 está para trazer as melhorias de suporte de TV analógica

terça-feira, 3 de janeiro de 2023

O Kernel Linux 6.3 está para trazer as melhorias de suporte de TV analógica

 


Com a janela de mesclagem do Kernel Linux 6.2 atrás de nós, o trabalho de recursos para as alterações do Direct Rendering Manager (DRM) visando agora o kernel do Linux 6.3 começou a fazer fila com o DRM-Next.


Fpo enviado hoje um lote inicial de material drm-misc-next das férias. Não há muito entre as mudanças principais e pequenas do driver DRM neste pull, considerando que muitos desenvolvedores tiraram folga durante o Natal e o Ano Novo.

Destacando-se, porém, o código DRM com algumas melhorias de suporte de TV analógica para 2023. O desenvolvedor de código aberto de longa data, Maxime Ripard, trabalhou para adicionar uma propriedade de modo "TV analógica" à API de espaço do usuário do conector DRM e fazer outras melhorias centrais de DRM em torno suporte para TV analógica.

A partir desta grande série de patches que está em desenvolvimento há vários meses, Maxime Ripard explica:

Aqui está uma série com o objetivo de melhorar o suporte a modos nomeados de linha de comando e, mais importante, como lidamos com todas as variantes de TV analógica.

O suporte a modos nomeados foi inicialmente introduzido para permitir especificar o modo de TV analógica a ser usado.

No entanto, isso estava causando vários problemas:

* O nome do modo analisado na linha de comando foi passado diretamente para o driver, que teve que descobrir qual modo deveria corresponder;

* Descobrir isso não foi muito fácil, já que o argumento video= ou what the userspace pode nem ter um nome em primeiro lugar, mas pode ter passado por um modo com os mesmos tempos;

* O fallback para combinar os tempos estava funcionando principalmente desde que estivéssemos suportando 525 linhas (provavelmente NSTC) e 625 linhas (PAL), mas não conseguimos diferenciar entre dois modos com os mesmos tempos (NTSC vs PAL- M vs NSTC-J, por exemplo);

* Também houve alguma sobreposição com a propriedade do modo tv registrada por drm_mode_create_tv_properties(), mas os modos nomeados não estavam interagindo com essa propriedade.

* Embora essa propriedade fosse genérica, seus possíveis valores eram específicos para cada driver, o que dificultava alguns suportes genéricos.

         Assim, optei por abordar em várias etapas:

* Foi introduzida uma nova propriedade de norma de TV, com valores genéricos, cada driver informando por meio de uma bitmask qual padrão ele suporta para o espaço do usuário;

* Esta opção foi adicionada ao código de análise da linha de comando para poder especificá-lo na linha de comando do kernel, e novos auxiliares atomic_check e reset foram criados para integrar-se adequadamente no KMS atômico;

* O código de análise do modo nomeado agora está criando um modo de exibição adequado para o modo nomeado fornecido, e o padrão de TV fará parte do estado do conector;

* Dois drivers foram convertidos e testados por enquanto (vc4 e sun4i), com algum código de compatibilidade com versões anteriores para traduzir o antigo modo de TV para o novo modo de TV;

Como observado inicialmente, o benefício dessas melhorias de suporte de TV analógica é o driver VC4 DRM mais notavelmente usado pelos computadores de placa única Raspberry Pi e, em seguida, o driver Sun4i DRM para os vários Allwinner SoCs usando esse driver de vídeo.





Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário