Registros por Página Fotos Coberturas Eventos Estabelecimentos Exclui Tags de Usuários
Ordenação Enquetes Matérias Promoções Busca em todas as cidades
 
 
 
 
 
Ati Mini Howto
   Localização : InfoNews
   

Ati Mini Howto


Instalando Placas ATI Radeon no Linux

Versão 0.2.0

Release Data: 05 nov 2008


Mini-HowTo

ATI Driver versão 8.10.0

Por Rafael "Tremere" Diehl



1. Introdução
2. Sistema Utilizado
3. Pré-requisitos
4. Modelos Suportados
5. Preparando o Sistema
6. Baixando o Driver
7. Configurando o X
8. Instalando o Driver
a. Desinstalando o driver antigo
b.1. Instalando o Driver ( modo gráfico )
b.2. Instalando o Driver ( modo texto )
c. Instalando o Driver no Kernel 2.6.27.4
9. Testando o Módulo
10. Ajuste fino do xorg.conf
a. Section "Device"
b. Section "Screen"
c. Section "Module"
d. Section "DRI"
e. Ativando código interno do AGP
f. Ativando FSAA
g. Outros Controles
110. Um exemplo de Arquivo de Configuração
12. Verificando a Aceleração 3D
a. GLXINFO
b. GLXGEARS
13. Obervacões Importantes
a. Notas do Autor
b. Problemas solucionados
c. Bugs conhecidos
d. Novidades
e. Desktops 3D
14. Changelog
15. Considerações Finais
16. Fontes
17. O Autor

1 - Introdução

Este pequeno howto foi feito com o intuito de facilitar a instalação das placas de vídeo ATI Radeon em máquinas com o GNU/Linux instalado. Ele não aborda a instalação de outros componentes do sistema ou outras configurações do mesmo além daquelas que envolvem explicitamente o funcionamento desse tipo de placa no Linux.

Howtos de compilação do kernel, instalação de programas e configuração do seu sistema podem ser necessários.

Nota: Apartir da versão 0.0.3 desse mini howto, somente a instalação da versão mais recente será demonstrada. Versões mais antigas podem apresentar algumas diferenças.

2 - Sistema Utilizado

Para esse howto foi utilizado a distribuicão Slackware, na versão 12.1 rodando kernel 2.6.27.4 compilado localmente e XOrg versão 7.1 ou superior.

Os drives proprietários da ATI foram obtidos em http://www.ati.com .

3 - Pré-requisitos

Para o sucesso da instalação do driver, os seguintes pré-requisitos devem ser cumpridos:
  • POSIX Shared Memory ( /dev/shm ) para aplicacões 3D
  • glibc 2.2 ou maior
  • Linux Kernel ( source e headers ) 2.6 ou maior [3]
  • XOrg 6.7, 6.8, 6.9, 7.0, 7.1, 7.2 ou 7.3;
