Tag: Nvidia

Instalando o AiGLX e Beryl, sob placa Nvidia

Por Júlio César Bessa Monqueiro
21/12/2006

http://www.guiadohardware.net/tutoriais/aiglx-beryl-nvidia/

Agradecimentos ao usuário Joseph e Juliano Dorneles, do fórum UbuntuPT, ao Hugo Dória, Hamacker, Zael e Xmagnum.

Uma das grandes novidades gráficas do Linux atualmente foi o XGL e Compiz, uma mistura que causou o interesse de milhares de usuários por suas formosuras e efeitos em 3D, usando o OpenGL. Mais tarde, a dupla foi parcialmente substituída pelo AIGLX e Beryl, os dois como novas vertentes que surgiram a partir das iniciais. O AIGLX (Accelerated Indirect GLX) é muito mais fácil de ativar e exige muito menos da máquina, pois, ao contrário do XGl que rodava como um servidor X com acesso GLX direto, o novo vem como apenas um módulo do atual Xorg 7.1, podendo ser desativado e ativado quando se bem entender. O Beryl também surgiu a partir do Compiz, fork do projeto original com a intenção de jogar idéias que até então não existiam nele, e por isso sendo a principal escolha de muitos hoje.

Veja a descrição de Xmagnum, usuário do FórumGDH que trabalha em cima da implementação desses projetos no Kurumin:

“O XGL & Compiz são softwares criados pela Novell. O XGL é um servidor X completo, gastando muita memória para ser carregado, que roda em cima do Xorg que permite aos programas do X usar a aceleração das placas 3D. O Compiz é um gerenciador de janela, como o Kwin e o Metacity, que usa esse poder para gerar diversos efeitos no seu desktop.

O Aiglx (Accelerated Indirect GLX) é um projeto densenvolvido pela X.Org Foundation e pela comunidadeFedora Core que consegue disponibilizar a aceleração das placas 3D apenas adicionando algumas pequenas extensões no Xorg tradicional. Esse projeto é mais eficiente, tanto no consumo de memória quanto no uso da CPU. Ao ultilizar o Xorg tradicional com a aceleração indireta do Aiglx, não só o gerenciador de janela Beryl/Compiz pode usar o poder das placas 3D, como qualquer outra aplicação do servidor X. Isso acaba com o problema que tinhamos com jogos e vídeos no XGL .

O Beryl é um fork do Compiz da Novell. O Beryl é composto por alguns desenvolvedores de patchs do Compiz que tinham opiniões diferentes dos desenvolvedores do projeto original. O Beryl é mais focado na criação de efeitos e é mais aberto a comunidade em geral. Assim como o Compiz, ele adiciona diversos efeitos gráficos ao seu desktop. Experimente, não irá se arrepender! :P”

Bom, então vamos colocar a mão na massa. Antes, seria interessante você imprimir todo este tutorial, porque depois iremos sair do X para instalar algumas coisas. Portanto, para você não ficar na mão, recomendo que imprima ;-).

Como este tutorial é híbrido, ou seja, tanto para o Ubuntu que usa Gnome, quanto aos outros usuários de sistemas Debian que usa KDE, usarei o “gedit” como editor padrão. Obviamente, no KDE você pode usar o kedit, ou qualquer outro que queira.

Para começar, vamos remover os pacotes antigos do Cgwd, Compiz, Beryl e todos os suas “sobras”, caso tenha instalado. Rode pelo terminal:

$ sudo su
[senha]

# apt-get –purge remove compiz compiz-core compiz-plugin compiz-manager csm cgwd cgwd-themes beryl-core beryl-kde beryl-plugins beryl-plugins-data \
emerald beryl-settings beryl-manager beryl beryl-dev emerald-themes libglitz1 libglitz-glx1 xserver-xgl

Remova também antigas modificações no seu /etc/X11/xorg.conf e gdm.conf-custom, com relação ao XGL, e também o inicializador do Beryl, o beryl-manager, em Sistema > Preferências > Sessões. No KDE, remova qualquer vestígio do Beryl em /home/$USER/kde/Autostart.

Agora, vamos adicionar alguns repositórios ao seu sources.list, para baixar os pacotes necessários para a instalação. Abra, como root, o seu /etc/apt/sources.list:

# gedit /etc/apt/sources.list

Após aberto, adicione as linhas abaixo, para a família Ubuntu:

