Radeon no XFree86 com suporte a aceleração
Dica publicada em Linux / Configuração
Radeon no XFree86 com suporte a aceleração
Bom, para mim foi bastante difícil encontrar documentação sobre isso
na internet, pois a maior parte era muito genérica e não
abordava os problemas que eu poderia encontrar ao configurar esta
placa de vídeo em meu notebook. Aqui está o hardware que
utilizei para tal feito:
OBS: Espero não precisar enfatizar que TUDO AQUI tem que ser feito como root, OK?
A primeira coisa que vocês tem que se certificar é que o suporte a AGP está ativado. Caso não esteja, recompile o kernel com suporte ao seu chipset AGP. Se não for ativado, o módulo da Radeon não detectará a sua placa.
(Device Drivers -> Character Devices -> /dev/agpart support e ATI chipset support)
Depois de compilado, reboote e faça o seguinte:
# rmmod agpgart
# modprobe agpgart
# dmesg | grep agp
Isso certificará que o AGP foi instalado corretamente... Deve aparecer algo assim:
Linux agpgart interface v0.100 (c) Dave Jones
agpgart: Detected Ati IGP345M chipset <- observe isso!!!!
agpgart: Maximum main memory to use for agp memory: 409M
agpgart: AGP aperture is 64M @ 0xd8000000
O segundo passo é instalar o libtxc (s3tc decompression library).
Para que serve exatamente? Não faço idéia. Só sei que sem essa lib o mesa não vai compilar. O arquivo que utilizei foi o seguinte:
http://homepage.hispeed.ch/.../libtxc_dxtn040623.tar.gz
Depois de dar o ./configure, make, make install, vamos ao segundo passo, instalar o server do xfree com suporte a DRI!
O terceiro passo é compilar o DRI e o Mesa...
# cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri login
# cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri co xc
# cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/mesa login
# cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/mesa co Mesa
Então você terá pego os sources CVS do Mesa e do DRI.
Vá ao diretório DRI-CVS/xc/xc/config/cf e edite o arquivo HOST.def.
Defina o diretório onde estão os sources do Mesa (por exemplo, /usr/src/DRI-CVS/Mesa).
- Notebook HP/Compaq Presario 2598US
- Pentium 4M 2.66GHz
- 512 MB Ram com 64 para vídeo
- Placa de Vídeo Radeon IGP 340M
- Kernel 2.6.9 (também funciona com os >= 2.4.23, desde que detecte o chipset AGP de sua placa). Algumas versões do IGP não são detectados por kerneis mais antigos, portanto já aviso: PREFIRA OS KERNEIS MAIS ATUAIS!!
OBS: Espero não precisar enfatizar que TUDO AQUI tem que ser feito como root, OK?
A primeira coisa que vocês tem que se certificar é que o suporte a AGP está ativado. Caso não esteja, recompile o kernel com suporte ao seu chipset AGP. Se não for ativado, o módulo da Radeon não detectará a sua placa.
(Device Drivers -> Character Devices -> /dev/agpart support e ATI chipset support)
Depois de compilado, reboote e faça o seguinte:
# rmmod agpgart
# modprobe agpgart
# dmesg | grep agp
Isso certificará que o AGP foi instalado corretamente... Deve aparecer algo assim:
Linux agpgart interface v0.100 (c) Dave Jones
agpgart: Detected Ati IGP345M chipset <- observe isso!!!!
agpgart: Maximum main memory to use for agp memory: 409M
agpgart: AGP aperture is 64M @ 0xd8000000
O segundo passo é instalar o libtxc (s3tc decompression library).
Para que serve exatamente? Não faço idéia. Só sei que sem essa lib o mesa não vai compilar. O arquivo que utilizei foi o seguinte:
http://homepage.hispeed.ch/.../libtxc_dxtn040623.tar.gz
Depois de dar o ./configure, make, make install, vamos ao segundo passo, instalar o server do xfree com suporte a DRI!
O terceiro passo é compilar o DRI e o Mesa...
# cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri login
# cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri co xc
# cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/mesa login
# cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/mesa co Mesa
Então você terá pego os sources CVS do Mesa e do DRI.
Vá ao diretório DRI-CVS/xc/xc/config/cf e edite o arquivo HOST.def.
Defina o diretório onde estão os sources do Mesa (por exemplo, /usr/src/DRI-CVS/Mesa).
#define MesaSrcDir /usr/src/DRI-CVS/Mesa
Também defina que você só quer os drivers da Radeon, um pouco mais abaixo:
#if defined(PpcArchitecture)
#define XF86CardDrivers ati
#define DriDrivers radeon r200
#elif defined(i386Architecture)
#define XF86CardDrivers ati
#define DriDrivers r200 radeon
#else
#define XF86CardDrivers ati
#define DriDrivers r200 radeon
#define XF86CardDrivers ati
#define DriDrivers radeon r200
#elif defined(i386Architecture)
#define XF86CardDrivers ati
#define DriDrivers r200 radeon
#else
#define XF86CardDrivers ati
#define DriDrivers r200 radeon
Entre no diretório xc/xc e dê um "make World". Se tudo der certo, compilará sem erros. Então dê um make install. Isso instalará o Mesa e os x-servers acelerados. :)
Edite o seu /etc/X11/Xorg.conf ou /etc/X11/XF86Config-4.
Na seção "Device" da sua placa de vídeo, coloque como "Driver" o valor "radeon".
Na seção "Module" adicione os valores:
Load "GLcore"
Load "dri"
Load "glx"
Load "dri"
Load "glx"
Adicione por último estas linhas:
Section "DRI"
Mode 0666
EndSection
Mode 0666
EndSection
Agora o último passo é iniciar o X e ver se o módulo está interagindo com o X server e se o GLX está acelerado.
Inicie o X e digite no terminal:
$ glxinfo
Aparecerá lá um valor:
"Direct Rendering: YES"
que indica que tudo está OK.
Com um glxgears você pode testar a aceleração. Deve dar mais de 500fps ou em torno disso (ou muito mais, depende do tamanho que você redimensionar). Caso estiver lento é porque não está funcionando bem. Portanto, reveja algum dos passos acima. Pode ser também que sua placa apresente peculiaridades. Sei que quando estava usando o Gentoo tive alguns problemas com o KDE de não aceitar a aceleração. Ele estava linkando com outras libraries do mesa! Aí sei que atualizei para a última versão e ficou tudo OK. Isso é outra coisa que tem que se cuidar. Se você instalou um mesa que não o com os patches pra DRM, com certeza dará problema!
Espero que este tutorial tenha sido útil para as pessoas que tentam fazer a aceleração 3D funcionar. Quebrei minha cabeça muito tempo até achar um tutorial que funcionasse! Existem outros modos, mas não consegui fazer funcionar por eles.
Tutorial criado por: Guilherme Gomes de Mesquita
Contact: guilhermemesquita at spymac.com
ICQ: # 5864338
MSN: guidinoia at hotmail.com
make[4]: *** No rule to make target `/X11R6/SourceForge/DRI-freedesktop/drm/shared/drm.h', needed by `drm.h'. Stop.
make[4]: Leaving directory `/usr/src/DRI_CVS/xc/xc/lib/GL/dri/drm'
make[3]: *** [includes] Error 2
make[3]: Leaving directory `/usr/src/DRI_CVS/xc/xc/lib/GL'
make[2]: *** [includes] Error 2
make[2]: Leaving directory `/usr/src/DRI_CVS/xc/xc/lib'
make[1]: *** [includes] Error 2
make[1]: Leaving directory `/usr/src/DRI_CVS/xc/xc'
make: *** [World] Error 2
Eu acredito que o problema aconteça porque logo abaixo do #define MesaSrcDir tem o #define DRMSrcDir que aponta para um diretório que para mim não existe. Como eu faria pra instalar? Preciso pegar mais algum pacote ou apontar para algum outro lugar?
Valeu...