Compiz Fusion

De Guía Ubuntu
Saltar a: navegación, buscar
Nota clasica.png Manual actualizado a 9 de agosto de 2007.

XGL es un entorno gráfico para GNU/Linux, que combinado con el manejador de ventanas Compiz Fusion permite tener efectos increíbles en el escritorio.

Una alternativa muy buena al XGL es el AIGLX, más estable y seguro, pero solo funciona con los controladores de las tarjetas gráficas libres. Nvidia trae su propio entorno, no se necesita XGL ni AIGLX aunque se hacen los mismos pasos que AIGLX (instalar driver e instalar programas).

El AIGLX viene incorporado en Ubuntu desde la versión 6.10, pero en la 7.04 tiene un mejor soporte.

Nota idea.png Compiz Fusion es el nuevo sustituto a Beryl y Compiz. Es el resultado de la integración de ambos proyectos en uno sólo pero aun así es un software sujeto a un fuerte proceso de desarrollo.

A continuación vamos a detallar el proceso de instalación de Compiz Fusión en Ubuntu 6.10 y 7.04

Escritorio con XGL (o AIGLX) y Compiz Fusión

Activar la aceleración 3D

Para ello, y dependiendo de nuestra tarjeta gráfica, el proceso es distinto.

La mayoría de las tarjetas gráficas funcionan con AIGLX (Nvidia o Intel) pero para desgracia de las ATI (en los modelos superiores a la 9550 incluida) es recomendable usar XGL.

Si vas a usar el XGL (se puede aplicar a cualquier tarjeta) debes instalar los drivers propietarios. Si no sabes como hacerlo lee el articulo Aceleración gráfica en Ubuntu.

Si vas a usar el AIGLX no debes instalar los drivers propietarios ya que solo funciona con los libres.

Requisitos mínimos y recomendados

  • Tarjeta gráfica ATI, NVDIA o INTEL, aun así hay gente que ejecuto Compiz Fusion medianamente bien en tarjetas Via Unichrome / Unichrome Pro.

No hay una lista del todo correcta que informe de las tarjetas compatibles pero se sabe que Compiz Fusion funciona en gráficas del nivel de ATI Radeon 7000 con apenas 32 o 64 mb y Nvidia GeForce2 de apenas 32 MB.

Eso si, no esperes el mismo rendimiento en una Radeon 700 que en una Radeon 9550, por poner un ejemplo.

  • Se recomienda usar la versión 7.04 de Ubuntu que trae mejor soporte para estas tecnologías que cualquiera de sus anteriores versiones.

La versión 6.06 de Ubuntu no esta oficialmente soportada por Compiz Fusion

Preparativos

Eliminando restos de Compiz y Beryl

Si ya habías instalado antes una versión del antiguo XGL+Compiz es necesario que la desinstales, o por lo menos, los siguientes paquetes. Para ello escribe esto en una terminal:

sudo aptitude purge compiz compiz-gnome cgwd cgwd-themes xserver-xgl csm gnome-compiz-manager

Ubuntu 7.04 trae una versión light de Compiz llamada "Efectos de escritorio" que se debe desinstalar para poder hacer funcionar Compiz Fusion

sudo aptitude purge compiz compiz-core desktop-effects

(no te preocupes cuando te pregunte si quieres eliminar ubuntu-desktop, es un meta-paquete y desinstalarlo no romperá tu sistema)

Si ya habías instalado Beryl debes saber que Compiz Fusion es perfectamente compatible con él por lo que no tendrás que desinstalarlo si no quieres.

Aun así siempre es recomendable usar Compiz Fusion en una instalación limpia (sin beryl ni compiz)

Si vas a usar AIGLX

Activar la aceleración 3D

Si vas a usar Nvidia, simplemente instala los drivers propietarios de la misma (nvidia-glx o nvidia-glx-new (tarjetas nuevas)) yendo al Gestor de Controladores Restringidos. Después de reiniciar asegúrate de que tengas aceleración gráfica:

AIGLX sólo es compatible con los drivers libres que vienen con Ubuntu y normalmente ya están perfectamente configurados. Para asegurarte si tienes o no aceleración gráfica (que muy pocas veces se consigue con estos driver) introduce este comando en una terminal:

glxinfo | grep direct

Si el resultado es YES tienes aceleración gráfica.

Si vas a usar XGL...

Debes saber que XGL solo esta recomendado para tarjetas Nvidia y ATI de gama media/alta (superiores a la Radeon 9550).

Si no tienes ninguna de esas tarjetas lo mejor es usar AIGLX que viene incorporado en Ubuntu.

Activar la aceleración 3D

Para ello, y dependiendo de nuestra tarjeta gráfica, el proceso es distinto.

Si vas a usar el XGL debes instalar los drivers propietarios. Si no sabes como hacerlo lee el articulo Aceleración gráfica en Ubuntu

Crear una sesión XGL

NO HE PODIDO TESTEAR NADA RELACIONADO CON XGL, por lo que es probable que TENGA ALGÚN ERROR

