Instalando manualmente

A nVidia disponibiliza um instalador genérico, que usa uma interface de modo texto simples e consegue ser compatível com quase todas as distribuições sem precisar de qualquer modificação. O driver pode ser baixado na seção “Download Drivers > Linux and FreeBSD drivers” no http://www.nvidia.com.

Na página de download estão disponíveis versões para processadores x86 (Pentium, Athlon, Duron, etc.), o Linux IA32, uma versão para processadores AMD64 (Linux AMD64/EM64T) e até uma versão para PCs com processadores Intel Itanium (Linux IA64):

Nas primeiras versões, os drivers eram bem mais complicados de instalar e eram disponibilizados pacotes separados para cada principal distribuição. A partir da versão 1.0-4349 (março de 2003), o driver foi unificado, e o mesmo executável passou a atender todas as distribuições.

Este arquivo executável substitui os dois arquivos com o o GLX e o Kernel driver, que precisavam ser instalados separadamente nas versões antigas do driver. Um instalador simples, em modo texto, cuida da maior parte do trabalho.

A segunda grande mudança ocorreu a partir do 1.0-7664 (junho de 2005). Até o 1.0-7174, o driver dava suporte a toda a família nVidia, das antigas TNT e TNT2, às placas mais recentes.

A partir do 1.0-7664 foi removido o suporte às placas TNT e TNT2 (incluindo as Vanta, Pro e Ultra), além das GeForce 256, GeForce DDR, GeForce2 GTS, Ti e Ultra, que passaram a ser consideradas placas “de legado”. Se você tem uma, a única opção é continuar usando o antigo driver 1.0-7174, que continua disponível no arquivo: http://www.nvidia.com/object/linux_display_archive.html.

Enquanto escrevo, a versão mais atual é a 1.0 release 8178, o que faz com que o arquivo se chame NVIDIA-Linux-x86-1.0-8178-pkg1.run.

Este é um arquivo binário, diferente dos pacotes .RPM ou .DEB a que estamos acostumados. Você não precisa usar nenhum gerenciador de pacotes, basta rodá-lo diretamente em qualquer distribuição.

Como de praxe, para executá-lo você precisa antes de mais nada dar permissão de execução para ele, o que pode ser feito com o comando:

$ chmod +x NVIDIA-Linux-x86-1.0-8178-pkg1.run

Por precaução, o instalador exige que você o execute em modo texto puro. O problema todo é que se você já estiver usando uma versão anterior dos drivers da nVidia, ele não terá como substituir os módulos antigos enquanto eles estiverem em uso (ou seja, enquanto o modo gráfico estiver aberto). Para fechar o X e poder iniciar a instalação do driver, é necessário parar o KDM ou GDM, voltando para o modo texto. Dependendo da distribuição usada, você pode usar um dos comandos abaixo para fechar o gerenciador de login:

# /etc/init.d/kdm stop
# /etc/init.d/gdm stop
# service dm stop

… ou usar o comando telinit (ou init) para mudar para o runlevel 3, que não inclui a abertura do modo gráfico:

# telinit 3
# init 3

No terminal, logue-se como root, acesse a pasta onde o arquivo foi baixado e finalmente execute-o com o comando:

# ./NVIDIA-Linux-x86-1.0-8178-pkg1.run

Antes de mais nada, você precisa aceitar o bom e velho contrato de licença. Muita gente se pergunta por que a nVidia não abre de uma vez o código fonte do driver para que ele já seja incluído diretamente nas distribuições.

Bem, o problema todo tem três letras: ATI. Atualmente a ATI está à frente da nVidia do ponto de vista do hardware. As placas são na maioria dos casos mais rápidas. O problema é que a ATI não consegue fazer drivers tão bons quanto a nVidia, o que mantém as duas mais ou menos em pé de igualdade. Abrir os drivers neste caso poderia beneficiar a ATI, já que o código fonte do driver diz muito sobre como a placa funciona e que tipo de otimizações e truques foram implementados.

