Proposta de patch da Red Hat vai dividir o suporte do núcleo FBDEV

Quase na última década, houve pedidos para descontinuar o código de dispositivo “FBDEV” do buffer de quadros do kernel Linux, embora o código permaneça dentro do kernel. Mesmo assim, atualmente a maioria dos drivers de vídeo sejam baseados em DRM, mesmo no mundo integrado, muitos códigos FBDEV ainda acabam em compilações de kernel, mesmo quando se quer apenas usar a camada de emulação FBDEV do DRM. Mas uma proposta de patch da Red Hat dividiria ainda mais o suporte do núcleo FBDEV para permitir que menos seja construído. Então, veja a proposta de patch da Red Hat vai dividir o suporte do núcleo FBDEV.

Agora que o Linux 5.14 está trazendo o código SimpleDRM, é possível inicializar de SimpleDRM para o driver DRM real para o dispositivo GPU/display sem ter que usar um driver FBDEV legado como o frame-buffer EFI ou SimpleFB para suporte de console inicial. Javier Martinez Canillas, da Red Hat, está trabalhando na capacidade de construir o kernel do Fedora para que a camada de emulação DRM FBDEV esteja disponível, mas o resto do código do frame-buffer do FBDEV e drivers sejam desabilitados.

Esta série de patch divide o suporte do núcleo fbdev em dois Kconfig diferentes símbolos: FB e FB_CORE. A motivação para isso é permitir que CONFIG_FB ser desabilitado, enquanto ainda usa o fbcon com a camada de emulação DRM fbdev. A razão para fazer isso é que agora com simpledrm podemos apenas inicializar com simpledrm -> driver DRM real, sem a necessidade de nenhum driver fbdev legado (por exemplo: efifb ou simplefb) esmo para o console anterior. Queremos fazer isso no kernel do Fedora. Porém, atualmente precisamos manter a opção CONFIG_FB habilitado e todos os drivers fbdev explicitamente desabilitados, o que torna a configuração mais difícil de manter.

Proposta de patch da Red Hat vai dividir o suporte do núcleo FBDEV

Proposta de patch da Red Hat vai dividir o suporte do núcleo FBDEV

No momento, a camada de emulação DRM FBDEV depende do CONFIG_FBopção de construção que, por sua vez, inclui muito código de buffer de quadro. Os patches propostos de Javier reestruturam o kernel para introduzir uma nova opção “CONFIG_FB_CORE”. Isso deve fazer a camada de emulação DRM depender apenas disso ao invés de “CONFIG_FB” completo. Portanto, o Fedora e outras distribuições Linux modernas podem evitar a construção e inclusão de muitos códigos FBDEV que não deveriam mais ser necessários.

“Eu testei e trabalho com CONFIG_DRM_FBDEV_EMULATION = y e CONFIG_FB desativados. Esta configuração desativa automaticamente todos os drivers fbdev que são nosso objetivo“, observou Javier na série de patches RFC.

Todos os drivers FBDEV permanecem dentro do kernel. No entanto, isso deve servir como um trampolim para finalmente poder remover muito desse código FBDEV legado do kernel no futuro.

Via Phoronix

FONTE: Blog SempreUpdate
Agradecimentos aos autores originais desta publicação! Até a próxima!