Páginas

quinta-feira, 27 de janeiro de 2011

PCSX2 a jornada: Parte 3

Após feito os passos descritos nos posts: PCSX2 a jornada partes 1 e 2, espero que todos vocês já estejam familiarizados a usar o ambiente chroot! Neste post vou contar um pouco de como fiz para habilitar as extensões GLX, e conseqüentemente rodar jogos pelo PCSX2, no chroot.

Primeiro tenho que dizer que possuo uma placa NVIDIA com os drivers proprietários instalados no host e não os disponíveis pelo repositório do Ubuntu.

Abaixo mostrarei os passos de como instalar tais drivers, os proprietários, em seu ambiente chroot. Lembre-se que o host e o ambiente chroot devem ter as mesmas versões dos drivers!

++Checando a rederização++

Em um terminal fora do ambiente chroot rode:

$ glxinfo | grep direct
e você deverá obter como resultado:

direct rendering: Yes
++Arrumando a casa: ambiente chroot++


Agora com uma instalação limpa do Ubuntu 32bits no ambiente chroot, instalei os pacotes ubuntu-minimal e ubuntu-desktop se você já não os instalou. 
$ schroot -c maverick_i386 -u usuário 
$ su
# apt-get install ubuntu-minimal ubuntu-desktop
Remova todos os pacotes instalados referente à NVIDIA:
# apt-get purge nvidia-*
 Depois:
apt-get install libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev libxi-dev libxmu-dev freeglut3 libmotif3 libegl1-mesa libxcb-glx0 libxcb-glx0-dev libgl1-mesa-dri-experimental mesa-utils glew-utils
++Instalando o driver NVIDIA proprietário++


Entre no site NVIDIA e baixe o driver referente à sua placa de vídeo e depois execute:
$ sudo ./NVIDIA-Linux-x86-260.19.36.run -x
isso irá extrair os arquivos em uma pasta de mesmo nome. Agora entre nesta pasta
Vamos começar copiando os arquivos necessários: (se algum dos diretórios não existir, crie eles! /chroot/usr/lib/vdpau, /chroot/usr/lib/tls)


$ sudo cp nvidia_drv.so /chroot/usr/lib/xorg/modules/drivers/
$ sudo cp libglx.so.260.19.36 /chroot/usr/lib/xorg/modules/extensions/
$ sudo cp libnvidia-wfb.so.260.19.36 /chroot/usr/lib/xorg/modules/
$ sudo cp libGL.la libGL.so.260.19.36 /chroot/usr/lib/
$ sudo cp libnvidia-glcore.so.260.19.36 /chroot/usr/lib
$ sudo cp libXvMCNVIDIA.a /chroot/usr/lib
$ sudo cp libXvMCNVIDIA.so.260.19.36 /chroot/usr/lib
$ sudo cp libvdpau.so.260.19.36 /chroot/usr/lib
$ sudo cp libvdpau_trace.so.260.19.36 /chroot/usr/lib/vdpau
$ sudo cp libvdpau_nvidia.so.260.19.36 /chroot/usr/lib/vdpau
$ sudo cp libnvidia-tls.so.260.19.36 /chroot/usr/lib
$ sudo cp tls/libnvidia-tls.so.260.19.36 /chroot/usr/lib/tls/ 


Agora vamos começar a fazer os links necessários: (execute os comandos nessa ordem)

cd /chroot/usr/lib/xorg/modules/extensions
sudo mv libglx.so libglx.so.back
sudo ln -s libglx.so.260.19.36 libglx.so
cd ..
sudo ln -s libnvidia-wfb.so.260.19.36 libnvidia-wfb.so.1
cd /chroot/usr/lib
sudo mv libGL.so libGL.so.bak
sudo ln -s libGL.so.260.19.36 libGL.so.1
sudo ln -s libGL.so.1 libGL.so
sudo ln -s libXvMCNVIDIA.so.260.19.36 libXvMCNVIDIA_dynamic.so.1
sudo ln -s libXvMCNVIDIA_dynamic.so.1 libXvMCNVIDIA_dynamic.so
sudo ln -s libvdpau.so.260.19.36 libvdpau.so.1
sudo ln -s libvdpau.so.1 libvdpau.so
cd vdpau
sudo ln -s libvdpau_trace.so.260.19.36 libvdpau_trace.so.1
sudo ln -s libvdpau_nvidia.so.260.19.36 libvdpau_nvidia.so.1
cd ..
sudo ln -s vdpau/libvdpau_trace.so.260.19.36 libvdpau_trace.so
sudo ln -s vdpau/libvdpau_nvidia.so.1 libvdpau_nvidia.so

++Checando a rederização: ambiente chroot++

Acesse o ambiente chroot:

$ schroot -c maverick_i386 -u usuário 

rode:

$ export DISPLAY=:0.0
$ glxinfo | grep direct
e você deverá obter como resultado:
direct rendering: Yes

E PRONTO, agora podemos instalar o emulador PCSX2 e rodar os jogos!!! no próximo post mostrarei como compilar o emulador!!!


Fonte:
Após extrair os arquivos do driver, acessei a pasta criada e dei uma olhada no arquivo: README.txt->Chapter 5. Listing of Installed Components




EDIT:


Você pode contornar essa situação se quiser instalar o driver da nvidia direto do repositório do Ubuntu!! Instale a mesma versão no host e no chroot!!

Nenhum comentário:

Postar um comentário