A maior parte da instalação consiste em simplesmente copiar alguns arquivos e bibliotecas. Mas, existe um componente que precisa ser gerado sob medida para o seu sistema, que é o módulo de Kernel, que permite que o driver tenha acesso de baixo nível ao hardware.

O instalador já traz vários módulos pré-compilados para várias distribuições, incluindo Mandriva, SuSe, Fedora e outras. Ao usar uma delas, ele simplesmente vai instalar o que já tem sem fazer mais perguntas. Caso contrário, ele verificará se existe algum módulo disponível no FTP da nVidia onde é mantido um banco constantemente atualizado.

Se você estiver usando uma distribuição mais incomum, ou tenha compilado seu próprio Kernel, ele recorrerá ao último recurso, que é compilar localmente um módulo adequado para a sua máquina. Neste caso, você precisará ter os pacotes kernel-sources, kernel-headers e gcc instalados, da mesma forma que ao compilar um dos drivers para softmodems ou placas wireless.

Estes pacotes precisam ser obrigatoriamente os que vêm nos CDs da sua distribuição. É preciso que as versões batam com o Kernel que está instalado no seu sistema. De resto é só deixar o próprio programa se encarregar do resto:

Depois de concluída a instalação, use o comando “telinit 5″ ou “/etc/rc.d/kdm start” para reabrir o modo gráfico. Tudo continuará exatamente do mesmo jeito que antes, pois os drivers foram instalados mas ainda não foram ativados :-).

Para finalmente instalar os drivers você precisa editar o arquivo de configuração do X, nada muito complicado.

Antes de mais nada, faça uma cópia do arquivo original, assim se algo der errado e o X não abrir mais você poderá voltar para a sua configuração antiga:

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.orig

Agora abria o arquivo e mãos à obra:

# kedit /etc/X11/xorg.conf

Dentro do arquivo, perto do início comente (ou apague) as linhas Load “GLcore” e Load “dri” e verifique se a linha “Load “glx” está descomentada:

As opções “GLcore” e “dri” ativam o sistema de suporte a gráficos 3D incluído no X. Precisamos desabilitar ambas as linhas justamente para desabilitar este recurso e utilizar diretamente os recursos do driver.

Mais abaixo, procure pela linha que começa com “Driver“. Ela pode estar como Driver “nv”, Driver “fbdev” ou Driver “vesa” de acordo com a sua configuração. Geralmente estará logo abaixo da linha “Section Device”:

Section “Device”
Identifier “Card0”
Driver “nv”

Para ativar o driver da nVidia, você deve alterar o valor para Driver “nvidia“, indicando que o X deve usar o novo driver:

Depois destas três alterações, a configuração está completa. Pressione Ctrl+Alt+Backspace ou reinicie o micro e você verá o splash da nVidia indicando que tudo está certo. Experimente rodar o “glxgears”, ou testar algum game ou aplicativos 3D. Em caso de problemas, basta desfazer as alterações para desativar o driver e voltar a usar o driver “nv”.

Se você estiver usando o Debian, ou outra distribuição derivada dele, como o Knoppix, Kurumin, Lycoris, Linspire, etc., você precisará dar mais dois comandos (como root) para concluir a instalação:

# echo “alias char-major-195 nvidia” >> /etc/modules.conf
# echo “alias char-major-195 nvidia ” >> /etc/modutils/aliases

Uma terceira alteração que pode ser necessária dependendo do modelo da sua placa-mãe é desabilitar o double buffer extension. Procure pela linha:

Load “dbe” # Double buffer extension

e comente-a, deixando:

#Load “dbe” # Double buffer extension

Desabilitar esta opção vai causar uma pequena queda no desempenho. Deixe para desativá-la apenas caso ocorram travamentos ou instabilidade ao rodar games 3D.


Outra configuração que causa problemas freqüentemente é a “NvAGP“, que indica qual driver AGP o driver irá utilizar. Existem três opções:

NvAGP “0”: desativa o uso do AGP. Isto faz com que a placa de vídeo seja acessada como se fosse uma placa PCI, sem armazenar texturas na memória e outros recursos permitidos pelo AGP. O desempenho naturalmente cai, principalmente nos games mais pesados ou ao usar resoluções mais altas, mas os problemas são minimizados.

