ct

    Empacotando o Driver da nVidia

    Dicas do Guia do Hardware

    Apesar de ter o código fonte fechado, o driver 3D da nVidia é distribuído com uma licença liberal, que permite sua livre distribuição, desde que não sejam feitas alterações. Graças a isto, um grande número de distribuições já estão vindo com o driver pré-instalado, o que é bom tanto para os usuários, quanto para a própria nVidia, que tem a chance de vender mais placas graças ao bom suporte por parte das distribuições. Em distribuições derivadas do Debian, o driver da nVidia pode ser instalado tanto do jeito "normal", baixando o driver binário do site da nVidia e executando o instalador no modo texto, ou instalado o driver através do apt-get.Carlos E. Morimoto
    03/12/2004


    Apesar de ter o código fonte fechado, o driver 3D da nVidia é distribuído com uma licença liberal, que permite sua livre distribuição, desde que não sejam feitas alterações.

    Graças a isto, um grande número de distribuições já estão vindo com o driver pré-instalado, o que é bom tanto para os usuários, quanto para a própria nVidia, que tem a chance de vender mais placas graças ao bom suporte por parte das distribuições.

    Em distribuições derivadas do Debian, o driver da nVidia pode ser instalado tanto do jeito "normal", baixando o driver binário do site da nVidia e executando o instalador no modo texto, ou instalado o driver através do apt-get.

    O driver é dividido em duas partes: um módulo no Kernel, que precisa ser compilado durante a instalação do driver (já que o módulo é diferente para cada versão do Kernel) e uma coleção de bibliotecas e utilitários que são independentes da versão do Kernel.

    A instalação do driver pode ser problemática em alguns casos, pois é necessário ter instalados os compiladores e os headers do Kernel e a versão do gcc instalada precisa ser a mesma que foi usada para compilar o Kernel.

    A minha idéia aqui não é ensinar como instalar o driver, o que é bastante simples, mas ensinar como criar pacote pré-compilados que podem ser distribuídos ou incluídos em personalizações do sistema. Distribuir um pacote pré-compilado elimina a necessidade de ter compiladores instalados e minimiza os possíveis problemas de instalação.

    Por outro lado, o pacote pré-compilado só vai funcionar no Kernel específico para que foi compilado.

    Para gerar um pacote .deb com o módulo pré-compilado:

    # apt-get install module-assistant nvidia-kernel-common

    # module-assistant auto-install nvidia

    No final da instalação você verá que é gerado um pacote .deb com o módulo compilado para o Kernel atual:

    Selecionando pacote previamente não selecionado nvidia-kernel-2.6.8.1-kanotix-10.

    (Lendo banco de dados ... 57537 arquivos e diretórios atualmente instalados.) Descompactando nvidia-kernel-2.6.8.1-kanotix-10 (de .../nvidia-kernel-2.6.8.1-kanotix 10_1.0.6111-1_i386.deb) ...

    Instalando nvidia-kernel-2.6.8.1-kanotix-10 (1.0.6111-1) ...

    Você pode instalar este pacote em outras máquinas, que estejam rodando a mesma versão do sistema, ou pelo menos estejam utilizando a mesma versão do Kernel. Para isso, você precisará reempacotar o pacote, pois ele é deletado no final da instalação:

    # dpkg-repack nvidia-kernel-2.6.8.1-kanotix-10

    dpkg-deb: construíndo pacote `nvidia-kernel-2.6.8.1-kanotix-10' em `./nvidia-kernel-2.6.8.1-kanotix-10_1.0.6111-1_i386.deb'.

    Agora sim, você tem o pacote no diretório atual e pode redistribuí-lo à vontade.

    Falta agora instalar o restante do driver, incluindo as bibliotecas 3D. Estes componentes fazem parte do pacote nvidia-glx, que também pode ser instalado pelo apt-get:

    # apt-get install nvidia-glx

    Basta distribuir o pacote nvidia-kernel-2.6.8.1-kanotix-10 junto com o pacote nvidia-glx.

    A segunda maneira é reempacotar o driver binário da nVidia, incluindo o módulo para a versão atual do Kernel. Para isso, baixe a versão mais atual do driver no http://www.nvidia.com e execute-o com a opção --add-this-kernel:

    # ./NVIDIA-Linux-x86-1.0-6111-pkg1.rum -add-this-kernel

    Isto vai gerar um novo pacote com o módulo para o Kernel atual incluído. Ao instalar você verificará que ele simplesmente usará o módulo pré-compilado, sem tentar compilar novamente.

    Em qualquer um dos dois casos, depois de instalar o pacote ainda é necessário fazer as mudanças no arquivo de configuração do vídeo. Isso pode ser automatizado através de um script, usando o sed ou o awk para alterar os campos necessários no arquivo /etc/X11/XF86Config-4.

    Este é um exemplo de uso do sed para fazer as alterações necessárias que escrevi para uso no icone mágico do Kurumin:

    sed -e 's/nv/nvidia/g' /etc/X11/XF86Config-4 > /etc/X11/XF86Config-4nv1
    echo "Ativando driver: Localizando expressao *nv* e substituindo por *nvidia*"; sleep 1

    sed -e 's/fbdev/nvidia/g' /etc/X11/XF86Config-4nv1 > /etc/X11/XF86Config-4nv2
    echo "Ativando driver: Localizando expressao *fbdev* e substituindo por *nvidia*"; sleep 1

    sed -e 's/vesa/nvidia/g' /etc/X11/XF86Config-4nv2 > /etc/X11/XF86Config-4nv3
    echo "Ativando driver: Localizando expressao *vesa* e substituindo por *nvidia*"; sleep 1

    sed -e '\/Load\ \ "dri"/D' /etc/X11/XF86Config-4nv3 > /etc/X11/XF86Config-4nv4
    echo "Ativando driver: Removendo a linha *Load dri*"; sleep 1

    sed -e '\/Load\ \ "GLcore"/D' /etc/X11/XF86Config-4nv4 > /etc/X11/XF86Config-4nv5
    echo "Ativando driver: Removendo a linha *Load GLcore*"; sleep 1

    sed -e '\/Load\ \ "dbe"/D' /etc/X11/XF86Config-4nv5 > /etc/X11/XF86Config-4nv6
    echo "Ativando driver: Removendo a linha *Load dbe*"; sleep 1

    mv /etc/X11/XF86Config-4 /etc/X11/XF86Config-4original
    mv /etc/X11/XF86Config-4nv7 /etc/X11/XF86Config-4
    rm -f /etc/X11/XF86Config-4nv*




    Blog:

    Add to Google

    » Gostou do texto? Veja nossos livros impressos:
    Hardware | Redes | Servidores | Kurumin 7

    ... ou encontre o que procura usando a busca:

cb
Livros de Carlos E. Morimoto HOME