Vídeo (Configuração do Xorg)
De ULBwiki
Tabela de conteúdo |
Instalação de Dispositivos
NVIDIA
Instalando Drive Nvidia manualmente
Eu estou usando o Ubuntu 8.04 e recorri a essa alternativa que se mostrou viável, usando um tutorial do 7.04.
Importante: Leia todo o tutorial antes de começar. A partir do passo 6 você terá que fazer de cabeça, pois terá que parar o servidor gráfico e não podera mais ver esse guia. Portanto, aconselho anotar o restante num papel.
1- Removendo pacotes antigos
$ sudo apt-get --purge remove nvidia-glx nvidia-settings nvidia-kernel-common
2- Instalando pacotes necessários
Certifique-se de ter habilitado os repositórios universe e multiverse. Para saber como ativar repositórios, visite o Guia para iniciantes.
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install linux-restricted-modules-$(uname -r) build-essential xserver-xorg-dev
Obs.: É mais do que recomendado que se faça a atualização do sistema neste ponto.
3- Baixe o driver mais recente para sua série de placa no site da NVIDIA .
veja certinho a versão da sua placa tem série 4-MX até série 9
4- Edite o arquivo linux-restricted-modules-common
$ sudo gedit /etc/default/linux-restricted-modules-common
Altere a seguinte linha:
DISABLED_MODULES=""
Para:
DISABLED_MODULES="nv"
5- Entrando em modo texto
Pressione as teclas Ctrl + Alt + F1 e efetue o login. Não se assuste esse é o lado negro da força.
Após logado no modo texto vamos parar o gdm.
6 - Parando o gdm
$ sudo /etc/init.d/gdm stop
7- Executando o driver
Entre no diretório em que o foi salvo o aquivo .run, dê permissão de execução e em seguida, execute o arquivo:
$ sudo chmod +x NVIDIA-Linux-x86 aqui tecle TAB $ sudo ./NVIDIA-Linux-x86 aqui tecle TAB
nesta parte você deve se perguntar porque o TAB o TAB serve para você não precisar digitar todos os números de versões é até complicado você lembrar tudo aquilo.
A instalação é bem tranquila e é só responder Ok em quase todas as perguntas. Só responda não na pergunta em que ele diz não ter um kernel compilado no sistema, se você aceitaria fazer o download desse kernel no site da NVIDIA.
8 - Reinicie o sitema
$ sudo shutdown -r now
9 - Conferindo instalação
Após reiniciar o sistema, entre no terminal e execute:
$ glxinfo | grep direct
E a sguinte mensagem deve retornar:
$ direct rendering: yes
podem rodar isso aqui para configurar melhor o xorg.conf,opcional,veja se lhe será util!!
$sudo nvidia-xconfig --composite $sudo nvidia-xconfig --render-accel $sudo nvidia-xconfig --allow-glx-with-composite $sudo nvidia-xconfig --add-argb-glx-visuals
recarregue o X com CTRL+ALT+BACKSPACE
se a resolução não ficar legal você tem que usar o nvidia-settings pelo terminal assim:
sudo nvidia-settings
nesta parte em nvidia-setings no menu X Server Display Configuration em resolution coloque a resolução a seu agrado,
feito tudo isso tem que salvar as configurações no arquivo xorg.conf assim:
clique em Apply depois em Save to X Configuration File
prontinho tudo ok agora pode fechar o nvidia-settings
não esqueça que para que as configurações sejam salvas tem que ser como root "sudo"
Autor:(☠☠™ΔŁ€ЖΔŇĐŘ€™☠☠)
Mantendo configurações do Nvidia settings
Créditos: Myabara
O Nvidia settings disponibiliza uma série de opções, Sync to VBLank, Cursor shadow, antialiasing, mas nenhuma dessas opções fica gravada e a cada vez que reiniciamos o X perdemos as alterações e temos que configurar novamente.
A resposta para isso de encontra no próprio manual da Nvidia
No terminal:
# gedit /etc/X11/xinit/xinitrc
Nota: Pode-se trocar gedit por outro editor de sua preferência
Acrescente essa linha:
nvidia-settings --load-config-only &
Feche o editor, marque as alterações que quiser no Nvidia -settings e reinicie para ver se funcionou.
Tabela comparativa de placas Geforce Nvidia
Nesta tabela você poderá visualizar bem detalhadamente as características de sua placa Geforce Nvidia,informações da família Pré-Force, Geforce, Geforce FX, Geforce Go,OpenGL e Direct 3D. Acesse a tabela neste link.
Guevara - ULB 14h39min de 3 de Agosto de 2008 (UTC)--
ATI
Instalação Padrão
1. Editando o arquivo xorg.conf
Primeiro faça um backup de segurança
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_bkp
Agora vamos editar:
sudo vim /etc/X11/xorg.conf
Acrescente as seguintes linhas no final do arquivo:
Section "Extensions" Option "Composite" "Disable" EndSection Section "ServerFlags" Option "AIGLX" "off" EndSection
Salve e feche o aquivo.
2. Colocando o módulo fglrx na blacklist
sudo vim /etc/default/linux-restricted-modules-common
Na linha DISABLED_MODULES=”", acrescente o nome do módulo
Vai ficar assim: DISABLED_MODULES=”fglrx”
Salve e feche o aquivo.
3. Instalando as dependências necessárias
Certifique-se de ter habilitado os repositórios universe e multiverse e, em seguida, execute os seguintes comandos:
sudo apt-get update sudo apt-get install module-assistant build-essential fakeroot dh-make debhelper debconf libstdc++5 linux-headers-generic
4. Baixe o driver em http://ati.amd.com/support/driver.html
5. Instalando o driver
Entre na pasta em que o arquivo .run foi salvo para gerar os pacotes .deb para a instalação.
sudo bash arquivo.run --buildpkg Ubuntu/gutsy
Troque gutsy pela versão que está usando.
Se tudo correr bem os pacotes .deb serão gerados e agora devem ser instalados:
sudo dpkg -i xorg-driver-fglrx_8.41.7-1*.deb sudo dpkg -i fglrx-kernel-source_8.41.7-1*.deb sudo dpkg -i fglrx-amdcccle_8.41.7-1*.deb
Obs: Se na instalação dos pacotes acima o Ubuntu reclamar a falta de dependências é so rodar um
sudo apt-get -f install
6. Removendo os antigos pacotes .deb do fglrx em /usr/src/
sudo rm /usr/src/fglrx-kernel*.deb
7. Compilando o novo kernel module
sudo module-assistant prepare sudo module-assistant update sudo module-assistant build fglrx sudo module-assistant install fglrx sudo depmod -a
Nota: No caso de atualizações do kernel e necessário recompilar o kernel module (a partir do passo 7) Mais informações sobre compilação do kernel em Kernel
8. Esse passo é feito caso pacotes instalados anteriormente tenham escrito no arquivo fglrx.ko
sudo mkdir lib/modules/$(uname -r)/volatile sudo ln -s /lib/modules/$(uname -r)/misc/fglrx.ko /lib/modules/$(uname -r)/volatile/fglrx.ko
Nota: No meu caso o diretório e o link simbólico já estavam criados, é bom executar os passos para ter certeza.
9. Configurando o driver
sudo aticonfig --initial - f sudo aticonfig --overlay-type=Xv
10. Reinicie o PC
sudo shutdown -r now
11. Verificando se a instalação do driver está correta
Entre no terminal e digite o comando fglrxinfo
Deve aparecer algo semelhante a isso:
thiago@mp-090859:~$ fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: ATI Radeon Xpress Series OpenGL version string: 2.0.6849 Release
Instalação personalizada, com ou sem kernel Real-Time
--KlarkC
Aqui explico detalhadamente como instalar sua ati em qualquer kernel realtime ou não, seja num Sistema Operacional 32 bits ou 64 bits.
Todos sabem que drivers fglrx em S.O. 64 bits sempre tem problemas na instalação, e também há problemas com a instalação em kernel Realtime (preparado para multimídia). Tenta-se aqui contornar todos esses problemas para se conseguir a aceleração direta no driver fglrx. Lembrando que tudo foi feito e testado no novo Ubuntu Hardy. Instalando Ati Radeon FGLRX.
Preparando instalação
Primeiro baixe todos os pacotes necessários
$sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev wget libncurses5 libncurses5-dev dkms cdbs linux-headers-`uname -r`
Seu kernel(2.6.25) deve ter sido compilado usando o:
Kernel hacking---> [*] Enable unused/obsolete exported symbols
Caso contrário você terá um erro na compilação do módulo, para saber se o kernel em uso está com esta opção habilitada:
$cat /boot/config-`uname -r` | grep CONFIG_UNUSED_SYMBOLS
se a resposta for “y” continue, caso contrário compile um kernel com esta opção. Desistale qualquer outro driver fglrx instalado:
$sudo apt-get purge fglrx-amdcccle fglrx-control fglrx-kernel-source xorg-driver-fglrx xorg-driver-fglrx-dev $sudo rm /usr/src/fglrx-kernel*.deb
Desabilite o driver ati restrito
$sudo jockey-gtk $sudo gedit /etc/default/linux-restricted-modules-common
mude para:
DISABLED_MODULES="fglrx"
Troque fglrx por vesa:
$sudo gedit /etc/X11/xorg.conf
Reinicie. Baixe o driver do site:
$wget -c --no-check-certificate https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/64bit/ati-driver-installer-8-4-x86.x86_64.run
Instalação em S.O. 32bits sem kernel RT
Execute a instalação:
$ sh ./ati-driver-installer-8-4-x86.x86_64.run
Next – Next – Finish...
$gedit ~/patch
cole todo este código:
This patch came from http://sarah-a-happy.livejournal.com/90345.html It makes compatability changes for changed function names and a macro change in kernel 2.6.25. --- build_mod/firegl_public.c.orig 2008-04-06 01:20 :21.000000000 -0300 +++ build_mod/firegl_public.c 2008-04-06 01:17:58.0000 00000 -0300 @@ -1885,7 +1885,7 @@ */ KCL_TYPE_Cap ATI_API_CALL KCL_PosixSecurityCapGetEffectiveVector() { - return cap_t(current->cap_effective); + return (current->cap_effective).cap[0]; } /** \brief Set vector of effective security caps for the current process @@ -1893,7 +1893,7 @@ */ void ATI_API_CALL KCL_PosixSecurityCapSetEffectiveVector(KCL_TYPE_Cap cap) { - cap_t(current->cap_effective) = cap; + (current->cap_effective).cap[0] = cap; } /** \brief Get number of available RAM pages --- build_mod/firegl_public.c.orig 2008-04-06 02:10 :13.000000000 -0300 +++ build_mod/firegl_public.c 2008-04-06 02:23:05.0000 00000 -0300 @@ -120,6 +120,7 @@ #include <asm/cpufeature.h> #ifdef CONFIG_MTRR #include <asm/mtrr.h> +#include <asm/cacheflush.h> #endif #include <asm/delay.h> #include <linux/agp_backend.h> @@ -1158,7 +1159,7 @@ int ATI_API_CALL KCL_SetPageNoCache(void* virt, int pages) { - return change_page_attr(virt_to_page(virt), pages, PAGE_KERNEL_NOCACHE); + return set_pages_uc(virt_to_page(virt), pages); } /** /brief Call global kernel task/thread scheduler */
salve e feche depois esse comando no terminal:
$cd /lib/modules/fglrx/build_mod/ $patch -p1 < ~/patch
Terminando a instalação:
$cd /lib/modules/fglrx/build_mod/ $sh ./make.sh $cd .. $mv fglrx*.ko /lib/modules/2.6.25/kernel/drivers/char/fglrx.ko #Aqui pode mudar “2.6.25” pra pasta do seu kernel neste local $depmod
Agora carregue o módulo
$modprobe fglrx
Configure:
$sudo aticonfig --initial –force $sudo aticonfig --overlay-type=Xv –force $sudo gedit /etc/X11/xorg.conf
reinicie o X
$ /etc/init.d/gdm restart
Instalação em S.O. 64bits ou com kernel RT
Extraia o conteúdo do driver para uma pasta específica:
$sudo bash ati-driver-installer-8-4-x86.x86_64.run --extract fglrx
Agora precisamos concertar alguns “bugs” relacionados ao SO 64 bits e/ou ao kernel realtime
Para S.O. 64 bits:
$sudo gedit fglrx/packages/Ubuntu/dists/hardy/driver.preinst
Repare a sessão aspas :
PRESTE ATENÇÃO, se não pode dar tudo errado neste passo!
# make new diversions dpkg-divert --add --rename --package $PKGNAME --divert /usr/lib/fglrx/libGL.so.1.2.xlibmesa /usr/lib/libGL.so.1.2 > /dev/null dpkg-divert --add --rename --package $PKGNAME --divert /usr/X11R6/lib/fglrx/libGL.so.1.2.xlibmesa /usr/X11R6/lib/libGL.so.1.2 > /dev/null if [ -n "$HAS_LIB32" ]; then dpkg-divert --add --rename --package $PKGNAME --divert /usr/X11R6/lib32/fglrx/libGL.so.1.2.xlibmesa /usr/X11R6/lib32/libGL.so.1.2 > /dev/null ''dpkg-divert --add --rename --package $PKGNAME --divert /usr/X11R6/lib32/fglrx/libGL.so.1.2.xlibmesa /usr/X11R6/lib32/libGL.so.1 > /dev/null'' dpkg-divert --add --rename --package $PKGNAME --divert /usr/lib32/fglrx/libGL.so.1.2.xlibmesa /usr/lib32/libGL.so.1.2 > /dev/null ''dpkg-divert --add --rename --package $PKGNAME --divert /usr/lib32/fglrx/libGL.so.1.2.xlibmesa /usr/lib32/libGL.so.1 > /dev/null'' fi ;; abort-upgrade) ;; *) echo "preinst called with unknown argument \`$1'" >&2 exit 0 ;; esac
nessas partes com , mude isso:
libGL.so.1.2.xlibmesa
para isso:
libGL.so.1.xlibmesa
Salve e feche Faça isso também em outro arquivo:
$sudo gedit fglrx/packages/Ubuntu/dists/hardy/driver.postrm
Veja:
case "$1" in remove|purge) dpkg-divert --remove --rename --package $PKGNAME --divert /usr/lib/fglrx/libGL.so.1.2.xlibmesa /usr/lib/libGL.so.1.2 > /dev/null dpkg-divert --remove --rename --package $PKGNAME --divert /usr/X11R6/lib32/fglrx/libGL.so.1.2.xlibmesa /usr/X11R6/lib32/libGL.so.1.2 > /dev/null ''dpkg-divert --remove --rename --package $PKGNAME --divert /usr/X11R6/lib32/fglrx/libGL.so.1.2.xlibmesa /usr/X11R6/lib32/libGL.so.1 > /dev/null'' dpkg-divert --remove --rename --package $PKGNAME --divert /usr/lib32/fglrx/libGL.so.1.2.xlibmesa /usr/lib32/libGL.so.1.2 > /dev/null ''dpkg-divert --remove --rename --package $PKGNAME --divert /usr/lib32/fglrx/libGL.so.1.2.xlibmesa /usr/lib32/libGL.so.1 > /dev/null'' dpkg-divert --remove --rename --package $PKGNAME --divert /usr/X11R6/lib/fglrx/libGL.so.1.2.xlibmesa /usr/X11R6/lib/libGL.so.1.2 > /dev/null
Como antes, mude as partes com :
libGL.so.1.2.xlibmesa para libGL.so.1.xlibmesa
Salve e feche
$cd fglrx $cd arch/x86_64/usr/X11R6 $sudo ln -s lib64 lib $sudo ln -sf libfglrx_gamma.so.1.0 lib/libfglrx_gamma.so.1 $cd $cd fglrx
Para kernel Real-Time:
Se você seguir o tutorial provavelmente vai receber essa msg de erro:
FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol '__rcu_read_lock'
Então editamos alguns arquivos para concertar:
$sudo gedit fglrx/common/lib/modules/fglrx/build_mod/drm_compat.h
Troque:
#define MODULE_LICENSE(x)
Por:
#define MODULE_LICENSE("GPL")
Salve e Feche
$sudo gedit fglrx/common/lib/modules/fglrx/build_mod/firegl_public.c
Troque:
MODULE_LICENSE("Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY")
- A data “2002” pode mudar
por:
MODULE_LICENSE("GPL")
Terminando Instalação
Finalmente crie os pacotes para sua distro
$cd fglrx $sudo bash packages/Ubuntu/ati-packager.sh --buildpkg hardy
E Instale:
$cd .. $sudo dpkg -i --force-overwrite xorg-driver-fglrx_8.476-0ubuntu1_amd64.deb xorg-driver-fglrx \ dev_8.476-0ubuntu1_amd64.deb fglrx-kernel-source_8.476-0ubuntu1_amd64.deb fglrx-amdcccle_8.476-0ubuntu1_amd64.deb
Se você receber essa mensagem de erro:
"Error! DKMS tree already contains: fglrx-8.476 You cannot add the same module/version combo more than once. Doing initial module build"
Execute isso:
$sudo dkms remove -m fglrx -v 8.476 --all
Verifique se tem alguma dependencia quebrada:
$sudo apt-get install -f
Reinicie
Configure:
$sudo aticonfig --initial –force $sudo aticonfig --overlay-type=Xv –force $sudo gedit /etc/X11/xorg.conf
e adicione: no “ServerLayout”:
Option "AIGLX" "True"
E no final do xorg:
Section "Extensions" Option "Composite" "1" EndSection
Reinicie
Testes
Finalmente teste a aceleração
$fglrxinfo
algo semelhante a isso:
display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: Radeon X1950 Series OpenGL version string: 2.1.7415 Release
Se você receber uma mensagem de erro parecida com esta:
"glxinfo: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory"
Execulte isso:
$sudo apt-get install --reinstall libgl1-mesa-dri libgl1-mesa-glx xserver-xorg-video-ati
Continuando...
$ glxinfo | grep "direct rendering"
direct rendering = YES
$glxgears
mais de 1000 FPS