NvAGP “2”: usa o driver “agpgart”, que é o driver AGP padrão, incluído no próprio Kernel. Este é um driver genérico, que ativa todas as funções do barramento AGP, sem nenhuma otimização em especial.

NvAGP “1”: usa o driver AGP interno da nVidia, uma versão fortemente otimizada, incluída no próprio driver. Esta é a opção mais rápida (de 10 a 20% mais que ao usar o agpgart), porém a mais problemática, pois apresenta incompatibilidades diversas com um grande número de placas-mãe.

Para usar esta opção, o módulo “agpgart” não deve ser carregado durante o boot. Muitas ferramentas de detecção o carregam automaticamente, o que faz com que o driver AGP da nVidia não funcione corretamente e o driver trave durante a abertura do X. Para evitar esse problema, adicione a linhas:

modprobe -r agpgart
modprobe nvidia

… no final do arquivo “/etc/init.d/bootmisc.sh” ou “/etc/rc.d/rc.local”.

É preciso também que a placa-mãe usada seja compatível com o driver. Isso você descobre apenas testando. Se o driver travar na abertura do X, mude para o NvAGP “2” ou NvAGP “0”.

NvAGP “3”: este é o valor default do driver, um valor “seguro”, onde a placa testa ambos os drivers, tentando primeiro usar o agpgart e passando para o nVidia AGP caso possível. Colocar esta opção no arquivo é redundante, já que ela é usada por padrão quando a linha é omitida. Você precisa se preocupar apenas ao usar um dos outros valores.

A opção NvAGP é adicionada dentro da seção “Device”, acima da linha Driver “nvidia”, como em:

Section “Device”
Option “NvAGP” “0”
Identifier “Card0”
Driver “nvidia”
VendorName “All”
BoardName “All”
EndSection

Em teoria, todas as placas-mãe deveriam suportar pelo menos o uso da opção NvAGP “2”, onde é usado o agpgart. Mas, na prática, um número relativamente grande de placas (sobretudo as com alguns chipsets da SiS) só funciona em conjunto com a NvAGP “0”. Se o driver travar durante a abertura do X, adicione a linha e teste novamente.

Em muitos casos, você pode resolver problemas de estabilidade causados por problemas da placa-mãe reduzindo a freqüência do barramento AGP no setup. Usar “AGP 2x” ou mesmo “AGP 1x” ao invés de “AGP 4x” reduz os problemas em muitos casos e não tem um impacto tão grande no desempenho quanto usar a opção NvAGP “0”.

Em alguns casos, os travamentos nos jogos podem também ser causados por problemas com os drivers da placa de som ou do modem, já que não é incomum que ao travar o driver leve junto todo o sistema.

Outras possíveis causas de instabilidade são superaquecimento da placa de vídeo (neste caso experimente comprar um slot cooler, ou instalar um exaustor próximo à placa de vídeo, melhorando a ventilação) ou problemas com a fonte de alimentação do micro (muitas fontes de baixa qualidade não são capazes de fornecer energia suficiente para a placa de vídeo).

Algumas placas-mãe da PC-Chips utilizam capacitores baratos, que fazem com que o slot AGP não consiga fornecer energia suficiente para a placa 3D. Como estas placas são freqüentemente usadas em conjunto com fontes de baixa qualidade (uma economia leva à outra), acabam sendo uma fonte freqüente de problemas.

Mais uma coisa que deve ser levada em consideração é que existem placas de vários fabricantes com chipsets nVidia. Mesmo placas com o mesmo chipset muitas vezes possuem diferenças na temporização da memória, ou mesmo na freqüência do chipset (alguns fabricantes vendem placas overclocadas para diferenciar seus produtos dos concorrentes) e assim por diante. Cada fabricante tenta fazer suas placas serem mais rápidas ou mais baratas que as dos concorrentes, com resultados variados. Estas diferenças podem levar a incompatibilidades diversas com alguns modelos de placas-mãe.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X