Compiz Fusion
Compiz Fusion | |
---|---|
| |
OpenCompositing | |
0.6.0 / 2007 | |
? / ? | |
compiz | |
- | |
Entorno de escritorio | |
libre (GPL) | |
Sí | |
compiz-fusion.org |
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.
Manual actualizado a 22 de octubre de 2007. |
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
Contenido
- 1 Requisitos mínimos y recomendados
- 2 Compiz Fusion en Ubuntu 7.10 Gutsy Gibbon
- 3 Preparativos
- 4 Instalación de los paquetes
- 5 Crear una sesión XGL
- 6 Iniciar Compiz Fusion
- 7 Desactivar Compiz
- 8 Posibles problemas y posibles soluciones
- 8.1 Instalé todo, pero desaparecen los bordes de mis ventanas
- 8.2 Problema con el driver de NVIDIA 1.0-9629
- 8.3 Compiz Fusion consume muchos recursos usando XGL
- 8.4 Compiz Fusion se bloquea aleatoriamente y/o permanentemente al cerrar la sesión (logout)
- 8.5 Aplicaciones 3D con XGL
- 8.6 Las aplicaciones hechas en Java no se visualizan correctamente
- 8.7 No aparecen los botones de Apagar y Reiniciar con XGL
- 9 Ver también
- 10 Soporte oficial de Compiz Fusion
- 11 Enlaces externos
Requisitos mínimos y recomendados
Para hacer funcionar Compiz se deben de cumplir una serie de requisitos, si no se cumplen no es posible hacerlo funcionar.
Básicamente el principal requisito es tener activada la aceleración 3D. Si no sabes como hacerlo lee el articulo Aceleración gráfica en Ubuntu.
Un método rápido para saber si tienes aceleración gráfica es tecleando en un terminal:
$ glxinfo | grep direct
Si el resultado es YES tienes aceleración gráfica.
Las tarjetas sobre las que se ha conseguido funcionar son las tarjetas gráficas de 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. Aunque el rendimiento es visiblemente menor.
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.
Compiz Fusion en Ubuntu 7.10 Gutsy Gibbon
Para conseguir tener Compiz Fusión en esta versión de Ubuntu debemos instalar los drivers de la targeta gráfica, para ello hay que seguir los pasos de la sección de #Preparativos y una vez que estén correctamente instalados tansolo tenemos que activar Compiz Fusion. Para ello nos dirigiremos a Sistema -> Preferencias -> Apariencia y en la pestaña Efectos visuales podemos configurar entre 3 niveles:
- Ninguno desactiva Compiz Fusion.
- Normal nos ofrece unos efectos moderados, con un bajo consumo de recursos.
- Extra nos ofrece más efectos, pero con un mayor consumo de recursos.
Si queremos tener un mayor control sobre los efectos de Compiz Fusion y poder personalizarlo totalmente tenemos que instalar los paquetes compizconfig-settings-manager y emerald. Una vez instalados volvemos a la ventana Apariencia y en la pestaña Efectos visuales nos encontramos con una 4 opción, Personalizado que nos permite como bien dice el nombre personalizar nuestros efectos. Una vez seleccionada la opción podemos hacer clic en "Preferencias de gtk" y nos aparecerá el compizconfig-settings-manager, una herramienta para configurar Compiz. También podemos acceder a esta herramienta desde Sistema -> Preferencias -> Advanced Desktop Effect Settings. Desde esta herramienta se pueden hacer todas las congifuraciones deseadas, añadir plugins, etc.
Preparativos
Antes de comenzar, una nota informativa. La mayoría de las tarjetas gráficas funcionan con AIGLX (Nvidia, Intel o ATI Radeon 9250 e inferiores), que viene incorporado en Ubuntu desde la versión 6.10, pero que es en la 7.04 donde tiene un mejor soporte (de ahí que se recomiende 7.04 para instalar Compiz).
Sin embargo, si usas una ATI y es un modelo Radeon 9550 (o superior) o de la serie X tendrás que usar XGL por lo que necesitarás instalar los drivers propietarios de ATI. (más información en Aceleración gráfica en Ubuntu).
AIGLX, es más estable y seguro, pero sólo funciona con los controladores de las tarjetas gráficas libres. Nvidia trae su propio entorno, no se necesita XGL ni AIGLX, por lo que a efectos prácticos se siguen los mismos pasos que AIGLX.
En esta guía se comenta como instalar tanto Compiz como XGL, siendo sólo necesario seguir estos pasos en los casos descriptos.
Eliminando restos de Compiz y Beryl
Si ya habías instalado antes una versión del antiguo XGL+Compiz es necesario que desinstales, por lo menos, algunos 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)
Repositorios
Los paquetes que proporcionan este sistema de escritorio no se encuentran en los repositorios oficiales de Ubuntu, por lo que debemos Activar los repositorios universe y multiverse y añadir como repositorio externo los siguientes :
Si usas Ubuntu 32 bits:
# 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:
# 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.
Es importante añadir la clave del repositorio elegido, válida para Ubuntu 32 y 64 bits. Por lo tanto, volvemos a la terminal y añadimos la clave del repositorio:
$ wget http://download.tuxfamily.org/3v1deb/DD800CD9.gpg -O- | sudo apt-key add -
Acto seguido, actualizamos la lista de paquetes; para ello, generalmente basta con:
$ sudo aptitude update
Instalación de los paquetes
Necesitamos una serie de paquetes, a continuación se describe el proceso de instalacion de algunos de estos paquetes.
- Compiz Fusion
$ sudo aptitude install compiz # compiz-gnome AND/OR compiz-kde
- Plugins de Compiz Fusion:
$ sudo aptitude install compiz-fusion-*
En el caso de que requieras XGL (ver los casos descritos anteriormente) es necesario que además instale el servidor XGL :
$ sudo aptitude install xserver-xgl
Antes de ejecutarlo asegúrate de seguir los pasos de configuración descritos.
Crear una sesión XGL
Este paso sólo es necesario si se requiere instalar XGL según se indica en los apartados anteriores. |
Dependiendo de si usamos Gnome o KDE existen pequeñas diferencias.
GNOME
Agregaremos la sesión XGL a las ya existentes, para ello creamos un fichero al que llamaremos, por ejemplo, startxgl.sh :
$ sudo gedit /usr/local/bin/startxgl.sh
Una vez abierto el archivo startxgl.sh, añadir lo siguiente:
<bash>
#!/bin/sh Xgl -fullscreen :1 -ac -br -accel glx:pbuffer -accel xv:pbuffer & sleep 4 export DISPLAY=:1 exec gnome-session
</bash>
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
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:
<bash>
#!/bin/sh Xgl -fullscreen :1 -ac -br -accel glx:pbuffer -accel xv:pbuffer & sleep 4 export DISPLAY=:1 exec startkde
</bash>
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
Iniciar Compiz Fusion
Para iniciar compiz, una vez instalado todo, es necesario escribir por consola el siguiente comando:
$ compiz --replace
Con esto probamos que nuestra configuración funciona correctamente, además 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
Una vez verificado que funciona nos falta indicar que queremos que se ejecute Compiz Fusion al inicio de nuestra sesión, por lo que agregamos a los programas de inicio. Dependiendo del gestor de ventanas que tengamos instalado podremos hacerlo de una manera u otra.
GNOME
Nos dirigimos a “Sistema > Preferencias > Sesiones” y en la pestaña "Programas de inicio" pulsamos Añadir y escribimos, por ejemplo:
$ compiz --replace
Esto hará que se inicie Compiz al inicio de cada sesión .
KDE
Para que al iniciar la sesión se ejecute el comando podemos añadir el comando en el inicio de KDE. Para podemos o usar la GUI o mediante consola.
$ cd $ kate ~/.kde/Autostart/compiz.sh
Escribimos en el nuevo fichero :
<bash>
#!/bin/bash compiz --replace
</bash>
Guardamos y le damos permiso de ejecución. <bash>
$ chmod +x ~/.kde/Autostart/compiz.sh
</bash>
A partir de ahora se inicia Compiz con la sesión KDE.
Lanzador de Compiz (icono)
Existe una versión preliminar del famoso icono de Beryl portado al reciente Compiz Fusión, desde este icono podemos activar o des activar los efecto cómodamente.
Os lo podéis bajar de este enlace:
http://ubuntuforums.org/showpost.php?p=3163821&postcount=8
Nota (GNOME): si no os aparece el icono de Compiz Fusion pero si un espacio, debéis poner la barra de herramientas con un ancho mínimo de 26 píxeles
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 descrito anteriormente. Al hacer doble click se activarán los efectos de Compiz.
Repositorios
Instalar fusion-icon de los repositorio hacer lo siguiente
Añade las siguientes lineas al fichero /etc/apt/sources.list:
# deb http://ppa.launchpad.net/maco.m/ubuntu gutsy main restricted universe multiverse deb-src http://ppa.launchpad.net/maco.m/ubuntu gutsy main restricted universe multiverse
Guardamos y cerramos el archivo, ahora desde la consola ejecutamos lo siguiente comandos:
$ sudo apt-get update $ sudo apt-get install fusion-icon
Desactivar Compiz
En Kubuntu para desactivar Compiz se puede invocar /usr/bin/metacity --replace.
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 puede ser por muchos motivos:
- Porque no has instalado un decorador de ventanas compatible con Compiz Fusion. Si es eso te recomiendo que instales el paquete emerald mediante tu gestor de paquetes preferido (Synaptic) o mediante la terminal:
sudo aptitude install emerald
- 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
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"
En algunas tarjetas nVidia,lo anterior no funciona. Lo que hay que hacer en esos casos para tener decoración de ventanas es editar xorg.conf y en la Section "Device" agregar estas dos líneas antes de EndSection:
Option "AddARGBVisuals" "True" Option "AddARGBGLXVisuals" "True"
Finalmente reiniciar el servidor gráfico (CTRL+Alt+retroceso)
Compiz Fusion consume muchos recursos usando XGL
Ejecuta Compiz Fusion con este comando:
LD_PRELOAD=/usr/lib/fglrx/libGL.so.1.2.xlibmesa compiz --replace
Compiz Fusion se bloquea aleatoriamente y/o permanentemente al cerrar la sesión (logout)
Si usas una tarjeta gráfica Nvidia prueba con esto:
- Abre el script de inicio de Compiz Fusion con este comando
sudo gedit /usr/bin/compiz
- Busca esto:
# No indirect by default INDIRECT=1
- Y cámbialo por esto otro:
# No indirect by default INDIRECT=0
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.
Las aplicaciones hechas en Java no se visualizan correctamente
Ver No se ve la interfaz gráfica de ninguna aplicación hecha en java si está funcionando Compiz Fusion
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: <bash>
#!/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
</bash>
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: <bash>
#!/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
</bash>
Guarda el archivo y reinicia el sistema para tener solucionado el error.
Ver también
Soporte oficial de Compiz Fusion
- Soporte oficial Compiz Fusion (en inglés)
- Soporte oficial en español de Compiz Fusion (en español)
Enlaces externos
- Post oficial de la instalación de Compiz Fusion (en inglés)
- Manual muy completo de instalación XGL en la wikiUbuntu (en inglés)
- Xgl y la revolución gráfica en Linux (en español)
- Optimizar el rendimiento de una ATI Radeon 9200/9250 en Ubuntu GNU/Linux (en español)
La versión original del artículo, o partes de él, han sido extraídas de Entre tuxes y pepinos, que edita bajo licencia by-nc-sa. Consúltese la autorización en Guía Ubuntu:Autorizaciones/Entre tuxes y pepinos.