O DRI (Direct Rendering Infrastructure), também conhecido como aceleração de hardware 3D, é um framework para permitir acesso direto ao hardware da placa de vídeo através do sistema de janelas X, de uma forma eficiente e segura.
O primeiro passo para ativar o DRI é verificar se a placa de vídeo instalada possui suporte ao recurso, consulte no site da fabricante da placa e no Google para obter essa informação.
O segundo passo é possuir uma versão atual do servidor X. No caso, eu tive problemas com a versão 1.3 do xorg e precisei atualizar para a versão 1.4.2.
Para saber que versão do xorg está instalada, use o comando:
xdpyinfo | grep version
Para se ativar o DRI no X utiliza-se o DRM (Direct Rendering Manager), que é um reforço para o Xorg. O DRM adiciona aceleração 3D acrescentado o módulo de kernel necessário para o direct rendering.
Bom, agora que os pré-requisitos foram atendidos, é importante lembrar que existem duas formas de se ativar o DRI. A primeira é compilar o kernel com o suporte nativo, a segunda é compilar o kernel com suporte modular ao drm e então carregar o módulo após o boot do kernel.
As duas alternativas são eficientes, dependendo de cada caso. No Gentoo existe um pacote na árvore do portage (x11-xdm) que compila o módulo do DRM, e a grande vantagem é que esse pacote é atualizado com uma boa periodicidade, bastando reinstalá-lo a cada versão, o que seria inviável com um drm compilado dentro do kernel (imagine recompilar o kernel cada vez que se deseja atualizar o pacote).
Dessa forma optei por compilar o kernel com um (M) marcado em DRM.
[3] Comentário enviado por agk em 21/10/2008 - 09:14h
É muito interessante esse recurso, já havia comentado sobre isso há alguns anos atrás, tive que habilitar esse suporte para poder jogar alguns jogos através do wine, como: Warcraft 3, Nascar, Midtown Madness 2 entre outros. O que percebi é que os jogos que necessitavam do directX no outro sistema, aqui funcionavam muito melhor através do wine se estivesse com o DRI habilitado. Só para lembrar, DRI não é a mesma coisa que openGL, quem leu o artigo deve ter entendido isso.