A situação dos drivers de vídeo Intel no Linux

The status of Intel video drivers for Linux (and what it means for your favorite distro)
Autor original: Caitlyn Martin
Publicado originalmente no:
distrowatch.com
Tradução: Roberto Bechtlufft

Quem acompanha blogs e outros tipos de mídia técnica sobre Linux, ou lê a seção de comentários do DistroWatch Weekly, sabe que tem havido muita discussão, insatisfação e até fúria no que se refere à situação dos drivers de vídeo Intel no Linux. Resumindo bem a história, a Intel realizou modificações substanciais nos drivers de seus chipsets, incluindo novas tecnologias desenvolvidas para aumentar radicalmente o desempenho. Keith Packard descreveu tecnicamente as alterações nos drivers Intel e o que elas significam. O documento está disponível aqui (agradecimentos a Adam Williamson da Red Hat, que forneceu o link).

As mudanças correspondentes foram realizadas no kernel do Linux, incluindo a migração do novo GEM (Graphics Execution Manager, ou Gerenciador de Execução Gráfica), que gerencia a memória de vídeo, para dentro do kernel a partir da versão 2.6.28. A configuração da resolução gráfica, que tradicionalmente ficava a cargo do servidor X, também foi migrada para o kernel. O KMS (Kernel Mode Setting, ou Definição de Modo do Kernel) agora vem habilitado por padrão na mais recente versão do Ubuntu, a 9.10 alpha.

As alterações do driver Intel e no kernel também exigiram alterações no X.Org. Até a minha breve e decididamente pouco detalhada descrição dessas alterações torna óbvio que uma enorme quantidade de código do núcleo do Linux passou por grandes mudanças no ano passado. Infelizmente, até agora o resultado disso tudo não foi um aumento no desempenho do sistema dos usuários de algumas das distribuições Linux mais populares. Muito pleo contrário: o desempenho piorou muito e agora temos instabilidade também. Alguns usuários que atualizaram seus sistemas para as versões mais recentes de suas distribuições favoritas viram-se com sistemas com péssimo desempenho, travamentos constantes e, em alguns casos, com um X que nem funcionava. O site Phoronix descreveu o teste realizado com o Ubuntu 9.04 em um netbook Samsung desta forma: “…um driver Intel cheio de bugs causou lentidão, instabilidade, corrupção da tela e outros problemas.”

Admito que não sou uma expert nos mecanismos internos do X.Org e em seus drivers gráficos, mas tentei acompanhar as discussões técnicas envolvidas, e seu impacto sobre as distribuições Linux. Hoje vamos dar uma olhada na situação do driver Intel em várias distribuições populares, analisando o que deu certo e o que deu errado nas versões mais recentes, que progressos foram feitos e o que esperar de versões futuras.

Resultados diferentes em sistemas diferentes

Como vimos nos comentários da minha análise da distribuição que incluiu a versão mais problemática do driver de vídeo Intel, o Mandriva 2009.1, publicada na edição de 25 de maio do DistroWatch Weekly, alguns usuários (e eu também) tiveram problemas graves, enquanto outros não relataram problema algum. Os relatos nos fóruns do Ubuntu e do Fedora mostram resultados semelhantes: alguns usuários têm problemas sérios, outros não. Havia soluções temporárias para o problema que só funcionavam em alguns sistemas. Quatro fatores determinam o resultado que você vai obter em seu sistema:

  • O modelo e a revisão do chipset gráfico Intel

  • A versão do driver Intel usado

  • A versão do servidor X.Org

  • O kernel usado

Além disso, como explica Keith Packard, há 48 combinações de configurações de diferentes recursos nos drivers de vídeo Intel 2.6.x e 2.7.x. Configurações diferentes levam a resultados diferentes. Apesar de todo o conhecimento técnico disponibilizado nos vários tópicos de fóruns e listas de discussão, ainda há usuários que não conseguiram fazer o X funcionar corretamente em versões recentes de algumas distribuições, por mais que tentassem.

O primeiro passo para descobrir se alguma solução provisória vai produzir resultados aceitáveis em um dado sistema é descobrir o modelo e a revisão do chipset. Na linha de comando, digite

lspci -v | grep VGA

para exibir as informações necessárias. No meu netbook Sylvania g Meso a saída é esta:

00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03) (prog-if 00 [VGA controller])

O gerenciador de pacotes incluído em quase todas as distribuições Linux deve ser suficiente para determinar qual versão do driver Intel está em uso. Geralmente o pacote se chama xorg-video-intel.

Impacto em distribuições Linux populares

