Há algumas semanas, publiquei uma postagem sobre o longo tempo de suporte, para os drivers que são mantidos no kernel Linux. Ao contrário dos sistemas comerciais como o Windows (e talvez o macOS), as distribuições Linux podem ser instaladas em PCs desktops bem antigos, pois além de ser leve e funcional, elas mantém os drivers necessários para o seu funcionamento. Só que isto tem um preço: com o passar do tempo, a quantidade de código acumulada se torna considerável, comprometendo bastante o seu gerenciamento…
“Last Friday Mesa classic drivers were removed from the mainline code-base and punted off to an “Amber” code branch where they will receive whatever attention moving forward. With that classic Mesa code removed, more code cleaning is now happening on top of the tens of thousands of lines of code already removed. Intel’s OpenSWR driver has also now been removed from mainline. Since the original classic Mesa drivers consisting of Radeon R100/R200, original Nouveau, and Intel i915 / i965 drivers were removed, more code cleaning can now happen on mainline for code that was just sticking around for these old, rather unmaintained drivers.”
— by Phoronix.
E isto não só se reflete no kernel Linux: os desenvolvedores do Projeto MESA (uma implementação livre de drivers 3D para suportar as APIs OpenGL e Vulkan) também resolveram realizar uma bela limpeza de código e por isto, removeram drivers clássicos que proviam suporte para algumas IGPs e GPUs, como o Intel i915/i965, o nVidia Nouveau original e as ATI Radeon R100/R200. Estes por sua vez, serão mantidos separadamente em um ramo de código separado, o qual poderá ser utilizado para as edições LTS desta biblioteca. Para variar, os drivers do Intel OpenSWR (um rasterizador com suporte ao OpenGL, utilizado para renderizar imagens via software, como alternativa ao LLVMpipe) também teve o mesmo destino, além de outros componentes de software de menor importância.
Para aqueles que não conhecem, as GPUs referidas na remoção são as clássicas Geforces do início do século (da Geforce original até Geforce 4), assim com as ATI Radeon que foram comercializadas neste mesmo período (Radeon 7000 e 8000 series, além de algumas Radeon 9000 “rebatizadas”). Já do lado da Intel, os IGPs suportados são da série GMA 900, os quais eram fraquíssimos em termos de performance e vinham integrados nos chipsets ponte-norte, que por sua vez ofereciam suporte para os processadores Pentium 4/D, Core Due e Core 2 Duo. No entanto, os drivers dos IGPs posteriores foram mantidos unificados no pacote Intel i915 e por isto, acredito que apenas uma parte de código tenha sido removida de fato. Por isto, confesso que fiquei (até certo ponto) preocupado!
Na minha opinião, acredito que todo hardware com +10 anos de idade deveria ser “aposentado”, através da remoção sistematizada de bibliotecas, APIs e drivers, que provêm suporte para estes componentes! Inclusive, esta base de código deveria ser armazenada à parte, deixando-a disponível apenas para aqueles interessados em oferecer suporte para estes hardwares obsoletos, através de distribuições voltadas para equipamentos antigos ou até mesmo as clássicas edições LTS. Com isto, tanto o kernel Linux quanto a biblioteca MESA e os demais projetos que precisam oferecer suporte ao hardware, poderão ser geridos de forma mais eficiente e otimizada, graças a uma boa redução de código!
Para variar, o hardware do meu próprio PC desktop já tem +8 anos… &;-D