# Como habilitar direct redering no gentoo usando nvidia

## cararetoalonso

Olá Pessoal...

Estou com um pequeno problema aqui, e acho que a comunidade pode me ajudar.

Vejam bem... estou tentando instalar na minha máquina os drivers da nvidia. A instalação ocorre normalmente, sem problemas de compilação e tal... configuro meu xorg corretamente e subo o X para verificar se está tudo ok.. Beleza.. Quando vou verificar se o direct rendering da nvidia está habilitado simplesmente diz que não está..

Como faço para instalar a bendita nvidia com suporte a direct redering no gentoo.. Será que tem que usar alguma varíavel antes do emerge? Como fazer para compilar o xorg-server corretamente com suporte a glx?

Já procurei em diversos forums, mas não encontro uma explicação razoável..

Obrigado..

----------

## hokstein

Coloca aqui o seu xorg.conf, por favor.

----------

## esperto

primeiro como você está verificando que o direct rendering não está habilitado? está usando o glxinfo?

E para habilitar o direct rendering deve estar selecionado para compilar junto com o kernel e não como módulo.

----------

## cararetoalonso

Vejam meu xorg.conf está configurado direitinho com a opção do glx ativa e outras mais..

Sei que é a mesma configuração que estava usando no debian. E estava funcionando beleza..

Quanto ao glxinfo que está incluido no mesa-utils também está instalando e funciona legal...

Sempre que digito: glxinfo | grep direct

dá aquela mensagem dizendo que o meu direct rederind não está sendo usado..

Será que é alguma varíável use que eu tenho de usar quando compilar o servidor xorg-server... já tentei a opção aiglx também e nada... e no kernel está tudo como manda no howto do guento em português, aqui:

http://www.gentoo.org/doc/pt_br/nvidia-guide.xml

Não sei ao certo, mas será que tem alguma opção de variável USE que tenha esquecido de usar? O driver nvidia que estou usando já está na versão 9755..

Qualquer ajuda será bem vindo...

PS.: só não postei o xorg.conf ainda porque estou recompilando o X... assim que terminar envio para vocês...

----------

## cararetoalonso

Oi esperto,

olha estava dando uma olhada no kernel e e observei que o Direct Rendering esta mesmo desabilitado.. Mas aí quando pedi para habilitar a opção.. surgir uma dúvida... afinal de contas onde está minha placa de vídeo.. ela é uma nvidia fx 5200. mas para o direct redering só aparece para outros modelos, menos para nvidia... será que tem mesmo de estar habilitado o direct rendering mesmo que minha placa de vídeo seja nvidia? outra dúvida, estou tentando compilar o direct rendering junto com o kernel, mas a única opção que me dá é como módulo. será que tem de habilitar mais alguma coisa?

vlw cara...

----------

## feliperg

Pelo que entendi vc compilou o xorg junto com os drivers da nvidia.

Depois de terminar de compilar vc alterou seu xorg.conf como explicado aqui?

Minha placa é a mesma que a sua.

aqui meu xorg.conf:

```
Section "ServerLayout"

   Identifier     "X.org Configured"

   Screen      0  "Screen0" 0 0

   InputDevice    "Mouse0" "CorePointer"

   InputDevice    "Keyboard0" "CoreKeyboard"

EndSection

Section "Files"

   RgbPath      "/usr/share/X11/rgb"

   ModulePath   "/usr/lib/xorg/modules"

   FontPath     "/usr/share/fonts/misc/"

   FontPath     "/usr/share/fonts/TTF/"

   FontPath     "/usr/share/fonts/OTF"

   FontPath     "/usr/share/fonts/Type1/"

   FontPath     "/usr/share/fonts/CID/"

   FontPath     "/usr/share/fonts/100dpi/"

   FontPath     "/usr/share/fonts/75dpi/"

EndSection

Section "Module"

   Load  "glx"

   Load  "extmod"

   Load  "xtrap"

   Load  "record"

   Load  "dbe"

#   Load  "dri"

   Load  "freetype"

   Load  "type1"

EndSection

Section "InputDevice"

   Identifier  "Keyboard0"

   Driver      "kbd"

   Option       "CoreKeyboard"

   Option       "XkbRules"   "xorg"

   Option       "XkbModel"  "abnt2"

   Option      "XkbLayout" "br"      

EndSection

Section "InputDevice"

   Identifier  "Mouse0"

   Driver      "mouse"

   Option       "CorePointer"

   Option       "Protocol" "auto"

   Option       "Device" "/dev/input/mice"

   Option       "ZAxisMapping" "4 5 6 7"

EndSection

Section "Monitor"

   Identifier   "Monitor0"

   VendorName   "Monitor Vendor"

   ModelName    "Monitor Model"

EndSection

Section "Device"

   Identifier  "Card0"

   Driver      "nvidia"

   VendorName  "nVidia Corporation"

   BoardName   "NV34 [GeForce FX 5200]"

   BusID       "PCI:1:0:0"

EndSection

Section "Screen"

   Identifier "Screen0"

   Device     "Card0"

   Monitor    "Monitor0"

   SubSection "Display"

      Viewport   0 0

      Depth     16

   EndSubSection

   SubSection "Display"

      Viewport   0 0

      Depth     24

   EndSubSection

EndSection
```

Vc se lembrou de carregar os módulos da nvidia?

Se não:

# modprobe nvidia

