Responder 
 
Avaliação do Tópico:
  • 0 Votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Dúvida: Drive da Nvidia no Debian Lenny - Resolvido
14/09/2007, 16:54
Resposta: #1
Dúvida: Drive da Nvidia no Debian Lenny - Resolvido
Pessoal gostaria de tirar uma dúvida com todos que puderem me ajudar, é o seguinte:

Estou usando o Debian Lenny (testing) e meu linux-image é o 2.6.21-2-k7. Este kernel foi compilado com gcc 4.1, mas no repositório do Debian Lenny estão muitos pacotes do gnome e programas que foram compilados com o gcc 4.2 e este está instalado e é o compilador atual padrão usado pela distribuição.

No momento, nos repositórios do lenny (testing) não está disponível o pacote nvidia-kernel-2.6.21-2-k7 que seria o pacote pré-compilado para esse kernel mais novo, tambem não está disponível o nvidia-glx e os demais pacotes sources da nvidia necessários para uma compilação pelo module-assistant.

Os pacotes da nvidia que estão nesse momento disponíveis no repositório unstable tambem não estão completos para compilação tanto do kernel 2.6.21... como do 2.6.22... através do module-assistant.

Dessa maneira, a alternativa é compilar o drive proprietário da nvidia para o meu kernel que está em uso, como falei é o 2.6.21-2-k7. Então para otimizar um pouco o que fiz foi o seguinte:

instalei o module-assistant e dei o comando m-a prepare fazendo com que o module assistante baixa-se todos os pacotes necessários para a compilação do drive proprietário para meu kernel. O module-assistante baixou o linux-headers-2.6.21-2-k7, linux-kbuild-2.6.21 que é o suficiente para a compilação e ainda criou o link simbólico /linux.

Até este ponto está tudo perfeito.

Na hora de instalar o drive proprietário da Nvidia, o mesmo me informa que não pode ser compilado corretamente por que a versão do gcc utilizada pelo kernel 2.6.21-2-k7 é a gcc 4.1 e a versão atual para compilação do drive da nvidia é a gcc 4.2, sendo assim, ele pergunta se quero forçar a compilação mesmo assim. Eu tentei compilar mesmo assim e não deu certo, o drive ficou quebrado deixando muitas funcionalidades desativadas e nesse caso eu o removi.

O problema é que se eu remover a versão GCC 4.2 ele vai remover um monte de pacotes essenciais da distribuição de maneira que não posso remover o gcc 4.2 pois é parte importante dos vários pacotes do gnome e outros programas instalados.

A solução seria a seguinte:

Migrar para um kernel que estivesse compilado com o gcc 4.2 e então estaria resolvido meu problema pois o drive da nvidia seria devidamente compilado mantendo a compatibilidade, mas ae está o problema, nem o kernel 2.6.22... foi compilado com o gcc 4.2, então não tem outro kernel disponível nem no unstable para meu processador que seja compilado pelo gcc 4.2.

A segunda solução seria recompilar o kernel do linux com o gcc 4.2, mas nesse caso encontro vários problemas pois nunca recompilei o kernel, se compilasse ele deixaria de ter as features originais dos mantenedores do pacote e que pra mim está funcionando maravilhosamente.

então vem as dúvidas crueis:

1. A melhor solução que até o momento pensei foi, como compilar o drive da nvidia com o gcc 4.1 já que a minha distribuição quer usar o gcc 4.2?

2. Alguem sabe como faço para forcar apenas o drive proprietário da nvidia usar o compilador gcc 4.1?

Lembrando que não quero deixar o gcc 4.1 como padrão da distribuição. Quero apenas saber como faço para usar esse gcc para compilar o drive proprietário da nvidia no lugar do gcc 4.2.

No caso, tenho instalado todos os gccs, do 3.3 ao 4.2 na minha distribuição.

Espero que tenha conseguido deixar meu problema bem explicado e se alguem puder me dar um solução eu agradeço muito.

No aguardo...
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
14/09/2007, 17:18
Resposta: #2
 
Kellyton,

O driver proprietário procura o seguinte arquivo /usr/bin/gcc. Ele é um link para o binário do gcc mais atual do seu sistema