deb http://ubuntu.compiz.net/ edgy main-edgy
deb http://www.beerorkid.com/compiz edgy main-edgy
deb http://media.blutkind.org/xgl/ edgy main-edgy

Se você usa Debian, pode adicionar a linha do repositório do Xmagnum, que compilou os pacotes para o Debian Testing:

deb http://xmagnum.pedroaxl.com/repository/ ./

Após isto, adicione as chaves dos repositórios do Ubuntu, no terminal:

# wget http://ubuntu.compiz.net/quinn.key.asc -O – | apt-key add –
# wget http://www.beerorkid.com/compiz/quinn.key.asc -O – | apt-key add –
# wget http://media.blutkind.org/xgl/quinn.key.asc -O – | apt-key add –

E, como é de praxe, atualize a sua lista de repositórios:

# apt-get update

A seguir, vamos instalar os pacotes obrigatórios para a instalação do driver da Nvidia mais à frente. Precisaremos dos headers do seu kernel, os arquivos de deselvolvimento do Xorg e o Gcc, para a compilação. Como root:

# apt-get install linux-headers-`uname -r` build-essential gcc gcc-3.4 xserver-xorg-dev

Se você estiver rodando o Kurumin, por exemplo, é desnecessária a linha “linux-headers-`uname -r`”, pois ele já contém os headers do kernel, localizados em /usr/src/linux- headers-2.6.18(…). Note que o “`uname -r`” depois de “linux-headers-” faz com que a versão de seu kernel já apareça alí sem que você o procure. Rode, por curiosidade, o comando uname -r quando quiser ;-). Também é bom instalar um editor de textos em terminal para mais adiante, e como recomendado pelo Joseph, o melhor é o mcedit, que por sua simplicidade é mais apropriado que o nano, vi, etc. Para isso, instale-o com um:

# apt-get install mc

O próximo passo é remover todos os rastros do antigo driver Nvidia instalado em seu Ubuntu. Primeiro, removemos o scriptde inicialização:

# rm -f /etc/init.d/nvidia-*

Segundo, todos os pacotes dos drivers disponíveis através de repositórios:

# apt-get –purge remove nvidia-glx nvidia-settings nvidia-kernel-common

Terceiro, “zerar” as configurações do pacote xserver-sorg, com:

# dpkg-reconfigure -phigh xserver-xorg