Ubuntu (GNOME)

Agregaremos la sesión XGL a las ya existentes:

sudo gedit /usr/local/bin/startxgl.sh

Una vez abierto el archivo startxgl.sh, añadir lo siguiente:

ATI
#!/bin/sh
Xgl -fullscreen :1 -ac -br -accel glx:pbuffer -accel xv:pbuffer
&
sleep 4
export DISPLAY=:1
exec gnome-session
Nvidia
No dispongo de información, puede funcionar lo de ATI para las Nvidia
Intel
No dispongo de información, puede funcionar lo de ATI para las Intel

Guardamos el documento y cerramos el editor de textos. Ahora debemos darle permisos de ejecución con el siguiente comando:

sudo chmod a+x /usr/local/bin/startxgl.sh

Por último debemos crear el archivo de inicio de sesión XGL:

sudo mkdir -p /etc/X11/sessions
sudo gedit /etc/X11/sessions/xgl.desktop

Añadiremos las siguientes lineas al archivo xgl.desktop:

[Desktop Entry]
Encoding=UTF-8
Name=Xgl
Exec=/usr/local/bin/startxgl.sh
Icon=
Type=Application
Kubuntu (KDE)

Agregaremos la sesión XGL a las ya existentes:

sudo kate /usr/local/bin/startxgl.sh

Una vez abierto el archivo startxgl.sh, añadir lo siguiente:

ATI
#!/bin/sh
Xgl -fullscreen :1 -ac -br -accel glx:pbuffer -accel xv:pbuffer
&
sleep 4
export DISPLAY=:1
exec startkde
Nvidia
No dispongo de información, puede funcionar lo de ATI para las Nvidia
Intel
( No dispongo de información, puede funcionar lo de ATI para las Intel

Guardamos el documento y cerramos el editor de textos. Ahora debemos darle permisos de ejecución con el siguiente comando:

sudo chmod a+x /usr/local/bin/startxgl.sh

Por último debemos crear el archivo de inicio de sesión XGL:

sudo mkdir -p /etc/X11/sessions
sudo kate /etc/X11/sessions/xgl.desktop

Añadiremos las siguientes lineas al archivo xgl.desktop:

[Desktop Entry]
Encoding=UTF-8
Name=Xgl
Exec=/usr/local/bin/startxgl.sh
Icon=
Type=Application

Repositorios

Los paquetes que proporcionan este sistema de escritorio no se encuentran en los repositorios oficiales de Ubuntu, por lo que debemos seguir estos pasos:

  1. Activar los repositorios universe y multiverse
  2. Editar el archivo sources.list para añadir reposistorios extra:

Abre un Terminal y escribe:

sudo gedit /etc/apt/sources.list
Nota clasica.png Si Kubuntu (KDE) el editor de textos predeterminado es el kate.

Ubuntu 6.10

De momento no he encontrado ninguno, si alguien sabe de alguno que lo ponga. Creo que lo mejor es que uséis la ultima versión de Ubuntu, es decir, la 7.04.

Ubuntu 7.04

Si usas Ubuntu 32 bits al final del documento introducimos las siguientes líneas:

# Treviño’s Ubuntu Feisty EyeCandy Repository (GPG key: 81836EBF)
deb http://download.tuxfamily.org/3v1deb feisty eyecandy
deb-src http://download.tuxfamily.org/3v1deb feisty eyecandy

Si usas Ubuntu 64 bits al final del documento introducimos las siguientes líneas:

# Treviño’s Ubuntu Feisty EyeCandy Repository (GPG key: 81836EBF)
deb http://download.tuxfamily.org/3v1deb feisty eyecandy-amd64
deb-src http://download.tuxfamily.org/3v1deb feisty eyecandy-amd64

Guardamos y cerramos el archivo.

Volviendo a la terminal añadimos la clave del repositorio elegido (válida para Ubuntu 32 y 64 bits):

wget http://download.tuxfamily.org/3v1deb/DD800CD9.gpg -O- | sudo apt-key add -

Actualizamos la lista de paquetes:

sudo aptitude update 

Instalación de los paquetes

Si usas AIGLX

Instalando Compiz Fusion

sudo aptitude install compiz # compiz-gnome AND/OR compiz-kde

Instalando CompizConfig Configurator

sudo aptitude install compizconfig-settings-manager # compizconfig-backends-* ?!

Instalando los plugins de Compiz Fusion

sudo aptitude install compiz-fusion-* 

Si usas XGL

Instalamos el XGL

sudo aptitude install xserver-xgl

Instalando Compiz Fusion

sudo aptitude install compiz # compiz-gnome AND/OR compiz-kde

Instalando CompizConfig Configurator

sudo aptitude install compizconfig-settings-manager # compizconfig-backends-* ?!

Instalando los plugins de Compiz Fusion

sudo aptitude install compiz-fusion-*

Inicar Compiz Fusion

Para iniciar compiz es necesario escribir por consola :

compiz - -replace

Si queremos usar los temas de beryl en el Emerald, en vez de lo anterior, escribir esto:

compiz --replace -c emerald

Para ver más opciones permitidas podemos escribir :

compiz --help 

o con más detalles  :

man compiz.real


El problema que surge es que al escribir estos comandos, al cerrar el terminal de consola nos provocará que perdamos los efectos o la decoración de ventanas. Para evitar esto podemos iniciar compiz de varias formas.

Compiz Fusion en el inicio de Ubuntu

Ahora nos falta indicar que queremos que se ejecute Compiz Fusion al inicio, por lo que agregamos a los programas de inicio. Para ello nos dirigimos a “Sistema > Preferencias > Sesiones” y en la pestaña "Programas de inicio" pulsamos Añadir y escribimos, por ejemplo:

compiz --replace

Lanzador de Compiz

Otra opción es crear un lanzador en el escritorio, para que por defecto no estén activos los efectos pero podamos iniciarlo en cualquier momento. Para ello simplemente creamos un lanzador de aplicaciones en nuestro escritorio con el comando Compiz descrito anteriormente. Al hacer doble click se activarán los efectos de compiz.

Desactivar Compiz

Una vez activado los efectos aportados por compiz la única manera de detener los efectos es reiniciando el servidor X.

Posibles problemas y posibles soluciones

Compiz Fusion es un software sujeto a un fuerte proceso de desarrollo. Esto implica bastante inestabilidad y debido a la constante innovación y cambios que se producen en este software de manera DIARIA es muy recomendable estar al tanto de los cambios, ya que en ocasiones se puede romper completamente la compatibilidad entre una versión y otra.

Instalé todo, pero desaparecen los bordes de mis ventanas

Si desaparecen los bordes de tus ventanas es porque la configuración de tu xorg.conf no es la correcta, para corregirlo editamos el archivo tecleando en la terminal:

sudo gedit /etc/X11/xorg.conf

Nota clasica.png Si Kubuntu (KDE) el editor de textos predeterminado es el kate.

Y añadimos esto al final del archivo:

Section “DRI”
Mode 0666
EndSection


Problema con el driver de NVIDIA 1.0-9629

Existe un problema con el nuevo driver de NVIDIA 1.0-9629 en el cual no muestra la decoración de ventanas y nos da el siguiente error:

 beryl: No GLXFBConfig for depth 32

Para resolverlo, simplemente añade esta linea a /etc/X11/xorg.conf en la sección Screen:

 Option "AddARGBGLXVisuals" "True"

Aplicaciones 3D con XGL

En Xgl no existe el Direct Rendering, pero no desesperéis, porque XGL corre sobre una sesión que sí lo tiene.

Para usar aplicaciones 3D (juegos a pantalla completa, por ejemplo), solamente hay que ejecutarlos desde terminal con el maravilloso parámetro "DISPLAY=:0 "(sin las comillas) antes de la ruta del juego (generalmente basta el nombre del juego para lanzarlos).

Resulta más cómodo trastear con las lanzaderas de los menuses o hacer Shell Scripts para lanzarlos. DISPLAY=:0 los lanza a través del primer display, donde SÍ hay Direct Rendering.

Es especialmente útil cuando juegas a cosas como el Tremulous o el OpenArena, o a cualquier juego D3D que lances desde Wine o Cedega.

No aparecen los botones de Apagar y Reiniciar con XGL

Puede ocurrir que al iniciar la sesión con XGL/Compiz Fusion e ir a Apagar el sistema descubras que hayan desaparecido los botones de Apagar y Reiniciar. Pero si inicias con Gnome todo esta en su sitio. La explicación y la solución de este problema se puede leer en este hilo.

Si usas Ubuntu (GNOME)

Abre el archivo startxgl.sh:

sudo gedit /usr/local/bin/startxgl.sh

Y editamos el archivo para que quede de la siguiente manera:

#!/bin/sh
Xgl -fullscreen :1 -ac -accel glx:pbuffer -accel xv:pbuffer & sleep 2 && DISPLAY=:1
cookie="$(xauth -i nextract - :0 | cut -d ' ' -f 9)"
xauth -i add :1 . "$cookie"
# Iniciar Gnome
exec gnome-session

Guarda el archivo y reinicia el sistema para tener solucionado el error.

Si usas Kubuntu (KDE)

Abre el archivo startxgl.sh:

sudo kate /usr/local/bin/startxgl.sh

Y editamos el archivo para que quede de la siguiente manera:

#!/bin/sh
Xgl -fullscreen :1 -ac -accel glx:pbuffer -accel xv:pbuffer & sleep 2 && DISPLAY=:1
cookie="$(xauth -i nextract - :0 | cut -d ' ' -f 9)"
xauth -i add :1 . "$cookie"
# Iniciar KDE
exec startkde

Guarda el archivo y reinicia el sistema para tener solucionado el error.

Ver también

Enlaces externos