Exemplo:

Código:
$ ls -lh gcc
lrwxrwxrwx 1 root root 7 2007-03-23 15:52 gcc -> gcc-4.1

Você pode tentar alterar esse link para o gcc 4.1 ( como é o seu caso ), instalar o driver proprietário e depois voltar para o gcc 4.2.
Visitar o website do usuário Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
14/09/2007, 17:19
Resposta: #3
 
Olha eu também tentei instalar o driver da nvidia no lenny com o kernel 2.6.21 mas há um bug nesse kernel a respeito do driver da nvidia, então a solução foi migar para o kernel 2.6.22-1-686 da unstable, e comigo deu certo.
É só você mudar o seu sources.list pra unstable depois instalar o novo keernel 2.6.22-1-686 e depois instalar os pacotes necessários pacotes necessários para instalação do nvidia e usar o module-assistant, depois de instalado é só voltar o sources.list como estava antes.
Aqui tá funcionando belezinha.

LINUX, it's the future... and the future it's on our hands!!!
Visitar o website do usuário Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
14/09/2007, 22:42
Resposta: #4
 
Pessoal eu consegui resolver o problema com a ajuda de vocês e do meu cunhado Marcus que vicio no Unix/Linux.

Para ajudar muitos outros ta aqui a solução para instalar o drive proprietário da nvidia em qualquer kernel numa receita de bolo:

1. Descobrir qual é a versão do gcc que o kernel foi compilado, no caso o kernel instalado. usando o comando:

$cat /proc/version

Após descobrir qual foi a versão do gcc que foi compilado o kernel, é necessário que o Debian tenha a mesma versão instalada do gcc para poder compilar o drive da nvidia corretamente.

2. Para saber todas as versões do gcc instalada no Debian use o comando:

$dpkg -l | grep gcc

Esse comando vai mostrar todas as versões do gcc instalado no Debian e a versão mais nova é a versão padrão que a disribuição está utilizando.

3. No meu caso, o meu kernel foi compilado com o gcc 4.1, mas devido as atualizações do repositório o Debian instalou o gcc 4.2 e quando fui instalar o drive da nvidia, o script de instalação da nvidia me informou que o CC era diferente do meu kernel, no caso o gcc 4.1, e o CC padrão da minha distribuição agora era o gcc 4.2, assim não era possível instalar corretamente o drive da nvidia pois o gcc atual era imcompatível com o gcc do kernel compilado.

Neste caso, eu precisava fazer o script da nvidia reconhecer como padrão o gcc 4.1 em vez do gcc 4.2 que ele estava sempre achando. Então fui no diretório /usr/bin e encontrei um link simbólico chamado cc e ao ver em propriedades, vi que o link simbólico estava apontando para o caminho /usr/bin/gcc-4.2. Então alterei o link simbólico cc direcionando para o gcc-4.1 com o seguinte comando:

#ln -sf /usr/bin/gcc-4.1 /usr/bin/cc

Pronto, o script da nvidia agora reconhece o gcc-4.1, gcc igual ao do meu kernel instalado.

Então segui as rotinas de instalação do drive proprietário da nvidia.

Concluindo...

Fui para o modo texto, desabilitei o x com o comando:

#/etc/init.d/gdm stop

depois usei o module-assistant com o comando:

m-a prepare

O module assistante baixou todos os pacotes necessário como o linux-headers e linux-kbuild e o criou o link simbólico linux. Pronto tudo perfeito para instalar agora o drive proprietário da nvidia.

Então entrei no diretório onde tava o script de instalação da nvidia e instalei com o comando:

#sh NVIDIAXXX-XXX-XXX-XXX.run --x-module-patch=/usr/lib/xorg/modules

Ocorreu tudo normalmente, o drive foi instalado perfeitamente e para configurar eu poderia usar depois o nvidia-xconfig é que o configurador da nvidia, mas no caso como tava já acostumado com o dpkg eu preferi configurar deste modo.

#dpkg-reconfigure xserver-xorg

ao reiniciar o X com o comando:

#/etc/init.d/gdm start

