Aqui tem um script simples que desativa o compiz para jogar, a algum tempo atras uma atualização no compiz incliu uma implementação no pluguin composite em unredirect fullscreen windows e unredirect match, onde as janelas em tela cheia nao sao mais decoradas. As excessoes ficam em unredirect match(onde vc se desejar pode incluir qualquer aplicativo) fica especificado para "any" seguido das classes.
Um exemplo desse problema com o compiz esta no Firefox, que travava a tela de prefencias do flash player onde nao era possivel assistindo uma animação no you tube em tela padrao por exemplo, mexer nas preferencias devido ao compiz. Agora e so maximizar a tela e as preferencias do flash player ficam destravadas, com acesso ao microfone e a camera.
Outro problema era nos games onde o compiz ativo fazia cair a taxa de frames consideravelmente, principalmente nas placas mais modestas como a minha intel 965, a solução era o Unity 2D, mas ele nao esta mais presente na versao mais nova, e ao usar o metacity com o unity 2D ao invez do compiz, havia problemas de sincronização em alguns games e emuladores. Trocando em miudos, alguns games ficavam bons rodando no unity 2D outros ficavam bem rodando no ubuntu com o 3D ativo.
Mesmo o compiz trazendo o recurso agora de nao renderizar as janelas em tela cheia, algumas coisas ainda nao funcionam bem, entao e melhor usar a implementação com o openbox, que na minha opiniao e a melhor saida.
Para problemas como sicronizaçãode video e tearing ao rodar os games, ha algumas opçoes ir ate o compiz-config e ir ate a aba
Open-GL e desmarcar
Sync-to vblank e tbm a opção em
Composite e desmarcar a opção detectar taxa de atualização e definir manualmente um novo valor, acima de 50 que e o padrao, eu estou usando 75 e com esses ajustes ficou bom.
Ainda ha um problema, mesmo desativando o compiz em tela cheia o processo ainda vai estar rodando e consumindo recursos da maquina, entao a idea e subistituir o gerenciador de janelas por outro mais leve que nao exija muitos recursos e matar o compiz, terminando de jogar, ao sair do game, automaticamente voltar ao Unity com compiz ativo. Esse script simples desenvolvido pelo Bluray nesse topico abaixo faz isso;
http://ubuntuforum-br.org/index.php/topic,101507.msg558101.html#msg558101""Muitos nos reparam que o compiz do Unity retira despenho dos jogos no ubuntu 12,04 , muitas das vezes tem que se desinstalar o unity para podermos jogar com melhor desempenho possível , e questionei não era possível desligar o ambiente de trabalho unity e correr só jogo , como estamos em Linux tudo é possível foi a pesquisa , encontrei varias soluções para assuntos diferentes compilei a informação , o resultado é correr um jogo sem o ambiente de trabalho sem desinstalar nada e voltar de novo ao ambiente de trabalho Unity de forma automática,
o seguinte script serve para executar os comandos , para matar o ambiente de trabalho unity , abir o openbox e correr o jogo e depois sair do jogo matar o openbox e abir de novo o Unity""
*Bluray
Instalando;sudo apt-get install --no-install-recommends openbox tint2
*O "--no-install-recommends" é para instalar somente o gerenciador de janelas e nao todo o
ambiente desktop.
**O tint2 e uma barra personalizavel que serve para minimizar o aplicativo para que ele nao "desapareça" da interface, vc pode tbm instalar temas para o Openbox com o pacote
openbox-themes e o personalizar com o pacote
obconf retirando o icone de minimizar a janela se desejar, dessa forma nao e necessario instalar o tint2.
***Necessario matar e restaurar o processo gtk-window-decorator automaticamente com o script, pois ao retornar ao Unity ele aumenta exponencialmente o uso de recursos da maquina ao abrir o nautilus.
****O comando "env UBUNTU_MENUPROXY=" seguido do executavel funciona para que os menus da aplicação apareçam na janela da aplicação, sem usar o menu global(barra superior).
ScriptCriar um arquivo de texto simples e colar o conteudo abaixo, salvar o ficheiro e devemos dar a permissão de execução do script.
Para isso vamos clicar com lado direito do rato em cima do ficheiro e depois escolhemos a opção "Propriedades" e "Permissões" e depois colamos o conteudo abaixo e selecionamos a opção executar.
#!/bin/bash
openbox --replace &
sleep 1
killall -9 /usr/bin/gtk-window-decorator &
sleep 1
tint2 &
sleep 1
# Alguns comandos abaixo para os emuladores Kega Fusion,Gmameui,Snes9x e Epsxe;
#
# env UBUNTU_MENUPROXY= local do executavel
#
# Para usar e so descomentar a respectiva linha abaixo e alterar o local do executavel:
#
#env UBUNTU_MENUPROXY= /home/ubuntu/Fusion/Fusion
#env UBUNTU_MENUPROXY= gmameui
#env UBUNTU_MENUPROXY= snes9x-gtk %F
#padsp /home/ubuntu/epsxe1.6/epsxe
killall -9 openbox &
killall -9 tint2 &
compiz --replace &
exit 0
Nao esquecendo de
descomentar do script as linhas referentes ao emulador que vc vai usar e indicar o local do executavel, exemplo;
env UBUNTU_MENUPROXY= local do executavelPara o Snes9x ficaria;
#env UBUNTU_MENUPROXY= /home/ubuntu/Fusion/Fusion
#env UBUNTU_MENUPROXY= gmameui
env UBUNTU_MENUPROXY= snes9x-gtk %F#padsp /home/ubuntu/epsxe1.6/epsxe
Video demonstrativo com o wahcade;
http://www.youtube.com/watch?v=w-Ri-V8FEMkCom o Americas Army;
http://www.youtube.com/watch?v=MetvXLLAbDcPode-se rodar o game agora a partir desse script ou entao para ficar organizado criar uma entrada ao lançador do Unity;
sudo gedit programa.desktop
[Desktop Entry]
Name=nome do jogo
GenericName=nome resumido
Comment=PHP development
Type=Application
Categories=GNOME;GTK;Game;CardGame;
Exec=endereço do scrit que criamos a cima ( exemplo /home/utilizador/script )
Terminal=false
StartupNotify=true
Icon= endereço do ícone do jogo
Salvar o ficheiro com nome de "programa.desktop" e mover ele para;
sudo mv programa.desktop /usr/share/applications
E para aqueles teimosos e apressados em jogar? Que tal iniciar o jogo logo no login?
*não é preciso instalar o openbox nesse caso
Vamos criar outro script simples;
[Desktop Entry]
Name= nome do jogo ( exenplo: Enemy Territory:Quake Wars )
Comment=This session logs you directly to play ETqw
Exec=endereçoDojogo ( ou comando de excução)
Icon=
Type=Application
Salvar o script com nome do jogo sem espaços no nome da seguinte maneira "NomeDojogo.desktop" e passar para a pasta /usr/share/xsessions
sudo mv NomeDojogo.desktop /usr/share/xsessions
E assim podem jogar com o máximo de desempenho.
Tema ambience para o openbox;
http://askubuntu.com/questions/63444/how-do-i-make-openbox-look-like-the-default-ubuntu-themeTestado no Ubuntu 12.04 32bit com os emuladores kega,snes9x,epesxe,gmameui,americas army e wahcade.