|
Instalando Placas ATI Radeon no Linux Versão 0.4.0 Release Data: 31 jan 2009 Mini-HowTo ATI Driver versão 8.57.3 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.2 rodando kernel 2.6.28.2 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]. Devido a mudanças na API do driver, a configuração do seu kernel pode não estar preparada para isso e você terá que reconfigurá-lo. A indição desse problema são mensagens de erro tais como: fglrx: Unknown symbol pci_disable_msi fglrx: Unknown symbol pci_enable_msi Para resolver isso habilite a opção Bus Options -> Message Signaled Interrupts ( MSI and MSI-X ) e, caso necessário, habilite também Enable deprecated pci_find_* API. Essa segunda opção gerará vários warnings durante a compilação, não tome isso como erro... são apenas warnings. 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-9-1-x86.x86_64.run ( como você pode notar, o driver é idêntico 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-9-1-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 instalaçã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 instalaçã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.28.2 O driver 9.1 NÃO requer o patch, deixado aqui apenas como referencia ao 8.10 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 instalaçã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 "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 "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.8395 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 ( Apenas para 8.10, o 8.11 NÃO precisa desse patch ). 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: - A falha na instalação do driver com o modo "Powersave" habilitado não mais ocorre;
- Driver muda automaticamente o estado de funcionamento das placas da serie HD 2xxx quando ligado ou não a tomado;
- CCC gerava um segment fault quando iniciado com o root no SUSE11;
- X server poderia nao inicializar quando usando 2 placas com tamanho de memória indicado errado;
- Corrupcão de vídeo não mais ocorre usando o mplayer;
- Inicialiciar o X em modo dual-head habilitado apenas com um monitor não mais causa uma tela preta ou a falha na inicializacão
c. Bugs Conhecidos Apesar de saber da existencia deles, a ATI não fez nada por enquanto... - Perda de performance pode ser notada ao se utilizar o GTKPerf em placas HD38x0 ou mais novas;
- Tela primária permanece preta depois de mudar entre terminais vietuais com o dual-head ativo;
- CCC Pixel sempre coloca o pixel format em full RGB após o restart;
- Mplayer pode parar de responder quando o sistema volta dos modos S3/S4;
- X server pode não inicializar quando dual-head for configurado;
- Ativar o CrossFire pode corrupcão de imagem na tela secundária;
- X server iniciará em "Clone Mode" quando setado em "Big Desktop" no CCC;
- X server pode não iniciar em algumas combinacões de placas ATI;
- Gerador de pacotes pode falhar no SUSE11;
- Alientrap NEXUIZ pode não fechar imediatamente;
- Mudar do modo texto para o gráfico pode fazer o mplayer parar de responder;
- Sistema não muda para "Optimal Performance" quando retorna de sleeping e ligado a fonte de energia;
- Problemas ao decoficar H.264 em algumas plataformas Mobile;
- O nome "FirePRO 2450" é mostrado erradamente como "ATI FireMV 2450"
- Problemas ao gerar o atalho para o CCC no KDE4, sendo necessario inicia-lo pelo terminal
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 01/12/2008 - Verão 0.3.0 Atualizacão geral do HowTo para cobrir instalação do driver 8.11 05/11/2008 - Versão 0.2.0 Atualizacão geral do HowTo para cobrir a instalação do driver 8.10 Acrescentado notas e "workaround" para instalaçã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 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 instalaçã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 inovações.
|