Além de:
  • XFree86-Mesa-libGL
  • libstdc++
  • libgcc
  • XFree86-libs
  • fontconfig
  • freetype
  • zlib
  • Essa lista no principio pode não ser amigável, mas a maioria das distribuições atende facilmente esses pré-requisitos.

    4 - Modelos Suportados

    ATI Workstation Product Support

    ATI FireGL™ V8650

    ATI FireGL™ V3300

    ATI FireGL™ V8600

    ATI FireGL™ V3200

    ATI FireGL™ V7700

    ATI FireGL™ V3100

    ATI FireGL™ V7600

    ATI FireGL™ X3-256

    ATI FireGL™ V7350

    ATI FireGL™ X3

    ATI FireGL™ V7300

    ATI FireGL™ V5000

    ATI FireGL™ V7200

    ATI FireGL™ X2-256

    ATI FireGL™ V7100

    ATI FireGL™ Z1-128

    ATI FireGL™ V5600

    ATI FireGL™ T2-128

    ATI FireGL™ V5200

    ATI FireGL™ X1-128

    ATI FireGL™ V5100

    ATI FireGL™ X1-256p

    ATI FireGL™ V5000

    ATI FireMV™ 2200 (Single card PCI-e configuration)

    ATI FireGL™ V3600

    ATI Mobility™ FireGL™ V5000

    ATI FireGL™ V3400

    ATI Mobility™ FireGL™ T2

    ATI Mobility™ and Integrated Mobility™ Product Family Support

    ATI Mobility™ Radeon™ X3870

    ATI Mobility™ Radeon™ X1100

    ATI Mobility™ Radeon™ X3850

    ATI Mobility™ Radeon™ X800

    ATI Mobility™ Radeon™ X3830

    ATI Mobility™ Radeon™ X700

    ATI Mobility™ Radeon™ X3430

    ATI Mobility™ Radeon™ Xpress 1200 series

    ATI Mobility™ Radeon™ X3400

    ATI Mobility™ Radeon™ X600

    ATI Mobility™ Radeon™ X2600

    ATI Mobility™ Radeon™ X300

    ATI Mobility™ Radeon™ X2400

    ATI Mobility™ Radeon™ X200

    ATI Mobility™ Radeon™ X2300

    ATI Mobility™ Radeon™ 9800

    ATI Mobility™ Radeon™ X1800

    ATI Mobility™ Radeon™ 9600

    ATI Mobility™ Radeon™ X1600

    ATI Mobility™ Radeon™ 9550

    ATI Mobility™ Radeon™ X1400

    ATI Mobility™ Radeon™ 9500

    ATI Mobility™ Radeon™ X1300

    ATI Mobility™ Radeon™ Xpress 1100 series

    ATI Mobility™ Radeon™ X1200

    ATI Mobility™ Radeon™ Xpress 200 series

    ATI Desktop Product Family Support

    ATI Radeon™ HD 4800 series

    ATI Radeon™ X1300 series

    ATI Radeon™ HD 3800 series

    ATI Radeon™ X850 series

    ATI Radeon™ HD 3600 series

    ATI Radeon™ X800 series

    ATI Radeon™ HD 3400 series

    ATI Radeon™ X700 series

    ATI Radeon™ HD 2900 series

    ATI Radeon™ X600 series

    ATI Radeon™ HD 2600 series

    ATI Radeon™ X550/X300 series

    ATI Radeon™ HD 2400 series

    ATI Radeon™ 9800 series

    ATI Radeon™ HD 2400 series

    ATI Radeon™ 9700 series

    ATI Radeon™ X1900 series

    ATI Radeon™ 9600 series

    ATI Radeon™ X1800 series

    ATI Radeon™ 9550 series

    ATI Radeon™ X1600 series

    ATI Radeon™ 9500 series

    ATI Integrated Product Family Support

    ATI Radeon™ HD 3300 series

    ATI Radeon™ Xpress1200 series

    ATI Radeon™ HD 3200 series

    ATI Radeon™ Xpress 200 series

    ATI Radeon™ HD 3100 series

    ATI Radeon™ Xpress 1100 series

    • ATI Radeon HD3870X2 não é suportada;
    • ATI All-In-Wonder baseados nos chipsets acima são suportados. As funcões de captura de vídeo não são suportadas;
    • Placas baseadas no chipset 9500 ou anterior são suportados pelo driver que pode ser encontrado em: https://support.ati.com/ics/support/default.asp?deptID=894&task=knowledge&folderID=27

    5 - Preparando o Sistema

    O driver da ATI necessita do POSIX Shared Memory para funcionar corretamente. Isso é usado para garantir a aceleração 3D da placa.

    Abra uma sessão no terminal e digite o comando mount . Na saída do comando você deve procurar uma linha parecida com essa ( grafada em negrito ):

    tremere@DeepHell:~$ mount
    /dev/hdb2 on / type ext3 (rw)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    none on /proc/bus/usb type usbfs (rw,devmode=0666,devgid=10)
    tmpfs on /dev/shm type tmpfs (rw)
    /dev/hdb3 on /mnt/hd type ntfs (rw,noexec,nosuid,nodev,umask=0000)
    tremere@DeepHell:~$


    Caso esta saída exista no seu sistema, nada é necessário fazer nessa parte. Você pode ir direto ao próximo tópico; caso contrário continue nesse.

    Como root, modifique o seu fstab ( vi /etc/fstab ) e acrescente a seguinte linha:

    tmpfs /dev/shm tmpfs mode=0777 0 0


    Salve o arquivo e digite o comando mount -a, para montar todos os sistemas de arquivos presentes no fstab.

    Se tudo ocorreu bem, a sua saida do comando mount deve conter a linha referente ao POSIX Shared Memory, caso contrário será necessário partir para a recompilação do kernel e adicionar esse suporte ao seu sistema.

    Para ativar esse recurso você deve habilitar as seguintes opções:
    File Systems -> Pseudo Filesystems -> Virtual memory file system support
    File Systems -> Pseudo Filesystems -> Tmpfs POSIX Access Control Lists

    O driver proprietário da ATI funciona, para placas AGP, tanto com o controle do barramento pelo Kernel quanto internamente. Se você quiser usar o controle do kernel a opcão CONFIG_AGP=y , no arquivo de configuracão do kernel, deve estar habilitada antes de compilar. Mas se você quiser usar o controle interno, tenha certeza que essa opcão não esta presente ou se o módulo agpgart não esta ativo no sistema. Não haverá conflito no sistema caso ele esteja ativo, o driver automaticamente ira passar ocontrole do AGP para o kernel[1].

    6 - Baixando o Driver

    Acesse a página da ATI ( http://www.ati.com ), procure por Drivers & Software no menu superior. Ao clicar nesse link, aparece um menu para que você escolha qual driver baixar.

    Logicamente estamos querendo o driver para Linux que existe na sua versão 32 ( x86 ) e 64bits ( x86_64 ). Feito isso escolha o tipo e o modelo da sua placa.

    Se ela não constar nessa lista, provavelmente o driver não irá funcionar e você deverá tentar a versão integrada ao xorg ou usar um driver mais antigo, já que algumas placas são consideradas "Legacy" e somente são suportadas por drivers mais antigos.

    Você agora esta de posse do arquivo ati-driver-installer-8.10-x86.x86_64.run ( como você pode notar, o driver é identico para plataformas 32 e 64bits ).

    7- Configurando o X

    É necessário configurar o X, mesmo sem aceleração 3D, para rodar o aplicativo da ATI ( na versão 8.10.0 não é obrigatório esse passo, mas recomendo configurar o X antes de instalar essa versão ).

    Para fazer essa configuração faça como quiser, mas geralmente utilizo o xorgconfig para essa finalidade.

    Obs. 1: Se você fizer esse passo como usuário comum do sistema, a configuração será aplicada somente a ele. Se estiver como root, será aplicada a todos no sistema.

    Obs. 2: O driver proprietário da ATI funciona, nativamente, somente em 24bit color. Use-a como default do seu sistema.

    Faça sua configuração básica escolhendo mouse, teclado, monitor e tudo mais que for necessário. Essas configurações nos serão uteis mais tarde, portanto faça bem feito para não ser necessário fazer novamente depois.

    8- Instalando o Driver

    a. Desinstalando o driver antigo

    Essa etapa deve ser realizada como ROOT, por isso tenha cuidado para ter certeza dos comandos digitados.

    Caso você possua alguma versão mais antiga instalada, é recomendado que você desinstale-a para evitar possíveis conflitos.

    Como root no terminal, digite:

    # cd /usr/share/ati
    # sh ./fglrx-uninstall.sh

    Caso tenha alguma mensagem de erro referente a arquivo sendo utilizado, será necessario sair do ambiente gráfico e operar diretamente no console.

    Feito isso, passe para o próximo passo onde instalaremos o driver.

    b.1. Instalando o driver ( modo gráfico )[2]

    Essa etapa deve ser realizada como ROOT, por isso tenha cuidado para ter certeza dos comandos digitados.

    Entre no X ( através do comando startx ) e abra um terminal para podermos utilizar o prompt de comando.

    Localize o arquivo que você baixou, vá até o diretório onde ele está e digite o comando:

    # sh ./ati-driver-installer-8.10-x86.x86_64.run

    Isso fará com que o aplicativo inicie. Selecione a opção Install Driver para começar a instalação no seu sistema.

    Só por curiosidade, a outra opção é para você gerar um pacote que contém o driver para a sua distribuição e assim poder repassá-lo a outras pessoas ou sistemas.



    Na próxima tela escolha a opção Automatic e clique em Continue. O driver da ATI vai ser compilado e instalado no seu sistema.

    Irá aparecer uma caixa de dialogo onde você poderá obter mais informações a respeito desse processo.

    Feche a aplicação gráfica e volte para o terminal, de onde iniciou a aplicação.

    Você deverá executar o seguinte comando:

    # /usr/X11R6/bin/aticonfig --initial


    Isso, teoricamente, deveria ser o suficiente para configurar o Xorg para funcionar corretamente com o novo driver da ATI, mas isso geralmente não acontece.

    b.2. Instalando o driver ( modo texto )[2]


    A instalação básica segue o mesmo principio da instalacão gráfica, mas agora é possivel instalar utilizando o modo texto.

    Você pode executar o aplicativo diretamente através do console e você terá acesso a telas de opcões de instalacão que são basicamente iguais a do modo gráfico mas sem botões ou figuras, apenas texto e menus.

    Ao final da instalação você deve executar o comando aticonfig --initial

    c. Instalando o Driver no Kernel 2.6.27.4

    Como indicado na nota [3], o driver 8.10.0 é incompativel com o kernel 2.6.27.4 mas é possível fazer a instalação do driver ao se aplicar um patch. Começe baixando o patch em
    Proceda com a instalação normal, mas está irá gerar um erro no final e o driver não será instalado. Para resolver isso, iremos aplicar o patch e a sequência de comando é ( considerando que você baixou o patch no seu home ):

    tremere@DeepHell:~$ cd /lib/modules/fglrx/build_mod/
    tremere@DeepHell:/lib/modules/fglrx/build_mod$ su
    [ é necessário ter permisão de root nesse momento, use o SU ou SUDO para isso ]
    root@DeepHell:/lib/modules/fglrx/build_mod# patch <~/atipatch


    Feito isso, você deverá proceder a instalacão manualmente com os comandos:

    root@DeepHell:/lib/modules/fglrx/build_mod# ./make.sh
    root@DeepHell:/lib/modules/fglrx/build_mod# cd ..
    root@DeepHell:/lib/modules/fglrx# ./make_install.sh


    Nesse momento o módulo deve estar pronto para ser carregado na memória. Faça isso:

    root@DeepHell:/lib/modules/fglrx# modprobe fglrx

    Se não tiver nenhuma mensagem de erro, o módulo estará carregado e pronto para ser usado. Ainda é necessário executar o comando aticonfig --initial ao final do procedimento.

    9- Testando o Módulo

    Apartir desse memento você deve testar se o driver esta funcionando. Para isso vá ao terminal e, como root, use o comando modprobe fglrx ou lsmod e procurar uma saída parecida com:

    tremere@DeepHell:~$ lsmod | grep fgl
    fglrx                1800808  23
    agpgart                27376  2 fglrx,nvidia_agp
    tremere@DeepHell:~$


    Se não houver nenhuma mensagem de erro, significa que o seu driver está funcionando e ativo no sistema, mas pode ser que você tenha uma mensagem de erro dizendo que a operação não é permitida.

    Isso acontece porque o driver proprietário da ATI é incompativel com o driver opensource desenvolvido pela comunidade e também com o DRM. Você pode descarregar da memória os módulos correspondentes a esses drivers através dos comandos:

    # modprobe -r radeon
    # modprobe -r drm


    Obs.: Caso o seu sistema esteja com esses módulos ativos, será necessario desativá-los a cada boot. Para deixar isso automatico no sistema, você terá que editar os scripts de inicialização para que não carreguem esses módulos ou acrescentar essas linhas de comando no local apropriado para serem executadas a cada boot.

    10- Ajuste Fino do xorg.conf

    Até agora fizemos apenas o básico, onde apenas passos simples e diretos foram realizados. Apartir desse momento iremos fazer o trabalho que o instalador do driver da ATI deveria ter feito e não fez.

    Iremos editar o arquivo /etc/X11/xorg.conf manualmente para adicionar os recursos 3D da placa e também preparar o xorg para aceitar novos recursos presentes no driver da ATI.

    10.a - Section "Device"

    Essa seção indica qual driver a ser usado pelo xorg e deve ser parecido com:

    Section "Device"
    Identifier "aticonfig-Device[0]"
    Driver "fglrx"
    EndSection

    10.b - Section "Screen"

    Essa seção indica o funcionamento do monitor, suas resoluções e quantidade de cores. A opção DefaultDepth 24 não é obrigatória mas é altamente recomendada pois o driver da ATI só funciona nativamente em 24bit color.

    Section "Screen"
    Identifier "aticonfig-Screen[0]"
    Device "aticonfig-Device[0]"
    Monitor "aticonfig-Monitor[0]"
    DefaultDepth 24
    SubSection "Display"
    Viewport 0 0
    Depth 24
    Modes "1280x1024" "1024x768"
    EndSubSection
    EndSection

    OBS.: Na linha Modes, são as resoluções suportadas pelo seu x-server e vária de acordo com a sua preferencia / capacidade do seu monitor.

    10.c - Section "Module"

    Section "Module"
    Load "i2c"
    Load "extmod"
    Load "int10"
    Load "vbe"
    Load "ddc"
    Load "dri"
    Load "dbe" # Double buffer extension
    SubSection "extmod"
    Option "omit xfree86-dga" # don't initialise the DGA extension
    EndSubSection
    Load "freetype"
    Load "glx"
    Load "bitmap"
    Load "speedo"
    Load "type1"
    Load "freetype"
    Load "record"
    EndSection


    OBS.: Pode variar de acordo com a distribuição utilizada ou de acordo com sua necessidade.

    10.d - Section "DRI"

    Para dar acesso a todos os usuário a aceleração 3D, você tem que habilitar no xorg, através da seção DRI, os modos de acesso que deve ficar assim:

    Section "DRI"
    Mode 0666
    EndSection

    10.e - Ativando código interno do AGP

    O driver da ATI vem com o suporte de controle do barramento AGP, mas ele é desabilitado por default para evitar instabilidades no sistema.

    Para ativá-lo você deve editar o xorg.conf e alterar a linha:

    Option "UseInternalAGPGART" "no"

    da seção Device para "yes". Além disso o código de controle do AGP do chipet não pode estar compilado no kernel do sistema como build-in ou o módulo não deve estar ativo no sistema[1].

    No sistema usado como base, ele está compilado como módulo e chama-se nvidia_agp. O nome do módulo varia de acordo com o fabricante do hardware.

    10.f - Ativando FSAA

    Os recursos de Filtro Anisotropico e Anti-aliasing são agora controlados pelo AMDCCCLE, utilitário gráfico de configuração das funcionalidades do driver. O que cada opção significa foge do espoco desse howto, mas quem sabe no futuro próximo uma nova seção possa tratar dessa configurações.

    10.g - Outros Controles

    Poderia ficar horas fazendo a descrição de cada opção que pode ser acrescentado ao xorg para ativar ou desativar certos recursos presentes no driver da ATI.

    O intuito desse mini-howto não é esse por isso deixo a cargo de cada usuário fazer os testes a respeito desses recursos.

    Para saber mais a respeito disso veja a documentação do aticonfig e veja a quantidade de recursos que podem ser usados.

    11 - Um Exemplo de Arquivo de Configuração


    Esse arquivo de configuração se baseia no xorg 7.1, teclado padrão americano, mouse usb 3 botões com mouse whell ( rodinha ) e monitor LCD 19" ligado através da entrada DVI-D.

    ################################# INICIO ##################################
    # XOrg Config File
    #

    Section "ServerLayout"
    Option "AIGLX" "true"
    Identifier "Simple Layout"
    Screen 0 "aticonfig-Screen[0]" 0 0
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
    EndSection

    Section "Files"
    FontPath "/usr/share/fonts/TTF"
    FontPath "/usr/share/fonts/OTF"
    FontPath "/usr/share/fonts/Type1"
    FontPath "/usr/share/fonts/misc"
    FontPath "/usr/share/fonts/75dpi/:unscaled"
    FontPath "/usr/lib/X11/fonts/misc/"
    FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
    FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
    FontPath "/usr/lib/X11/fonts/Speedo/"
    FontPath "/usr/lib/X11/fonts/Type1/"
    FontPath "/usr/lib/X11/fonts/TTF/"
    FontPath "/usr/lib/X11/fonts/OTF/"
    FontPath "/usr/lib/X11/fonts/cyrillic/"
    FontPath "/usr/lib/X11/fonts/75dpi/"
    FontPath "/usr/lib/X11/fonts/100dpi/"
    EndSection

    Section "Module"
    Load "i2c"
    Load "extmod"
    Load "int10"
    Load "vbe"
    Load "ddc"
    Load "dri"
    Load "dbe" # Double buffer extension
    SubSection "extmod"
    Option "omit xfree86-dga" # don't initialise the DGA extension
    EndSubSection
    Load "freetype"
    Load "glx"
    Load "bitmap"
    Load "speedo"
    Load "type1"
    Load "freetype"
    Load "record"
    EndSection

    Section "ServerFlags"
    Option "NoPM" "true"
    Option "AIGLX" "true"
    EndSection

    Section "InputDevice"
    Identifier "Keyboard1"
    Driver "kbd"
    Option "AutoRepeat" "500 30"
    Option "XkbRules" "xorg"
    Option "XkbModel" "pc104"
    Option "XkbLayout" "us"
    EndSection

    Section "InputDevice"
    Identifier "Mouse1"
    Driver "mouse"
    Option "Protocol" "Auto" # Auto detect
    Option "Device" "/dev/input/mice"
    Option "ZAxisMapping" "4 5 6 7"
    EndSection

    Section "Monitor"
    Identifier "aticonfig-Monitor[0]"
    Option "VendorName" "ATI Proprietary Driver"
    Option "ModelName" "Generic Autodetecting Monitor"
    Option "DPMS" "true"
    EndSection

    Section "Device"
    Identifier "aticonfig-Device[0]"
    Driver "fglrx"
    EndSection

    Section "Screen"
    Identifier "aticonfig-Screen[0]"
    Device "aticonfig-Device[0]"
    Monitor "aticonfig-Monitor[0]"
    DefaultDepth 24
    SubSection "Display"
    Viewport 0 0
    Depth 24
    Modes "1280x1024"
    EndSubSection
    EndSection

    Section "DRI"
    Mode 0666
    EndSection

    Section "Extensions"
    Option "Composite" "enable"
    EndSection
    ################################# FIM ##################################

    12 - Verificando a Aceleração 3D

    Existem meios de se testar toda essa mudança que fizemos e saber se os resultados foram os esperados. Através dos aplicativos glxinfo e glxgears podemos ter certeza se fizemos os passos corretos ou não.

    12.a - GLXINFO

    A saida do glxinfo deve ser algo como:

    tremere@DeepHell:~$ glxinfo
    name of display: :0.0
    display: :0  screen: 0
    direct rendering: Yes
    server glx vendor string: SGI
    server glx version string: 1.2
    server glx extensions:
        GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
        GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method,
        GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
    client glx vendor string: SGI
    client glx version string: 1.4
    client glx extensions:
        GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
        GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory,
        GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method,
        GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control,
        GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig,
        GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
        GLX_EXT_texture_from_pixmap
    GLX version: 1.2
    GLX extensions:
        GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
        GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method,
        GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
    OpenGL vendor string: ATI Technologies Inc.
    OpenGL renderer string: ATI RADEON 9600 Series
    OpenGL version string: 2.1.8087 Release
    OpenGL extensions:
        GL_AMD_performance_monitor, GL_ARB_depth_texture, GL_ARB_draw_buffers,
        GL_ARB_fragment_program, GL_ARB_fragment_shader, GL_ARB_half_float_pixel,
        GL_ARB_half_float_vertex, GL_ARB_multisample, GL_ARB_multitexture,
        GL_ARB_occlusion_query, GL_ARB_pixel_buffer_object,
        GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_shader_objects,
        GL_ARB_shading_language_100, GL_ARB_shadow, GL_ARB_shadow_ambient,
        GL_ARB_texture_border_clamp, GL_ARB_texture_compression,
        GL_ARB_texture_cube_map, GL_ARB_texture_env_add,
        GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
        GL_ARB_texture_env_dot3, GL_ARB_texture_float,
        GL_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two,
        GL_ARB_texture_rectangle, GL_ARB_transpose_matrix,
        GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader,
        GL_ARB_window_pos, GL_ATI_draw_buffers, GL_ATI_envmap_bumpmap,
        GL_ATI_fragment_shader, GL_ATI_meminfo, GL_ATI_separate_stencil,
        GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_EXT_abgr,
        GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate,
        GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
        GL_EXT_compiled_vertex_array, GL_EXT_copy_texture,
        GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit,
        GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_object,
        GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays,
        GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels,
        GL_EXT_point_parameters, GL_EXT_rescale_normal, GL_EXT_secondary_color,
        GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_wrap,
        GL_EXT_subtexture, GL_EXT_texgen_reflection, GL_EXT_texture3D,
        GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map,
        GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
        GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
        GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
        GL_EXT_texture_mirror_clamp, GL_EXT_texture_object,
        GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, GL_EXT_vertex_array,
        GL_KTX_buffer_region, GL_NV_blend_square, GL_NV_texgen_reflection,
        GL_SGIS_generate_mipmap, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod,
        GL_WIN_swap_hint, WGL_EXT_swap_control

       visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
     id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
    ----------------------------------------------------------------------
    0x23 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x24 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x26 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x27 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x28 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x29 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x2a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x2b 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x2c 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x2d 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x2e 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x2f 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x30 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x31 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x32 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x33 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x34 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x35 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x36 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x37 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x38 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x39 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x3a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x3b 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x3c 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x3d 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x3e 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x3f 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x40 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x41 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x42 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x43 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x44 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x45 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x46 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x47 24 tc  1  0  0 c  .  .  0  0  0  0  0  0  0  0  0  0  0  0 0 None
    0x48 24 tc  1  0  0 c  .  .  0  0  0  0  0  0  0  0  0  0  0  0 0 None
    0x49 24 tc  1  0  0 c  .  .  0  0  0  0  0  0  0  0  0  0  0  0 0 None
    0x4a 24 tc  1  0  0 c  .  .  0  0  0  0  0  0  0  0  0  0  0  0 0 None
    0x4b 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x4c 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x4d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x4e 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x4f 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x50 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x51 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x52 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x53 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x54 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x55 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x56 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x57 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x58 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x59 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x5a 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x5b 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x5c 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x5d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x5e 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x5f 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x60 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x61 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x62 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x63 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x64 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x65 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x66 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x67 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x68 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
    0x69 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x6a 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
    0x6b 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x6c 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
    0x6d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x6e 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
    0x6f 24 dc  1  0  0 c  .  .  0  0  0  0  0  0  0  0  0  0  0  0 0 None
    0x70 24 dc  1  0  0 c  .  .  0  0  0  0  0  0  0  0  0  0  0  0 0 None
    0x71 24 dc  1  0  0 c  .  .  0  0  0  0  0  0  0  0  0  0  0  0 0 None
    0x72 24 dc  1  0  0 c  .  .  0  0  0  0  0  0  0  0  0  0  0  0 0 None
    0x85 32 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 Ncon
    tremere@DeepHell:~$

    O que são todos esses números não interessa, mas sim a parte marcada em negrito. Nessa parte indica se a aceleração está funcionando e qual drive está sendo lido, assim como o modelo da placa reconhecido.

    12.b - GLXGEARS

    O aplicaticativo glxgearx é usado para testar a acelaracão 3D e retorna a quantida de FPS conseguidos no teste, quanto maior melhor.

    Isso varia, e muito, de acordo com o modelo da placa de vídeo utilizada. No meu caso, usando uma Radeon 9600XT, fica em torno de 3900 e 4200 frames em
    5 segundos o que da algo em torno de 720 a 840 FPS, enquanto sem o driver habilitado fica, no máximo a 200.

    tremere@DeepHell:~$ glxgears
    22163 frames in 5.0 seconds = 4432.612 FPS
    22167 frames in 5.0 seconds = 4433.445 FPS
    22163 frames in 5.0 seconds = 4432.419 FPS
    22168 frames in 5.0 seconds = 4433.521 FPS
    22147 frames in 5.0 seconds = 4429.399 FPS
    tremere@DeepHell:~$

    13 - Observações Importantes

    a. Notas do Autor


    [1] - Apesar da ATI afirmar o contrário, na minha máquina o driver funcionou melhor usando a API do kernel.
    [2] - Durante a instalação, o driver da ATI detectou minha glibc como sendo 2.1 quando na verdade ela é 2.5, mas isso não impediu que a instalação continuase sem problemas.
    [3] - Não há suporte ao kernel 2.6.27.4. Esse problema foi resolvido aplicando um patch a parte do source do driver, disponibilizado nesse howto.

    b. Problemas solucionados

    Nessa versão do driver, os seguintes problemas foram resolvidos:

    • O servidor X não inicia no Red Hat WS 4u6 com placas da serie HD 4800;
    • Corrupição da imagem pode ocorrer quando se usa os atalhos de teclado para mudar a resolução;
    • Com o driver instalado, iniciar o servidor X pode fazer máquinas com RHEL4u6/x86 parar de responder;
    • Ligar o OpenGL Overlay pode causar falha na inicialização do servidor X;
    • Habilitar "dual head" com o comando "aticonfig --initial=dual-head" pode causar "segmentation fault";
    • Problemas na imagem podem ocorrer quando ativar o efeito de "Reflection" no compiz;
    • Sistema para de responder quando mudar de um console para o X;
    • Imagem pode corromper quando toca video no MPlayer;
    • "Direct Rendering" não funciona para usuarios não root no Suse 10.2;
    • Iniciar o X com saida de video habilitada pode não aparecer a imagem;
    • Falha ao gerar pacotes RPM para RHEL;
    • Habilitar Ant-Aliasing no CCC precisa reiniciar o X;
    • Alguns sistemas mostravam-se instaveis ao finalizar o X;
    • Servidor X nao mais travam em sistemas com Radeon X1000;
    • Maya 2008 para de responder quando renderizando alguns modelos;
    c. Bugs Conhecidos

    Apesar de saber da existencia deles, a ATI não fez nada por enquanto...
    • Segundo monitor não pode ser ativado usando o CCC;
    • SPECViewperf 8.1: rodar o teste básico DPPT pode fazer o sistema parar de responder em sistemas com a série ATI FireGL V7700;
    • Maya 2008 "fecha" durante a renderização;
    • Após instalação do driver, pode-se ver a mensagem: "Failed to enable interrupts" no arquivo de log /var/log/Xorg.0.log;
    • SuSe 10.3 pode travar após a instalação do pacote contendo driver;
    • Fechar o XTerm pode gerar em um condição intermitente de kernel panic ou travamento do sistema;
    • Não há suporte para Kernel 2.6.27.4
    d. Novidades

    Nessa versão do driver, não há muitas novidades. Apenas correcão de bugs e tentativa de melhorar um pouco a performance.

    e. Desktop 3D

    Podem comemorar! O suporte a AIGLX e Composite nas placas ATI garantem o uso das últimas versões do Compiz-Fusion e também do KDE4 com suas "firulas" embutidas...

    14 - Changelog


    05/11/2008 - Versão 0.2.0
    Atualizacão geral do Howto para cobrir a instalacão do driver 8.10
    Acrescentado notas e "workaround" para instalacão do driver com o kernel 2.6.27.4
    31/10/2007 - Versão 0.1.1
    Nova sessão: 8 c. Instalando o Driver no Kernel 2.6.23
    Numeração dos tópicos arrumadas
    30/10/2007 - Versão 0.1.0
    Howto atualizado para versão 8.42.3 do driver da ATI
    Praticamente todas as seções foram atualizadas
    Nova sessão: Modelos Suportados

    14 - Considerações Finais

    A ATI nesses últimos meses vêm tentando tirar o atraso em relacão aos drivers da NVidia e do limbo que os usuarios dessas placas ficaram. Com atualizacões relativamente constantes ela vem a cada dia facilitando a instalacão e melhorando o suporte do seu hardware, mas infelizmente ela ainda tem muita a melhorar, como por exemplo a falta de suporte para as ultimas versões do kernel que obrigaram os usuários a fazerem malabarismos para poderem utilizar corretamente o seu sistema...

    Vamos esperar o próximo release do driver e torcer por mais inovacões.

    15 - Fontes

    Kernel Documentation ( www.kernel.org )
    Slackware ( www.slackware.com )
    ATI ( www.ati.com )
    Xorg Project ( www.x.org )

    16 - O Autor

    Rafael "Tremere" Diehl
    diehl@mednet.com.br
    Atenção: Esta matéria não expressa necessáriamente a opnião do site, sendo a procedência e exatidão das informações aqui descritas de inteira responsabilidade do autor.
     
    Copyright © 2000-2008 AgitoBrasil.Todos os direitos reservados
    Cidades da rede AgitoBrasil: AraraquaraArarasAraxáAtibaiaCampinasCapivariDivinópolisLemeLimeiraPiracicabaRecifeRibeirão PretoSão CarlosUberabaUberlândia