tudo funcionou como eu esperava, instalação perfeita.

OBS: Antes de baixar o drive no site da nvidia eu pesquisei no readme dos drives disponíveis para escolher a versão mais atual que suportava minha placa de vídeo que é uma GF 7600GT. É importante que o drive instalado seja o drive adequado à placa de vídeo que você usa para garantir que este drive tenha realmente suporte a ela.

Ufa, me senti obrigado a colocar aqui minha experiência pois encontrei em vários sites e foruns tanto do brasil como no exterior e vi que muita gente estava na peia como eu.

Valeu ae pessoal pela força...
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
29/08/2008, 04:04
Resposta: #5
 
Fiz todos os passos citados, mas não funcionou.
Segue a mensagem de erro:

nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Fri Aug 29 03:58:39 2008
installer version: 1.0.7

option status:
license pre-accepted : false
update : false
force update : false
expert : false
uninstall : false
driver info : false
precompiled interfaces : true
no ncurses color : false
query latest version : false
OpenGL header files : true
no questions : false
silent : false
no recursion : false
no backup : false
kernel module only : false
sanity : false
add this kernel : false
no runlevel check : false
no network : false
no ABI note : false
no RPMs : false
no kernel module : false
force SELinux : default
no X server check : false
no cc version check : false
force tls : (not specified)
X install prefix : (not specified)
X library install path : (not specified)
X module install path : (not specified)
OpenGL install prefix : (not specified)
OpenGL install libdir : (not specified)
utility install prefix : (not specified)
utility install libdir : (not specified)
doc install prefix : (not specified)
kernel name : (not specified)
kernel include path : (not specified)
kernel source path : (not specified)
kernel output path : (not specified)
kernel install path : (not specified)
proc mount point : /proc
ui : (not specified)
tmpdir : /tmp
ftp mirror : ftp://download.nvidia.com
RPM file list : (not specified)

Using: nvidia-installer ncurses user interface
-> License accepted.
-> Installing NVIDIA driver version 173.14.12.
-> No precompiled kernel interface was found to match your kernel; would you li
ke the installer to attempt to download a kernel interface for your kernel f
rom the NVIDIA ftp site (ftp://download.nvidia.com)? (Answer: Yes)
-> No matching precompiled kernel interface was found on the NVIDIA ftp site;
this means that the installer will need to compile a kernel interface for
your kernel.
ERROR: Unable to find the development tool `cc` in your path; please make sure
that you have the package 'gcc' installed. If gcc is installed on your
system, then please check that `cc` is in your PATH.
ERROR: Installation has failed. Please see the file
'/var/log/nvidia-installer.log' for details. You may find suggestions
on fixing installation problems in the README available on the Linux
driver download page at www.nvidia.com.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
03/09/2009, 19:46
Resposta: #6
Re: Dúvida: Drive da Nvidia no Debian Lenny - Resolvido
Outra forma de resolver o problema é com o uso de alternatives. Dessa forma você poderá instalar quantas versões você quiser de um programa e alterar para qual você quer. Para desfazer o processo é bastante simples.
Para isso você usa o comando "update-alternatives" da seguinte forma:
Código:
#update-alternatives --install /usr/bin/[[link simbólico para o programa]] [[nome do alternative]] [[/programa/a/ser/executado]] [prioridade]]

Onde:
[[nome do alternative]] é o nome do programa que você executa na linha de comando (gcc, java, editor, etc)
[[/programa/a/ser/executado]] é o executável que você quer executar
[[prioridade]] é o número de ordem do alternative (quando for configurá-lo)

Basta instalar quantos alternatives quiser bastando alterar os dados que tem que ser mudados e a prioridade, passando ela para 2, 3, ...

Instalado os alternatives mude o alternative atual para o desejado com:

Código:
update-alternatives --config [[nome do alternative]]
Pronto. Agora o alternative aponta para o novo programa desejado.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
Responder 


Ir ao Fórum:


Usuários visualizando este tópico: 1 Visitantes

Entre em Contato | Fórum Debian | Voltar ao Topo | Voltar ao Conteúdo | Modo Leve (Arquivo) | Feeds RSS