As distribuições Linux lançadas nos últimos quatro ou cinco meses tiveram que decidir entre usar uma versão mais antiga do X.Org e do driver Intel correspondente ou incluir o código que já era sabidamente problemático. As distribuições que escolheram o código antigo evitaram o problema com o driver Intel, abrindo mão do suporte a hardware que chegou mais recentemente ao mercado. Todas as distribuições populares que lançam novas versões de seis em seis meses e se mantêm na crista da onda da tecnologia apresentam algum tipo de problema com o driver Intel. A gravidade desses problemas depende de quando essas distribuições foram lançadas e dos progressos realizados para aliviá-los. O resto do relatório examina o impacto que o problema teve em algumas das distribuições mais populares e os progressos que elas realizaram.

  • O Ubuntu 9.04 foi lançado no dia 23 de abril, e os usuários com chipsets gráficos da Intel foram severamente afetados. O fórum do Ubuntu publicou um Guia de Desempenho dos Gráficos Intel no Jaunty, que oferece três soluções temporárias possíveis, sendo que todas envolvem a atualização do driver Intel para a versão 2.7.x e uma possível atualização do kernel. Seguem-se ao guia respostas e relatos de usuários do Ubuntu, totalizando incríveis 107 páginas. Uma lida rápida nos relatos revela resultados variados. Alguns usuários resolveram completamente seus problemas. Outros não relataram melhoria alguma. No meu chipset gráfico Intel Mobile Express 945GME, o melhor que eu consegui foi um desempenho excelente com péssima estabilidade, apresentando-se na forma de travamentos do sistema ou panes no X, ou uma excelente estabilidade e um desempenho horrível, com alguma corrupção do vídeo. Outra solução provisória é voltar à versão antiga, a 2.4.1, do driver Intel, uma abordagem abandonada rapidamente no fórum mas que funcionou razoavelmente bem comigo.

    Nas discussões no Guia de Desempenho, os desenvolvedores do Ubuntu deixaram claro que não vão adaptar versões mais recentes do kernel e dos drivers Intel para o Ubuntu 9.0.4. Agora o desenvolvimento está focado em resolver os problemas a tempo para o lançamento da versão 9.10 no dia 29 de outubro.

    O terceiro alfa do Ubuntu 9.10 trazia o mais recente driver Intel 2.8.0, o X.Org 1.6.2 RC1 e uma versão de desenvolvimento do kernel 2.6.31. O Phoronix relatou um péssimo desempenho nos resultados do teste dessa versão alfa, mas no meu sistema eu achei que as coisas melhoraram muito. O Ubuntu 9.10 alpha 4, lançado na semana passada, também inclui um kernel mais recente e o driver 2.8.0, que não oferece mais suporte a EXA e DRI1. A UXA e o DRI2 habilitados causaram alguma instabilidade no meu sistema usando o driver 2.7.x, mas com o 2.8.0 isso não aconteceu. Com a animação 3D habilitada eu continuei vendo alguma corrupção de vídeo por um segundo (talvez menos) ao abrir uma nova janela, seguida de uma “engasgada” nas ações que estivessem sendo realizadas. Eu me pergunto se essa engasgada é parte da causa do baixíssimo desempenho relatado nos testes do Phoronix. Depois que a janela abria o desempenho era muito bom. Não vi problemas ao usar gráficos 2D na versão mais recente do Ubuntu 9.10. Ou seja, o resultado foi o mesmo que eu relatei na minha análise do Pardus 2009 na semana passada. Embora esta ainda seja uma versão alfa e apresente alguns bugs, acho que é bem mais fácil usar o Ubuntu 9.10 do que o 9.04.

    É bom mencionar que o Ubuntu 8.04 LTS usa código mais antigo, e não foi afetado. O sistema operacional que veio instalado por padrão no meu netbook foi o Ubuntu Netbook Remix 8.04. Com todas as atualizações mais recentes ele funcionou sem problemas.

  • O Mandriva 2009.1 foi lançado no dia 29 de abril, e basicamente teve os mesmos problemas que o Ubuntu 9.04. A Mandriva levou mais tempo para oferecer uma solução provisória, o que resultou em uma distribuição impossível de se utilizar quando fiz a minha análise em maio. As soluções provisórias, quando eram oferecidas, envolviam a atualização do driver e possivelmente do kernel também. Os resultados no meu sistema foram os mesmos que eu obtive com o Ubuntu, forçando-me a desistir dessa versão do Mandriva.

    A segunda versão alfa do Mandriva 2010 foi lançada no dia 31 de julho. Ela incluiu o kernel 2.6.31-rc4, um rc anterior à versão do último alfa do Ubuntu. Ela incluiu ainda o X.Org 1.6.2 com o driver Intel 2.8.0 mais recente. No anúncio da versão, os desenvolvedores declararam que o novo driver Intel “deve melhorar o desempenho e a estabilidade”, e isso procede. Meus breves testes da versão alfa resultaram nos bugs esperados, mas ao menos é possível usar o sistema com meu chipset Intel 945GME. Rodar o KDE 4.3 com animações 3D deu no mesmo que eu já relatei na análise do Pardus 2009 e no Ubuntu 9.10 alpha 4 rodando o GNOME.

  • O Fedora 11 saiu no dia 9 de junho. Ser lançado depois das outras distros possibilitou aos desenvolvedores do Fedora incluir o driver Intel 2.7.0, e não o 2.6.x que acompanhou os lançamentos do Ubuntu e do Mandriva em abril. Os desenvolvedores do Fedora também puderam incorporar soluções provisórias para alguns problemas existentes, e até vincular alguns deles a chipsets gráficos específicos. O resultado é que logo de tacada o Fedora 11 saiu-se melhor no meu netbook Sylvania do que o Mandriva 2009.1 e o Ubuntu 9.04 com todas as atualizações realizadas e soluções provisórias tomadas. O desempenho 3D ainda não se apresentava como deveria, mas o sistema mostrou-se estável. Eu não rodei o Fedora 11 por muito tempo no meu sistema. Ainda não foram lançadas versões de desenvolvimento do Fedora 12; no entanto, está claro que os progressos realizados nos drivers Intel no upstream irão se traduzir em melhorias no Fedora, no Ubuntu e no Mandriva.

