Poste atualizado, a nova pergunta agora está na minha própria resposta aqui.
Eu penso em jogar Team Fortress 2 no Kali Linux (uma distribuição estável do Debian Wheezy com o kernel personalizado do Debian Sid) desde há muito tempo, mas não consegui por causa das seguintes falhas gráficas:
A solução depois de muita pesquisa foi compilar uma nova versão do Mesa sobre 8.0.5. Como hoje eu encontrei um guia muito promissor que foi planejado para o Fedora, mas alguém conseguiu fazer isso no Debian:
link - > Guia Oficial
link - > Maneira Wheezy
Mas agora estou preso no processo de criação, porque nenhum nouveau.h pode ser encontrado no sistema. Então a questão é:
Alguém conseguiu superar esse problema de arquivo ausente do nouveau.h e concluir o processo completo de construção ou instalação?
Eu tenho o mesmo problema: link , mas como uso o Mesa 9.0 .3, eu encontrei esse problema em vez do da libdrm-intel.
Eu tentei:
PS: Seria muito melhor ter o mais recente Mesa 10.2.8, mas eu realmente não quero compilar nenhum outro driver intel, radeon ou nouveau para fazê-lo funcionar. Se houver uma maneira de fazer isso, eu mudaria para o 10.2.8 imediatamente, sabendo que ele suporta o OpenGL 3.3! : D
Aqui está o meu computador:
Meus passos:
> # export CFLAGS="-m32"
> # export CXXFLAGS="-m32"
> # ./autogen.sh --enable-driglx-direct --enable-gles-overlay --enable-gles1 --enable-gles2 --enable-glx-tls --with-driver=dri --with-dri-driverdir=/usr/lib/dri --with-egl-platforms='drm x11' --with-state-trackers=egl,glx,dri,vega --with-dri-drivers=i965 --enable-32-bit --disable-64-bit --enable-gallium-llvm=disabled --enable-gallium-gbm=disabled --enable-gallium-egl=disabled --with-gallium-drivers= --build=i686-pc-linux-gnu
> # ./configure --prefix=/usr
> # make
E o relatório de erros de criação:
Making all in nouveau
make[6]: Entering directory '/home/user/Data/Mesa-9.0.3/src/mesa/drivers/dri/nouveau'
CC nouveau_screen.lo
In file included from nouveau_screen.c:27:0:
nouveau_driver.h:41:28: fatal error: libdrm/nouveau.h: No such file or directory
compilation terminated.
make[6]: *** [nouveau_screen.lo] Error 1
make[6]: Leaving directory '/home/user/Data/Mesa-9.0.3/src/mesa/drivers/dri/nouveau'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory '/home/user/Data/Mesa-9.0.3/src/mesa/drivers/dri'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory '/home/user/Data/Mesa-9.0.3/src/mesa/drivers'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/home/user/Data/Mesa-9.0.3/src/mesa'
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/user/Data/Mesa-9.0.3/src/mesa'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/user/Data/Mesa-9.0.3/src'
make: *** [all-recursive] Error 1
Eu desisti de usar a implementação do libdrm do Debian, uma vez que ele se comporta de maneira diferente das fontes oficiais do Debian. Portanto, eu ainda prefiro usar o modo anterior para o Mesa 10.0.5 ou mais recente, já que não precisarei compilar um libdrm mais novo e manter uma estabilidade mais garantida.
Eu estou enfrentando agora um novo problema, o Mesa 10.0.5 que eu consegui compilar - com o libdrm 2.4.58 - parece não estar em uso durante a execução de glxheads desde que ele me mostra:
GL_VERSION: 1.4 (2.1 Mesa 8.0.5)
Qual é o próprio Mesa estável do Debian? Eu também descobri que algumas pessoas também estão presas a esse problema: link
A questão é: como compilar corretamente o libdrm e o Mesa a partir das fontes com a instalação / desinstalação de sinalizadores, exportações e pacotes corretos?
Seria realmente útil se um mantenedor do Debian relacionado pudesse responder.
Aqui estão os meus passos:
Pacotes comuns e instalados e suas dependências implícitas usando o Synaptic:
checkinstall
automake
bison
flex
libdrm-dev
libx11-xcb-dev
libxcb-glx0-dev
libxcb-xfixes0-dev
llvm
x11proto-dri2-dev
x11proto-gl-dev
xutils-dev
pkg-config
libltdl-dev
libxdamage-dev
libexpat1-dev
libpciaccess-dev
gettext
Pacotes comuns instalados manualmente:
Para o libdrm, deste pacote: link :
# ./configure
# make
# checkinstall
Para o Mesa, deste pacote: ftp://ftp.freedesktop.org/pub/mesa/older-versions/10.x/10.0.5/MesaLib-10.0.5.zip :
# ./autogen.sh
# make
# checkinstall
# aptitude install mesa-utils
then as standard user:
$ export LD_PRELOAD=/usr/local/lib/libGL.so.1
$ export LIBGL_DRIVERS_PATH=/lib/dri
$ glxheads
Aqui estão os dois guias seguidos:
http://dri.freedesktop.org/wiki/Building/
http://verahill.blogspot.fr/2012/11/mesa-901-64-bit-on-debian-wheezy.html
Consegui ir mais longe desta vez e quase usei para valer a Mesa 10.0.5.
Agora, minhas etapas para as fontes do Mesa 10.0.5 são:
# autoreconf -vfi
# ./configure --prefix=/usr --enable-driglx-direct --enable-gles1 --enable-gles2 --enable-glx-tls --with-dri-driverdir=/usr/lib/dri --with-egl-platforms='drm x11' --with-dri-drivers=i965
# make
# checkinstall
# export LIBGL_DRIVERS_PATH=/usr/lib/dri
# export LD_LIBRARY_PATH=/usr/lib
# export EGL_DRIVERS_PATH=/usr/lib
Mas o problema é que quando estou usando glxheads, me mostra que estou usando o Mesa 10.0.5, mas que eu só uso o OpenGL 2.1 em vez do OpenGL 3.3. Além disso, ainda é muito lento no Team Fortress 2, e todas as texturas têm um efeito de grão feio, mas não mais textura verde no vídeo de treinamento.
A pergunta é: Como posso tornar o OpenGL 3.3 corretamente disponível para o Mesa 10.0.5 e evitar o problema de textura de grão feio?
Antes:
GL_VERSION: 3.0 Mesa 8.0.5
GL_VENDOR: Tungsten Graphics, Inc
GL_RENDERER: Mesa DRI Intel(R) Sandybridge Mobile x86/MMX/SSE2
Agora:
GL_VERSION: 2.1 Mesa 10.0.5
GL_VENDOR: VMware, Inc.
GL_RENDERER: Gallium 0.4 on llvmpipe (LLVM 3.0, 128 bits)
Apesar de o GL_VENDOR mostrar que é o VMware, estou fazendo tudo o que é bare-metal e não em uma máquina virtual.
Note que, desta vez, eu ainda ingenuamente compilei o libdrm-2.4.58 como foi dito no arquivo README. E então compilou o Mesa 10.0.5 sem o x11proto-dri3-dev, o x11-proto-present-dev e o inxi agora.
Aqui está o guia que usei para compilar o Mesa e, até agora, o melhor: link