E adiciona ele pra carregar no boot:

# echo "nvidia" >>  /etc/modules.autoload.d/kernel-2.x

# update-modules

Por último usa o eselect pra dizer pro X usar as GLX nvidia

# eselect opengl set nvidia

Tudo isso tá la no manual que falei.

Comigo funcionou tudo direitinho e minha placa é a mesma que a sua.

----------

## cararetoalonso

Beleza cara,

Vou tentar essas dicas que você me passou.. Pelo menos meu xorg.conf está em corforme com o seu... Não vi grandes diferenças.. Inclusive o glx está incluido...

Vou continuar tentando... depois posto aqui.. para ver se consigo algum progresso..

Até mais...

----------

## iuri_BR

Bom... Eu não sei se você já sabe mas... A nvidia não usa DRI(Direct rendering interface), muito pelo contrário... você vai precisar de desabilitar o DRI. Ela tem um driver oficial de código fechado. Os drivers opensource para Linux atuais não tem suporte a aceleração 3d. Mas eu li que já estão desenvolvendo. Essa documentação que te passaram está meio desatualizada. Pra você instalar o driver da nvidia você deve usar o comando emerge nvidia-drivers ao invés de emerge nvidia-glx. Acho que o resto é o mesmo procedimento... qualquer coisa leia a documentação em inglês.

----------

## cararetoalonso

Olá,

Acabei de compilar o ambiente gráfico agora.. Estou tentando verificar se o glxinfo está acusando o direct rendering... Mas olha a mensagem que me apareceu:

glxinfo: error while loading shared libraries: libnvidia-tls.so.1: cannot randle TLS data

Fiz uma busca na rede e encontrei isso:

http://gentoo-wiki.com/HOWTO_nVidia_Drivers#Error:_libnvidia-tls.so.1:_cannot_handle_TLS_data

Fiz o que estava recomendade e tentei subir o X novamente.. e para minha surpresa o X travou e não consegui usar mais o sistema... tive que reiniciar a máquina...

Se alguém tiver alguma luz... Agraceço...

Obrigado...

----------

## To

Só tinhas de inverter os ficheiros se o ficheiro no-tls fosse menor que o tls. Volta a colocar os ficheiros no sitio onde estavam.

Eu uso ATI e não te posso ajudar grande coisa nisso...

----------

## feliperg

Vc ta com a linha do dri comentada?

#   Load  "dri"

E a sua sessão Screen, deixa somente com essa duas subseções (16 e 24):

```
Section "Screen"

   Identifier "Screen0"

   Device     "Card0"

   Monitor    "Monitor0"

   SubSection "Display"

      Viewport   0 0

      Depth     16

   EndSubSection

   SubSection "Display"

      Viewport   0 0

      Depth     24

   EndSubSection

EndSection
```

E posta seu xorg.conf ae pra nos vermos.

----------

## cararetoalonso

Sim a linha do dri está comentada... e sim eu inverti os ficheiros como sugerido...mas aí quando lenvanto o X o sistema trava e tenho de reinicar o computador...

----------

## thiagonunes

Meu amigo, acho que você está fazendo uma série de procedimentos um tanto desconexos e por isso mesmo não está tendo êxito em resolver o problema. Ainda vejo seu problema como algo banal e provavelmente facil de resolver.

Quando comecei a ler o tópico imaginei que você tinha esquecido apenas de fazer o "eselect opengl set nvidia", mas agora já nem sei dizer se você fez e se isso tem a ver com seu problema.

Por isso sujiro que você comece novamente a configuração do seu X, principalmente porque agora você possui um problema mais grave que o que te levou a abrir o tópico.

Então primeiramente apague o seu xorg.conf e tente reconfigurar o seu X do zero seguindo o guia do X. Assim que você tiver terminado o guia de configuração do X com sucesso tente ativar a aceleração 3d com ajuda do guia de nvidia. Não se preocupe com dri, o driver da nvidia tem sua própria implementação de dri e é incompatível com o dri do kernel, mas isso é melhor explicado no guia de nvidia.

A propósito, use documentação em inglês pois as traduções estão muito desatualizadas.

Se mesmo assim você continuar obtendo erros estranhos tente aqueles procedimentos básicos de atualização do sistema:

# emerge --sync

# emerge world --update --deep --newuse

# emerge --depclean

# revdep-rebuild

Se você tiver feito tudo isso e mesmo assim não conseguir chegar no resultado esperado então volte aqui dizendo tudo que você tentou e qual foi o resultado.

E obviamente se em algum momento você obtiver o sucesso volte aqui também e nos avise.

Boa sorte.

----------

## baldeante

Boas,

Acabei de resolver uma questão semelhante no meu PC a minha falha foi executar o comando eselect na linha de comandos fora do X.

Pare o X :

```

/etc/init.d/xdm stop

```

Experimente o comando...

```

eselect opengl set glx //acho que e isto estou no windows

```

...na linha de comandos fora do X para reverter o comando inicial.

Depois reconfigure o X inicie o mesmo com startx, se estiver tudo direito abra uma consola (dentro do X) e faça :

```

eselect opengl set nvidia 

glxgears

```

Se tudo correr bem o primeiro comando configura correctamente o X para o driver da nvidia e o segundo reinicia o X desta ves com o suporte 3D ok.

Depois saia do X e pode inicia-lo novamente com:

```

/etc/init.d/xdm start

```

----------