Outras distribuições

Distribuições como o Debian GNU/Linux, o openSUSE e o Slackware Linux não lançaram versões finais nos últimos seis meses e evitaram os problemas que atingiram as distribuições com ciclos de lançamento menores. O Red Hat Enterprise Linux e seus clones gratuitos, como o Scientific Linux e o CentOS, também evitaram o problema porque usam código antigo e estável.

Agora as versões de desenvolvimento: o Milestone 5 do openSUSE 11.2, lançado no dia 10 de agosto, inclui o driver Intel 2.8.0, o X.Org 1.6.3 e um kernel 2.6.31-rc4. Um problema de travamento do X antes do KDM carregar no runlevel 5 foi relatado em sistemas com drivers de vídeo Intel ou VESA. O Slackware 13 RC2, lançado no dia 6 de agosto, também inclui o X.Org 1.6.3 e o driver Intel 2.8.0, mas usa um kernel um pouco mais antigo, o 2.6.29.6. Eu ainda não tive a oportunidade de testar essas versões de desenvolvimento.

Conclusões

Os problemas causados pelas alterações globais da pilha do driver Intel ainda não foram totalmente resolvidos. A julgar pelos fóruns de distribuições que estão testando o driver Intel 2.8.0 e por experiência própria, parece que os problemas mais sérios, especialmente os que afetam a estabilidade do sistema, foram resolvidos. Com base na taxa de progressos dos últimos meses, eu tenho esperanças de que as novas versões de distros previstas para o terceiro e o quarto trimestre de 2009 finalmente ofereçam um desempenho gráfico ao menos equivalente ao que nós tínhamos no ano passado. O prometido aumento no desempenho com o uso do GEM do kernel, do KMS, da UXA e do DRI2 virá mais tarde do que os desenvolvedores da Intel imaginavam, e depois de causar muita preocupação à comunidade de usuários. No fim das contas, as promessas feitas sem dúvida serão cumpridas.

Os críticos habituais do Linux usaram a regressão do driver de vídeo Intel como “prova” de que o Linux não está pronto para o desktop. A natureza aberta da comunidade Linux permitiu que todos os aspectos do problema fossem examinados nos mínimos detalhes, fazendo com que a situação parecesse única. Mas não é. Drivers de vídeo proprietários problemáticos já foram lançados para sistemas operacionais proprietários antes, e isso provavelmente vai continuar acontecendo.

Os usuários do Linux com os chipsets Intel afetados acabaram usando uma das muitas distribuições Linux que não apresentaram o problema ou simplesmente rodaram uma versão antiga (mas ainda suportada) de sua distro favorita. Nós continuamos desfrutando do Linux no desktop, ainda que tenhamos passado por alguma frustração e desapontamento com nossa distro favorita. Até a minha frustração com o Mandriva foi uma expressão do fato de que eu me acostumei a esperar total excelência de seus produtos por anos.

Só podemos esperar que aqueles que desenvolvem elementos do núcleo do Linux e os vários distribuidores do Linux tenham aprendido com esta experiência, e pensem duas vezes antes de correr para lançar código no mercado prematuramente.

Créditos a Caitlyn Martin distrowatch.com
Tradução por Roberto Bechtlufft <info at bechtranslations.com.br>

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X