Compiz, el escritorio libre en 3D
24 Abril 2008
La percepción más común es que Linux es un Sistema Operativo para servidores, estable y potente, aunque muy difícil de aprender y usar, y poco atractivo gráficamente; en cambio, Windows es más limitado e inestable, pero intuitivo y bonito. En los últimos tiempos, estos preconceptos comenzaron a resquebrajarse con la aparición de Compiz. Aunque todavía está en etapa de desarrollo, este software le demostró al mundo que un Desktop Linux también puede superar en presentación visual y productividad a un equipo con Windows.
TODO ENTRA POR LOS OJOS
Una vieja frase que circula entre los programadores, al referirse a un producto de software, es la siguiente: “Si no podemos hacerlo bien, hagamos que se vea bien”. Algunas empresas de desarrollo de software propietario han hecho de este concepto un mantra (¿alguien dijo Microsoft?). Algunas veces, basan en la “cosmética” líneas enteras de productos, que tienen múltiples deficiencias, pero que se ven “lindos” y, de esta forma, logran ganar mercado, sobre todo entre los usuarios de menos conocimientos informáticos. Otras veces, las mejoras cosméticas alcanzan para justificar el lanzamiento de una nueva versión de una aplicación o de un Sistema Operativo, cuando los verdaderos cambios esperados por los usuarios, esos que solucionan problemas o agregan funcionalidad, siguen brillando por su ausencia. Mientras tanto, en el mundo del software libre, hasta hace muy poco, a menudo se tomaba el camino opuesto: se hacía tanto hincapié en la funcionalidad y en la potencia del Sistema Operativo y sus aplicaciones que se dejaba completamente de lado la estética visual y la facilidad de uso.
NO HAY MAL QUE DURE CIEN AÑOS
Pero hay una nueva tendencia entre los partidarios del Open Source, cuya punta de lanza es la distribución Ubuntu y su desarrolladora Canonical, quienes prestan especial cuidado a la cosmética y a la amigabilidad de todos los componentes de la distribución. Afortunadamente, notaron que estos aspectos son críticos para muchos usuarios, y comenzaron a tenerlos en cuenta. La consecuencia de esta tendencia es que Linux, hoy en día, ya está lo suficientemente maduro en este sentido como para representar una alternativa respecto de otros Sistemas Operativos de escritorio, como los de MS. Es por eso que en Redmond redoblaron la apuesta “estética” con el lanzamiento de Windows Vista, incluyendo, junto a las versiones más costosas del mismo, “Windows Aero”, un administrador de ventanas preparado para aprovechar el poder de los modernos procesadores gráficos. Esto permite al administrador de ventanas diversas mejoras apuntadas a incrementar la productividad (como el nuevo “task switcher” del ALT-TAB), y otras pensadas como simples “regalos para la vista”.
COMIENZA EL DESARROLLO DE XGL
En la industria informática, pocas veces los primeros en lanzar al mercado en forma masiva un producto innovador son los creadores de la tecnología que respalda ese producto. Cuando MS anuncia, en julio de 2005, que ha comenzado el desarrollo de Vista, el programador de David Reveman, contratado ese mismo año por Novell (dueña de SUSE Linux) ya lleva un tiempo trabajando en Xgl, un nuevo servidor X (el motor gráfico de Unix/Linux) que hace uso, a través de OpenGL, del motor 3D del GPU. El 2 de enero de 2006 el código fuente de Xgl es publicado en http://www.freedesktop.org e, inmediatamente, se forma una comunidad de desarrolladores interesados en contribuir al proyecto. Unos meses después, se hace evidente que, para aprovechar todos los efectos visuales que permiten los nuevos y poderosos chips gráficos, es necesaria una mayor integración entre el gestor de ventanas (encargado de dibujar y administrar las ventanas en el escritorio) y el gestor de composición (responsable de los efectos visuales). Nace entonces Compiz, que integra ambas funciones en una única aplicación. Como es costumbre en la comunidad Open Source, Compiz fue concebido, desde un principio, como un sistema abierto, modular y extensible, que permitía a sus usuarios diseñar sus propios efectos visuales o modificaciones a la manera de “plugins”, muy sencillos de programar e implementar. Poco tiempo después, decenas de nuevos plugins inundaban los foros de http://forum.compiz.org/, muchos de los cuales pasaron a ser parte de la rama oficial. También, pronto aparecieron forks de Compiz, como el proyecto Beryl, que prefirieron hacer hincapié en agregar soporte para una mayor cantidad de chips gráficos, en detrimento de una mayor estabilidad lograda por la rama oficial.
CARACTERÍSTICAS DE COMPIZ
El corazón de Compiz es un cubo en 3D, en el que cuatro de sus caras (todas menos la superior e inferior) representan distintas vistas del escritorio, similar a los workspaces a los cuales los usuarios de Linux ya están habituados. Puede ser rotado a gusto y placer por el usuario para acceder a ventanas de aplicación que se hayan “repartido” por las diferentes caras del cubo, permitiendo la visualización, en forma cómoda, de una gran cantidad de aplicaciones que estén abiertas de manera simultánea. Otra característica muy importante es la transparencia en las ventanas, que puede ser parcial (por ejemplo, sólo en la barra de título) o total. Por supuesto, es configurable el grado de transparencia, y, también, podemos aplicar la transparencia sólo al mover una ventana por el escritorio, para visualizar las ventanas que se hallen debajo. Agregando algunos de los plugins que mencionábamos anteriormente, se obtienen espectaculares efectos visuales al maximizar o minimizar las ventanas: por ejemplo, al minimizar una ventana, esta se “prende fuego” hasta desaparecer, o se hace añicos, o se pliega como una hoja de papel. Al tomar una ventana maximizada de una “esquina” y doblarla como si se tratara de un pañuelo, se ve lo que se encuentra detrás sin aplicar transparencias. En resumen, las posibilidades son miles, tantas como caben en la imaginación de la multitud de desarrolladores que han liberado plugins para Compiz.
HECHOS, NO PALABRAS
A esta altura, nuestros lectores deben estar ansiosos por ver con sus propios ojos tantas virtudes. Para correrlo sin problemas, necesitamos un procesador gráfico que esté soportado por XGL. El tema es que determinar esto no es sencillo, ya que el soporte varía según el driver (libre o propietario) y la distribución GNU/Linux que se elija en cada caso. Una buena guía es la lista elaborada por los usuarios de Gentoo Linux, aunque la información allí contenida no es concluyente, y no es raro obtener buenos resultados con un chip gráfico que figura como “no soportado”. En principio, podemos afirmar sin temor a equivocarnos que la inmensa mayoría de las placas de gama media y alta, tanto de ATI como de Nvidia, que hayan sido fabricadas en los últimos tres años, no deberían tener problemas. Pero allí no terminan las dificultades. Las versiones más nuevas de las distribuciones Linux más importantes (Debian, Fedora, Gentoo, Mandriva, Slackware, SUSE y Ubuntu) ya incluyen a Compiz en sus respectivos repositorios. Luego se instala fácilmente mediante el administrador de paquetes que corresponda a nuestra distro. Pero para versiones anteriores, o si somos usuarios de otras distros, es posible bajar directamente de http://compiz.org/ los binarios (y rezar para que funcionen en nuestro entorno), o descargar el código fuente y compilarlo, tarea no exenta de inconvenientes, pero que, de tener éxito, nos brindará mayor estabilidad y velocidad de ejecución. En caso de emergencia, encontraremos en la web una multitud de guías que nos asistirán, paso por paso, con el procedimiento de instalación, en varios idiomas y para un amplio abanico de distribuciones. Pueden comprobarlo buscando en Google la expresión +compiz +howto y eligiendo los resultados que correspondan a nuestra distro.
PARA NO QUEDARSE CON LAS GANAS
Seguramente, en este instante, los lectores que tengan equipos algo vetustos, o que carezcan de procesadores gráficos con aceleración 3D, estarán insultando en varios idiomas. Sin dudas, serán secundados por los poseedores de motherboards con chips gráficos “onboard” económicos (como los fabricados por SiS), que son más que adecuados para tareas de oficina o para correr juegos sencillos, pero que, al no implementar OpenGL, no pueden ejecutar Compiz. Mientras ahorran moneda tras moneda para comprar una placa de video con todas las de la ley, si quieren enterarse de qué se trata esto de Compiz pueden recurrir a YouTube. Múltiples usuarios han subido al popular portal decenas de videos en los que muestran sus escritorios animados, en una pintoresca competencia por lograr efectos más espectaculares que los de los demás. Obtendremos un rápido panorama de los videos más populares de esta temática ingresando a Youtube y apreciaremos escritorios que dejarán boquiabierto a más de un usuario de Windows Vista. Y a no perder de vista que Compiz es software que se encuentra en sus fases iniciales de desarrollo, y todavía esperamos de este proyecto para el Desktop GNU/Linux muchas sorpresas más. ¡Hasta la próxima!
ATI Y NVIDIA NO COLABORAN
Hace tiempo se le reclama a los fabricantes de procesadores gráficos que publiquen sus especificaciones con el fin de poder desarrollar drivers libres, para que algunas distribuciones GNU/Linux, que sólo admiten paquetes 100% libres en sus repositorios, pudieran dar soporte a sus chips. Intel se mostró dispuesta a colaborar, y publicó una versión libre de los drivers de su GPU i965. ATI y Nvidia se han negado, argumentando que publicar los fuentes de sus drivers expondría secretos industriales de los cuales la competencia podría aprovecharse. Esta negativa ha provocado protestas reiteradas de parte de los representantes de las comunidades de soft libre. El propio Richard Stallman concurrió a una conferencia de ATI en el MIT, en Abril de 2006, con una pancarta que protestaba ante esta situación (ver aquí). Sin embargo, se han logrado desarrollar, mediante la técnica de ingeniería inversa (un proceso muy difícil y tedioso) drivers libres para los chips de ATI y Nvidia. Estos drivers, aunque funcionan sin problemas al trabajar en 2D, no están maduros aún para trabajar con llamadas OpenGL, ya que la ingeniería inversa del motor 3D es más compleja. Tanto ATI como Nvidia han liberado versiones para Linux de sus drivers propietarios, y Compiz, que hace un uso extensivo de las funciones 3D, funciona a la perfección con ellos. En cambio, con los drivers libres, Compiz trabaja correctamente en algunas placas, pero tiene problemas con otras. Por esta razón, la polémica drivers propietarios vs. libres retoma fuerza, y seguirá dando que hablar a la industria.
ALGUNOS PLUGINS DISPONIBLES PARA COMPIZ
Plugins nativos
| Nombre | Descripción |
| Annotate | Dibujar o escribir a mano alzada sobre las ventanas |
| Clone | Clona el escritorio actual en una pantalla secundaria |
| Cube | Ubica cada escritorio virtual en una cara de un cubo 3D |
| Decoration | Comunica la configuración de la decoración al administrador de decoraciones |
| Fade | Fundido desde y hacia negro de las ventanas |
| Gconf | Copia la configuración de GNOME |
| Inotify | Notifica a los gestores de configuración que un nuevo plugin ha sido instalado |
| Minimize | Aplica efectos animados a las ventanas al maximizar y minimizar |
| Move | Movimiento animado de las ventanas |
| Place | Ubicación automática de las nuevas ventanas |
| Png | Permite usar imágenes en formato PNG como texturas |
| Resize | Ajuste de tamaño de las ventanas animado |
| Rotate | Permite rotar el cubo que contiene los escritorios visuales |
| Scale | Muestra todas las ventanas abiertas (similar a Exposé del Mac OSX ) |
| Svg | Permite usar imágenes en formato SVG como texturas |
| Switcher | Navega entre miniaturas de las ventanas abiertas con Alt-Tab |
| Water | Agrega efecto de “lluvia” y “olas” al mover el puntero del mouse |
| Wobbly | Agrega otro efecto al arrastrar ventanas |
| Zoom | Agranda un área determinada de la pantalla |
Plugins de la comunidad (paquete compiz-extra)
| Nombre | Descripción |
| Animation | Más efectos de animación para eventos de las ventanas |
| Benchmark | Permite medir la performance de Compiz |
| Bs | Control de brillo y color |
| Crashhandler | Gestor de errores y recuperación automática |
| Dbus | Gestiona la interfaz dbus |
| Negative | Invierte el color de una ventana o de la pantalla |
| Put | Permite mover las ventanas con el teclado |
| Reflection | Agrega marcas de agua a las decoraciones (similar a Aero-Glass) |
| Screenshot | Captura la pantalla o regiones de la pantalla a un archivo de imagen |
| State | Configura transparencia y otras opciones gráficas de las ventanas |
| Trailfocus | Difumina las ventanas en segundo plano según su tiempo de inactividad |
| Mousegestures | Posibilita controlar el escritorio mediante “gestos” de mouse |
| Scripting | Para programar scripts que hagan uso de distintas facilidades de Compiz |
| Wallpaper | Distintas imágenes de fondo para cada cara del cubo 3D |
Aclaración: Este post fue publicado originalmente en la revista POWERUSR #45. TODOS LOS DERECHOS RESERVADOS. PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL SIN EL CONSENTIMIENTO EXPRESO DEL AUTOR. SE PERMITE EL ENLACE O LINKEO A ESTE POST SIN NINGÚN TIPO DE RESTRICCIONES.
Lista de ‘Consagrados’ Bloggers
14 Abril 2008
Todo blogger que se precie de tal debe postear listas. Y otra tradición entre los bloggers es linkear a otros blogs. Así que para estar a la altura, y matar dos pájaros de un tiro, armé esta lista de bloggers “Consagrados”. Todos ellos de los mejores en lo suyo, aunque muchos no tengan nada en común entre sí: empresarios, programadores, escritores, actores de cine. Y todos ellos comparten el hecho de que sus blogs se destacan y son particularmente interesantes, por distintas razones.
La selección fue difícil pero finalmente elegí once, como en un equipo de fútbol. Con estos 11 jugadores, cualquier equipo blogger saldría campeón
Pero no me dejen distraerlos más y vamos a la lista.
1) William Gibson, genial escritor de Ciencia Ficción, uno de los creadores
de la literatura “cyberpunk” y agudo ensayista.
2) Tim Berners-Lee, creó la World Wide Web en 1990. Como curiosidad, tanto su padre como
su madre eran matemáticos y trabajaron en el desarrollo del MARK I, una de las primeras computadoras de la historia.
3) Cory Doctorow, escritor, periodista y miembro del proyecto Creative Commons.
4) Ian McKellen, actor inglés, recordado principalmente por su encarnación de Gandalf en la trilogía de “El Señor de los Anillos”, dirigida por Peter Jackson.
5) Moby, cantante y músico electrónico norteamericano.
6) Michael Moore, cineasta y documentalista norteamericano, famoso por su estilo mordaz y su oposición al corporativismo y la corrupción.
7) Jeff Bridges, notable actor californiano muy recordado por la película The Big Lebowsky. Este blog se destaca por su aspecto visual, muy personal.
8) Richard Stallman, gurú de la programación y abanderado del software libre. Padre del proyecto GNU, componente vital de los modernos Sistemas Operativos basados en GNU/Linux, como Debian o Ubuntu.
9) Martín Varsavsky, empresario argentino, estudió en EE.UU. y actualmente reside en España. Fundador de varias empresas y emprendimientos con fines benéficos, actualmente se dedica principalmente a FON, una organización dedicada a brindar acceso inalámbrico a Internet en gran parte del mundo a sus miembros.
10) Blake Ross, joven programador norteamericano, principal creador y desarrollador de Mozilla Firefox, el mejor navegador web que existe en estos tiempos.
11) Scott Adams, dibujante y guionista autor de Dilbert, una tira cómica extremadamente popular por su irónica visión sobre el típico ambiente de oficina de las grandes empresas, enfocándose particularmente en el sector de IT, donde el protagonista de desempeña como desarrollador.