O próximo passo é a instalação da versão mais recente do driver da Nvidia para o Linux. Você pode baixar através do site da Nvidia ( http://www.nvidia.com/object/unix.html), ou pegar direto do link abaixo, da versão 9631, a mais nova enquanto escrevo. Entre numa pasta qualquer, pelo terminal, e digite:

# wget http://us.download.nvidia.com/XFree86/Linux-x86/1.0-9631/NVIDIA-Linux-x86-1.0-9631-pkg1.run 

A partir daqui segue aquela dica que dei no começo, de imprimir todo o artigo, pois vamos parar o GDM e entrar no modo texto:

# /etc/init.d/gdm stop

Eu sei que você vai se sentir perdido e sem rumo a partir de agora. Relaxe, assim era o Linux há décadas :-P. Pressione Crtl+Alt+F1 para abrir uma sessão nova, e faça o login como usuário normal, entrando depois no diretório com o driver salvo. Torne-o um executável com o:

$ su
[senha]
# chmod +x NVIDIA-Linux-x86-1.0-9629-pkg1.run

E partimos para a instalação:

# ./NVIDIA-Linux-x86-1.0-9629-pkg1.run

Vá dando Enter em “Accept” e “Yes” em todas as telas, mas tome cuidado onde ele pergunta sobre fazer download de módulos pré-compilados. Nesta pergunta, responda “No”.

A seguir, editaremos o arquivo “linux-restricted-modules-common”, com o intuito de desativar o módulo “nv”, que opera as placas da Nvidia com um driver de código livre, que consequentemente não oferece suporte 3D. Agora sim, iremos usar aquele editor de textos do início:

# mcedit /etc/default/linux-restricted-modules-common

Vá até a última linha do arquivo, e troque DISABLED_MODULES=”” por DISABLED_MODULES=”nv”

# This file is sourced from the linux-restricted-modules-common init
# script and is used to disable the link-on-boot feature, one module
# at a time. This can be useful if you want to use hand-compiled
# versions of one or more modules, but keep linux-restricted-modules
# installed on your system, or just to disable modules you don’t use
# and speed up your boot process by a second or two.
#
# Use a space-separated list of modules you wish to not have linked
# on boot. The following example shows a (condensed) list of all
# modules shipped in the linux-restricted-modules packages:
#
# DISABLED_MODULES=”ath_hal fc fglrx ltm nv”
#
# Note that disabling “fc” disables all fcdsl drivers, “ltm” disables
# ltmodem and ltserial, and “nv” disables both the nvidia drivers.
# You can also name each module individually, if you prefer a subset.

DISABLED_MODULES=”nv”

Salve o arquivo teclando F2, saindo depois com um F10.

Agora é preciso reiniciar o sistema, para que todas as alterações tenha efeito. Faça isso rodando:

# shutdown -r now

Aguarde a reinicialização do seu computador e, a seguir, abra um terminal qualquer, como o gnome-terminal, em seguida abra o arquivo “xorg.conf”, com seu editor de textos preferido. Nele, vamos efetuar algumas configurações que ativarão o AIGXL:

$ su
[senha]
# gedit /etc/X11/xorg.conf

E procure pela seguinte linha:

Section “Device”

E, logo abaixo dela, adicione as linhas:

Option “RenderAccel” “true”
Option “AllowGLXWithComposite” “true”
Option “XAANoOffscreenPixmaps”

E, com o mesmo procedimento, procure pela linha:

Section “Screen”

Colocando logo abaixo as linhas:

Option “AddARGBGLXVisuals” “True”
Option “DisableGLXRootClipping” “True”

Para os usuários que adicionaram o repositório do Xmagnum, somente para o Debian, substitua a linha:

Option “sw_cursor”

Por

# Option “sw_cursor”

E, para fechar a edição do arquivo, adicione em suas últimas linhas:

Section “Extensions”
Option “Composite” “Enable”
EndSection

Salve o arquivo, e caia no terminal novamente. E vamos agora à tão sonhada instalação dos pacotes. Para os sistemas baseados no Ubuntu, rode o comando:

# apt-get install beryl-core beryl-plugins beryl-plugins-data emerald beryl-settings beryl-manager beryl beryl-dev emerald-themes

E, para os baseados no puro Debian, rode simplesmente:

# apt-get install beryl-kde

A diferença dos comandos é a fonte dos pacotes, que foram compilados de maneira totalmente diferentes. Depois de todo o processo de instalação, reiniciem o computador normalmente, e, quando o sistema estiver normal, acesse o Beryl pressionando Alt+F2 e digitando beryl-manager, para você já poder carregá-lo e ver seus efeitos.

Para mantê-lo sempre ativo na inicialização do sistema, no Gnome vá em “Sistema”, “Preferências”, “Sessões”, “Programas Iniciais”, “Adicionar”, e na tela “Adicionar promama inicial”, coloque “beryl-manager”, sem aspas.
Para o KDE, abra o Konqueror, vá até a pasta /home/$USER/.kde/Autostart, clique com o botão direito e depois em Criar Novo > Arquivo Texto, dando o nome a ele de ” beryl.sh”. Abra-o no Kedit, e adicione as linhas:

#!/bin/bash
beryl-manager

Salve e feche, rodando o seguinte comando para torná-lo executável:

# chmod +x /home/$USER/.kde/Autostart/beryl.sh

Quem instalou os pacotes do Xmagnum também pode rodar o Beryl quando quiser, sem precisar colocá-lo como padrão, selecionando, na tela do KDM, em Menu -> Tipo de Sessão -> BerylKDE.

Vamos agora analisar alguns dos componentes do Beryl, entre eles estão incluídos o Beryl Manager, Beryl Settings e o Emereld Themer. Veja abaixo uma breve descrição por Hugo Dória:

Beryl Manager:

“O beryl-manager é quem inicializa o beryl no sistema. Depois de carregado, irá aparecer um ícone em forma de diamante na systray. Através dele você terá acesso as ferramentas do beryl.”

Beryl Settings:

beryl-settings.png

“O beryl-settings é responsável pelo gerenciamento de plugins e efeitos do Beryl. Ele é equivalente ao gconf-editor, só que bem mais intuitivo e completo. Você pode ver uma comparação entre o beryl-settings e o gconf-editor clicando nas imagens abaixo.”

gconf-editor

Emerald Themer:

emerald-themer

“No Beryl é possível utilizar diversos temas e decorações de janelas. O responsável por gerenciar isso é o emerald-themer.”

E, um alerta de Xmagnum:

“Devido a um pequeno bug na codificação das traduções do Beryl, o seu painel de configuraçõres (Beryl Settings) não inicia. Para iniciá-lo, vá no terminal e digite:

# LC_ALL=”en” beryl-settings

Nele, você pode configurar/ativar/desativar seus plugins. Ele tem muitas opções, por isso não costumo mexer nele. Aprenda mexendo … :P”

Depois de se empolgar com essa novidade, aproveite todo o poder de fogo com sua placa 3D e divirta-se!

Veja abaixo, antes que você sinta na realidade, algumas telas do Aiglx mais o Beryl:

screenshot-3

E também um vídeo, de Juliano Dorneles: http://www.youtube.com/watch?v=ZK0U4h1cL_s

Segundo este mesmo rapaz, no fórum UbuntuPT, o efeito de mais impacto é o “Burning Windows”, então já que estamos aqui, veja como ativá-lo:

imagem
A tela acima aparecerá após o clique com o botão direito do mouse. Após isso, siga o caminho Animações > Efeito Fechar > Selecione a opção Queimar. Segundo ele ainda, outra opção bacana é deixar o cubo para alternância entre desktop tranparente, através das “Configurações de cubo”.

O Juliano também postou no fórum um efeito interessante, de “uma notificação “não intrusiva” no seu desktop”, simulando um efeito de pingo d’água na posição desejada na tela em eventos.

Para isso, abra o seu editor de textos padrão, no exemplo o kedit.

# kedit /usr/local/bin/waterping.sh

Cole nele o conteúdo abaixo:

#!/bin/bash
#./waterping.sh 0 0
#If you want to ping the coordinates x0, y0
dbus-send –type=method_call –dest=org.freedesktop.beryl /org/freedesktop/beryl/water/a llscreens/point org.freedesktop.beryl.activate string:’root’ int32:`xwininfo -root | grep id: | awk ‘{ print $4 }’` string:’amplitude’ double:1 string:’x’ int32:$1 string:’y’ int32:$2

Sendo a linha do dbus-send uma só. Salve o arquivo com o nome de waterping.sh na pasta /usr/local/bin, como root. Em seguida, dê a ele a permissão de executável, com um:

# chmod +x /usr/local/bin/waterping.sh

Esse script funciona da seguinte maneira: você deve colocar na frente do comando as coordenadas X e Y da tela, onde deseja que o pingo caia, ou seja, se quero que a gota bata na posição 600,500, devo executar o programa como

$ waterping.sh 600 500

Com isso, você deverá adicionar nos seus programas favoritos a execução deste script no evento desejado, normalmente o campo é chamado de “executar programa externo”, ou algo parecido. Não se esqueça de colocar, nesse campo, as coordenadas. Para isso, salve uma screenshot, abra o arquivo salvo pelo GIMP ou KolourPaint, coloque o mouse na posição desejada e anote as coordenadas, que ficam na barra de status.
Por exemplo, quando chega uma nova mensagem pelo Mercury, cai uma gota no canto interior direito. É uma forma de notificação muito discreta. Não se esqueça de adionar a opção DBus nas configuraçẽos do Beryl.

Novamente, boa diversão!!

Links Relacionados

http://zael.wordpress.com/2006/10/26/compiz-agora-e-a-vez-do-beryl/ 
http://hamacker.wordpress.com/2006/10/19/aiglx-beryl-no-ubuntu-edgy-610/ 
http://nozey.devin.com.br/blog/?p=15
http://ubuntu.linuxval.org/smf/index.php?topic=13169.0
http://ubuntu.linuxval.org/smf/index.php?topic=13637.0
http://ubuntu.linuxval.org/smf/index.php?topic=13208.0 
http://ubuntu.linuxval.org/smf/index.php?topic=13588.0

Vídeo no Linux: nVidia, ATI e placas de TV

Driver da nVidia

http://www.guiadohardware.net/guias/07/index2.php

As placas 3D da nVidia são atualmente as melhores placas 3D para uso no Linux. Elas são as melhor suportadas dentro do Cedega/WineX e nos games e aplicativos 3D for Linux em geral.

Apesar de ter o código fonte fechado, o driver 3D da nVidia é distribuído com uma licença liberal, que permite sua livre distribuição, desde que não sejam feitas alterações nem engenharia reversa.

Graças a isto, um grande número de distribuições vem com o com o driver pré-instalado, ou disponibilizam scripts ou pacotes prontos, o que é bom tanto para os usuários, quanto para a própria nVidia, que tem a chance de vender mais placas graças ao bom suporte por parte das distribuições.