Veja um exemplo de arquivo /etc/apt/sources.list real que disponibiliza praticamente tudo que você precisa para uso num desktop Debian 5.0 Lenny.
Instruções resumidas e diretas (receita de bolo) para ter o máximo desempenho 3D de sua placa nVidia no Debian GNU/Linux 3.1 Sarge.
Este mini how-to é uma tradução livre e adaptada, com mais instruções para tornar o processo ágil e fácil, do documento Debian que você encontra no seu disco rígido em /usr/share/doc/nvidia-kernel-source/README.Debian
Você terá um driver de máximo desempenho 3D, pois será compilado otimizado para sua máquina.
Os passos adicionais que acrescentei estão listados como sub-ítens dos passos do documento original.
Seguindo este documento, você NÃO precisa, nem deve, baixar e instalar o driver unificado do site nVidia. Aquele driver unificado compila e instala fora do sistema de pacotes e coloca arquivos em locais diferentes. Este método aqui é mais limpo e adequado para sistemas Debian que utilizam o apt.
Este documento também não está utilizando o novo recurso do pacote module-assistant que foi criado para facilitar este tipo de tarefa.
Bem vindo aos pacotes Debian para nVidia. Este documento contém notas sobre o módulo de interface com o kernel para o driver fornecido pela nVidia.
O pacote fonte nvidia-graphics-drivers gera os pacotes nvidia-kernel-source (que ainda precisará compilação adicional para gerar os módulos do kernel), nvidia-glx, nvidia-glx-dev, nvidia-glx-ia32.
Nos repositórios contrib e non-free do Debian GNU / Linux existem pacotes pré-compilados para algumas versões (stable, testing, unstable). Não são as versões mais novas do driver fornecido pela nVidia, mas podem ser suficientes para funcionar com seu kernel e placa de vídeo.
Faça uma pesquisa no site Debian. Se o servidor principal ainda estiver desativado, tente esta pesquisa no servidor secundário.
Se forem suficientes os pacotes fornecidos, basta configurar seu sources.list e realizar o comando apt-get apropriado ou usar o Synaptic.
Se você quer ter o mais recente driver de vídeo e ou mais recente kernel, ou ainda não está disponível um apropriado para seu kernel, continue lendo o tutorial.
As versões do driver unificado nVidia nos repositórios oficiais PODEM suportar sua placa. Faça uma tentativa com elas primeiro.
Se não for suportada, tiver comportamento estranho, desempenho ruim, você terá de compilar uma versão recente você mesmo. Continue lendo.
Se os drivers pré compilados do repositório oficial não forem de versão suficiente nova para sua placa, é indicado utilizar o repositório do Backports. Veja o quadro em destaque sobre os arquivos sources.list e o preferences.
Os pacotes fonte Debian geram binários prontos para rodar em kernel 2.6.x.
Para utilizar nvidia com kernel 2.4.x você PRECISA desabilitar Thread Local Storage (TLS) da nVidia após a instalação e reiniciar o servidor X.
Você TERÁ de usar as bibliotecas originais do kernel ou os erros mais estranhos acontecerão durante a operação da placa de vídeo.
Manchas, imagens duplicadas, desempenho baixo, atrasos, recursos OpenGL deturpados, e outros erros estranhos dependendo do chipset.
Como último passo da instalação, antes de utilizar o novo driver de vídeo, você deverá executar, loggado como root, o comando:
dpkg-reconfigure --priority=low nvidia-glx
Para desabilitar o TLS para cada novo reboot.
Normalmente, o script /etc/init.d/nvidia-glx deveria detectar a versão do kernel corretamente e desabilitar / habilitar TLS conforme o caso, mas às vezes pode falhar.
A reconfiguração deve editar o arquivo /etc/default/nvidia-glx e habilitar
USE_TLS=0
Para confirmar, você pode executar, loggado como root, o comando:
/etc/init.d/nvidia-glx restart
e reiniciar o servidor X. (sair da sessão e usar o gdm / kdm ou ctrl+alt+backspace).
Há vários modos de compilar o pacote nvidia-kernel. Qual deles você usará depende da situação do seu kernel.
Qual método você vai escolher depende realmente de qual kernel headers você deseja usar, aquele oriundo de um pacote kernel-headers ou um originado a partir do código fonte do kernel que você mesmo compilou.
Como mencionado acima, se você está rodando um kernel fornecido pré-compilado pelo Debian, você irá provavelmente escolher o método #1.
Se você compila seu próprio kernel, escolherá o método #2.
Decida ONDE você quer compilar seu módulo. Por padrão, ele será compilado dentro do diretório /usr/src como outros módulos do kernel, mas você pode escolher compilar dentro do seu diretório home de usuário como algumas pessoas preferem e escrever para /usr viola o FHS (file hierarchy standard).
A partir da versão 1.0.5336-1, a nVidia inclui suporte a kernels 2.6.x. Nenhum passo adicional é requerido.
A partir da versão 1.0.5336-8 existe suporte ao carregamento de módulo hotplug provido em patches que são aplicados por padrão.
Porém, por padrão, o hotplug é configurado para ignorar placas de vídeo PCI/AGP.
Para mudar isso, configure IGNORE_PCI_CLASS_DISPLAY para falso no arquivo /etc/default/hotplug ou rode
dpkg-reconfigure -plow hotplug
O ambiente para compilação auto-apt resolve o problema de perda de tempo tentando descobrir as dependências necessárias para compilar um programa.
Estando loggado como root (ou usando fakeroot)
1. cd /usr/src
tar xzvf nvidia-kernel-source.tar.gz -C [SEU DIRETÓRIO DE COMPILAÇÃO]
(Isto vai instalar em [SEU DIRETÓRIO DE COMPILAÇÃO]/modules)
- ou -
tar xzvf nvidia-kernel-source.tar.gz (se compilando em /usr/src)
O diretório padrão de compilação é /usr/src
2. Encontre a versão de kernel que está rodando:
uname -r
Por exemplo: 2.4.21-4-k7
3. Baixe e instale o pacote correspondete a versão de kernel
apt-get install kernel-headers-2.4.21-4-k7
Isto vai instalar em /usr/src/
Esteja certo de que a imagem de kernel e os headers tenham números de versão casados, para evitar possíveis problemas em pacotes compilados de fontes diferentes.
4. Configure algumas variáveis de ambiente:
Se seu shell for bash, pode usar os comandos abaixo:
export KSRC=/usr/src/kernel-headers-2.4.21-4-k7
export KVERS=2.4.21-4-k7
5. Instale nvidia-kernel-common:
apt-get install nvidia-kernel-common
6. Então compile seu pacote nvidia-kernel :
(Você também pode combinar os passos 4 e 5 em uma linha:
KSRC=/usr/src/kernel-headers-2.4.21-4-k7 KVERS=2.4.21-4-k7 debian/rules binary_modules)
7. Instale o nvidia-kernel package compilado:
Por exemplo:
dpkg -i ../nvidia-kernel-2.4.21-4-k7_1.0.7174-1+_.Custom_i386.deb
( ou nome similar nvidia-kernel-algum_nro_versao.deb, que foi criado pela compilação )
8. Agora leia as NOTAS GERAIS abaixo das instruções do método 2.
Para compilar um pacote deb nvidia-kernel você precisa primeiro estar certo que tem o kernel-package instalado, então faça o seguinte:
Como root
1. cd /usr/src
tar xzvf nvidia-kernel-source.tar.gz -C [SEU DIRETÓRIO DE COMPILAÇÃO]
(Isto vai instalar em [SEU DIRETÓRIO DE COMPILAÇÃO]/modules)
- ou -
tar xzvf nvidia-kernel-source.tar.gz (se compilando em /usr/src)
2. Se você não está usando a localização padrão para os módulos em /usr/src/modules então você tem de configurar uma variável de ambiente que aponta para sua localização de módulos.
export MODULE_LOC=[SEU DIRETÓRIO DE COMPILAÇÃO]/modules
Isto é necessário para o make-kpkg que será usado mais adiante.
Se [SEU DIRETÓRIO DE COMPILAÇÃO] é /usr/src então não há necessidade de configurar isto.
3. Compile os módulos sob MODULE_LOC i.e. [SEU DIRETÓRIO DE COMPILAÇÃO]/modules
cd linux (ou seu diretório de fontes do kernel)
make-kpkg modules_image
4. Instale nvidia-kernel-common:
apt-get install nvidia-kernel-common
5. Instale the nvidia-kernel package:
cd [SEU DIRETÓRIO DE COMPILAÇÃO] (ou /usr/src)
dpkg -i nvidia-kernel-KVER*.deb
- É indicado não limpar a árvore do fonte do kernel entre
"make-kpkg kernel_image" e "make-kpkg modules_image".
- O framebuffer Riva é conhecido por conflitar com o driver X nVidia. Se você está usando X será melhor não compilá-lo embutido. O framebuffer Vesa é conhecido por funcionar em alguns casos e não em outros. (Recentemente algumas pessoas tiveram problemas com o driver Vesa também)
É atualmente o método mais simples e rápido.
Será mais fácil se estiver loggado como root e já tiver configurado seus repositórios conforme nosso artigo .
Você precisará adicionar quaisquer usuários que desejem usar aplicativos com OpenGL ao grupo "video".
Você pode fazer isso com:
adduser username video
Também note que para problemas com AGP e informações adicionais é indicado ler o arquivo nVidia README (README.gz) no pacote nvidia-glx.
Um arquivo antigo nvidia.o pode já estar carregado no seu sistema (rode "lsmod" para verificar isso), portanto rode
rmmod nvidia.o
para remover o módulo da memória.
Para quaisquer novidades neste pacote, verifique
http://people.debian.org/~rdonald e
http://bugs.debian.org/nvidia-kernel-source
-- Randall Donald [rdonald@debian.org]