HOWTO Xgl
De Gentoo Linux Wiki
| Kernel & Hardware • Red y Servicios • Portage • Relacionado con el Sistema • Servidor X • Juegos • Misceláneos |
| Explicación: Nota. |
|
Por ahora solo para nvidia, Gnome y KDE. |
Hola, escribo este pequeño manual para poner XGL sobre gnome con una gráfica nvidia. Me encantaría que la gente pudiera animarse para explicar como seria con ATI, así como en otros entornos gráficos. Pero antetodo por favor, que sea probado, es decir, que os haya funcionado a vosotros y no haberlo leído en una guía, ya que, al ser algo demasiado dinámico tiende a cambiar a una velocidad increíble.
Esta guía vale igualmente para Xorg-7.1 o Xorg-7.2, aunque es mejor actualizar a Xorg-7.2, ya que hay nuevas funcionalidades que aprovechan mejor los efectos de compiz.
Para quien no lo sepa XGL es un servidor de aplicaciones X con compiz como gestor de ventanas.
| Atención: Solo nvidia |
| Atención: KDE funciona con compiz 0.3.6 o mayor |
| Atención: Versión Alpha, inestable! |
Tabla de contenidos |
[editar] Pre-instalación
Uno de los requisitos indispensables es usar xorg modular o xorg 7. Así que deberemos de instalarla. Afortunadamente ha dejado de ser una beta, para estar liberada como estable. Tenéis la versión xorg-7.1 disponible.
Deberemos de añadir dos variables al make.conf, las cuales indican el soporte de periféricos y de gráfica deseamos compilar junto a las xorg7, y por ultimo agregar el USE opengl en caso de no haberlo agregado ya:
| Archivo: /etc/make.conf |
USE="... opengl" ... #En el caso de nvidia VIDEO_CARDS="nvidia fbded nv none" #En el caso de intel VIDEO_CARDS="i810 fbded vesa none" #En el caso de Ati VIDEO_CARDS="vesa fbded readeon fglrx" #Para todos INPUT_DEVICES="evdev keyboard mouse" |
A continuación actualizaremos nuestro sistema:
| Atención: Una vez pasado a Xorg7 si volvéis a Xorg6.8 se puede producir un daño irreparable en las librerías X11 |
| Código: Actualizar sistema |
# emerge -uavND world |
Sería recomendable probar que las xorg7 nos funcionan correctamente, para descartar un posible fallo originado por la actualización. Es muy importante tener en cuenta que es necesario emplear los drivers propietarios en lugar de los open source. Esto se traduce en que debéis de revisar la configuración en el fichero xorg.conf y poner el driver 'nvidia' en lugar del driver 'nv'. Una vez visto que funciona correctamente nuestra nueva Xorg7 deberemos de asegurarnos que tenemos aceleración gráfica:
| Código: Comprobar si disponemos de aceleración gráfica |
glxinfo | grep direct |
La respuesta debería de ser Yes, de responder NO deberemos de revisar nuestro fichero de configuración de nuestra gráfica:
- Para Nvidia.
- Para Intel(no disponible).
- Para Ati(no disponible).
[editar] Descargar el XGL
Para descargar el portage del xgl debemos de hacerlo mediante la herramienta subversion(sustituto del cvs):
| Código: Instalando subversion |
# echo "dev-util/subversion -nowebdav" >> /etc/portage/package.use # emerge subversion |
Indicamos que vamos a decirle al portage de gentoo que queremos exportar un portage propio:
| Archivo: /etc/make.conf |
... PORTDIR_OVERLAY="/usr/local/potage/xgl-overlay" |
Descargamos el portage del XGL:
| Código: Portage XGL |
# cd /usr/local/portage # svn co https://svn.hboeck.de/xgl-overlay/ xgl-overlay |
[editar] Instalamos XGL
Preparamos el portage para la instalación:
| Archivo: /etc/portage/package.keywords |
|
... >=x11-libs/libXScrnSaver-1.1.2 ~amd64 >=x11-app/doc-xorg-docs-1.3 ~amd64 >=x11-apps/xauth-1.0.2 ~amd64 >=x11-libs/libXcursor-1.1.8 ~amd64 >=x11-libs/libXfixes-4.0.3 ~amd64 >=x11-base/xorg-server-1.2.0 ~amd64 >=x11-libs/libdrm-2.3 ~amd64 >=x11-libs/libXfont-1.2.5 ~amd64 >=media-libs/mesa-6.5.2 ~amd64 >=x11-apps/mesa-progs-6.5.2 ~amd64 >=x11-apps/xinit-1.0.3 ~amd64 >=x11-libs/libXcomposite-0.3.1 ~amd64 >=x11-apps/xmodmap-1.0.2 ~amd64 >=x11-libs/libXdamage-1.1 ~amd64 >=x11-libs/libSM-1.0.2 ~amd64 >=x11-libs/pango-1.15.4 ~amd64 >=media-libs/glitz-0.5.6 ~amd64 x11-proto/glproto ~amd64 media-libs/mesa ~amd64 x11-base/xgl ~amd64 x11-wm/compiz ~amd64 x11-wm/compiz-extra ~amd64 x11-libs/cairo ~amd64 sys-apps/man ~amd64 x11-misc/util-macros ~amd64 x11-misc/xwinwrap ~amd64 >=x11-libs/libwnck-2.16 ~amd64 x11-libs/libdrm ~amd64 |
| Archivo: /etc/portage/package.keywords |
|
arquitecura x86 ... >=x11-libs/libXScrnSaver-1.1.2 ~x86 >=x11-app/doc-xorg-docs-1.3 ~x86 >=x11-apps/xauth-1.0.2 ~x86 >=x11-libs/libXcursor-1.1.8 ~x86 >=x11-libs/libXfixes-4.0.3 ~x86 >=x11-base/xorg-server-1.2.0 ~x86 >=x11-libs/libdrm-2.3 ~x86 >=x11-libs/libXfont-1.2.5 ~x86 >=media-libs/mesa-6.5.2 ~x86 >=x11-apps/mesa-progs-6.5.2 ~x86 >=x11-apps/xinit-1.0.3 ~x86 >=x11-libs/libXcomposite-0.3.1 ~x86 >=x11-apps/xmodmap-1.0.2 ~x86 >=x11-libs/libXdamage-1.1 ~x86 >=x11-libs/libSM-1.0.2 ~x86 >=media-libs/glitz-0.5.6 ~86 >=x11-libs/libXv-1.0.3 ~x86 x11-proto/glproto ~x86 x11-base/xgl ~x86 x11-wm/compiz ~x86 x11-wm/compiz-extra ~x86 x11-libs/cairo ~x86 sys-apps/man ~x86 x11-misc/util-macros ~x86 x11-misc/xwinwrap ~x86 >=x11-libs/libwnck-2.16 ~x86 |
| Archivo: /etc/portage/package.use |
... x11-libs/cairo svg glitz pdf x11-wm/compiz gnome kde svg |
Comenzamos instalando las dependencias:
| Código: Instalamos Dependencias |
# emerge -av pango gtk+ cairo glproto |
Nota: al comenzar a instalar os debe de confirmar que los paquetes se van a instalar siguiendo las instrucciones de /usr/local/portage/xgl-overylay es decir, del portage de XGL si no lo hiciera, es que algo ha funcionado incorrectamente. Responder a la pregunta con Yes.
Acontinuación instalaremos Xgl:
| Código: Instalación Xgl |
En caso de ser Nvidia: # emerge -av mesa # eselect opengl set nvidia # emerge -av xgl compiz compiz-extra En caso de no ser Nvidia: # echo "x11-libs/libdrm ~nuestraplataforma" >> /etc/portage/package.keywords # emerge -av libdrm mesa # emerge -av xgl compiz compiz-extra |
Por ultimo chequeamos las dependencias
# equery d cairo
Instalamos la utilidad que permitirá la gestión de los módulos de la Xgl:
# emerge gconf-editor
[editar] Actualizar XGL
Para actualizar xgl únicamente deberemos de seguir los siguientes dos pasos:
| Código: Actualizar xgl |
# cd /usr/local/portage/xgl-overlay/ # svn up |
Para mas información, man svn.
[editar] Configuramos XGL
Comencemos con la configuración de XGL. Desde una consola(consola, no perteneciente a las X) sin tener mas de una sesión de X usandola ejecutamos lo siguiente:
En el caso de ser Nvidia:
# Xgl :1 -ac -accel glx:pbuffer -accel xv
En el caso de ser otra grafica no Nvidia:
# Xgl :1 -ac -accel glx:pbuffer -accel xv:pbuffer
Como veis el :1 indica que lo abra en una segunda terminal de las x, es decir, XGL se cargara en la consola Control+Alt+F8.
Una vez hecho, abrimos otra consola no perteneciente a las X y ejecutamos lo siguiente(Si no se dispone de xterm use cualquier otra terminal de X):
# DISPLAY=:1 xterm
Esto hará aparecer una terminal en las Xgl, pero como se habrá podido dar cuenta, la ventana se encuentra en la esquina superior izquierda sin marco, no se preocupe es normal.
Desde esa consola de las Xgl ejecute en una única linea:
| Código: En consola XGL |
# LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ DISPLAY=:1 compiz --remplaze gconf & DISPLAY=:1 gnome-window-decorator & gconf-editor |
Añadimos los módulos de Xgl a compiz, para ello nos habrá aparecido la ventana de gconf-editor que ejecutamos con anterioridad.
Para ello en la ventana del gedit-editor pincharemos sobre:
/ -> apps -> compiz -> general -> allscreens -> options
En el directorio nos aparecerá active_plugins con valor [gconf]. Pinchando sobre él con el botón derecho del ratón, deberemos de elegir editar clave. Una vez hecho se nos abrirá un nuevo menú en el cual debemos de añadir en orden los siguientes plugins:
decoration, wobbly, fade, switcher, move, resize, place, minimize, cube, rotate, zoom y scale.
Tal como se muestra en la siguiente imagen.
Empezaremos ya a notar ciertos efectos, como el cubo y el borde de las ventanas.
Una vez hecho esto, deberemos de cerrar XGL desde la consola que lo ejecutamos en el primer paso, para cerrarlo, estaremos en la consola donde lanzamos XGL y presionaremos Control+C.
Nota: si no nos apareciera el directorio compiz dentro del gconf-editor, desde una terminal no de las X, deberemos de ejecutar lo siguiente:
# export GCONF_CONFIG_SOURCE="xml:merged:/etc/gconf/gconf.xml.defaults" # gconftool-2 --makefile-install-rule /usr/etc/gconf/schemas/compiz.schemas
Y volver a seguir los pasos desde el principio de este [Configuramos_XGL punto].
[editar] GNOME
Se debe de disponer del entorno gráfico GNOME.
Primero quitaremos cualquier valor a la variable WINDOW_MANAGER cuyo valor suele ser el de metacity: WINDOW_MANAGER="/usr/bin/metacity", ya que, sera compiz y no metacity(o el que usemos) el gestor de ventanas.
Para terminar crearemos un script llamado startcompiz.sh con permisos de lectura y ejecución.
| Código: Crear script |
# touch startcompiz.sh # chmod 755 startcompiz.sh |
El script sera el siguiente:
| Archivo: startcompiz.sh |
#!/bin/sh LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ compiz --replace gconf & gtk-window-decorator |
Script de incio para tarjetas radeon de drivers de código abierto:
| Archivo: startcompiz.sh |
#!/bin/sh LIBGL_ALWAYS_INDIRECT=TRUE compiz --replace gconf & gtk-window-decorator |
Y lo añadiremos al arranque de GNOME mediante:
Preferencias -> Sesiones -> Programa de inicio -> Añadir
Una vez añadido el script al inicio con un valor de 50 o superior. Crearemos un script de arranque y lanzamos XGL:
| Código: Script de arranque |
# touch startglx # chmod 555 startglx (En el caso de nvidia) # echo "/usr/bin/Xgl -ac -accel glx:pbuffer -accel xv" > startglx (En el caso de no nvidia) # echo "/urs/bin/Xgl -ac -accel glx:pbuffer -accel xv:pbuffer" > startglx # ./startglx |
Ya deberías de tener GNOME con los efectos del XGL.
| Código: Compiz settings manager |
emerge -av compiz-settings-manager
Compiz settings manager es una pequeña aplicación que permite configurar y/o desactivar/activar, extensiones de compiz. Por el momento se ha dejado de desarrollar.
[editar] KDE
En KDE basta con hacer un enlace a una aplicación. Es muy fácil haciendo click en el escritorio --> nuevo --> enlace a aplicación.
Le damos un nombre: Xgl(queda con extensión .desktop) por ejemplo. Y en el comando ponemos: compiz --replace decoration wobbly fade minimize cube rotate zoom scale move resize place switcher & gnome-window-decorator
Por algún motivo el kde-window-decorator no funciona, pero el de GNOME se ve bastante bonito.
Luego ponemos ese enlace en: /home/<usuario>/.kde/Autostart
De todos modos lo pueden dejar como enlace en el escritorio y activarlo desde allí, ya que si quieren entrar con la Xorg se le va a colgar, mientras que de esta manera ustedes pueden decidir si activan los efectos o no.
[editar] Gestor Gráfico
[editar] GDM
Para poder usar XGL con GDM únicamente deberéis sustituir el valor de command=X... por command=/usr/bin/Xgl -ac -accel glx:pbuffer -accel xv en el fichero /etc/X11/gdm/gdm.conf:
| Archivo: /etc/X11/gdm/gdm.conf |
... command=/usr/bin/Xgl -ac -accel glx:pbuffer -accel xv ... command=/usr/bin/Xgl -ac -accel glx:pbuffer -accel xv ... command=/usr/bin/Xgl -ac -accel glx:pbuffer -accel xv ... |
Si la gráfica no fuera NVIDIA la linea a añadir seria: Xgl -ac -accel glx:pbuffer -accel xv:pbuffer.
[editar] KDM
Para KDM sólo hace falta cambiar el valor por defecto: ServerCmd=/usr/bin/X -br
a
ServerCmd=/usr/bin/Xgl -br -ac -accel glx:pbuffer -accel xv
en el archivo: /usr/kde/3.5/share/config/kdm/kdmrc
[editar] XDM
No disponible
[editar] Scripts utiles
[editar] Script para arreglar la rotación a áreas de trabajo
Si cliqueas en uno de tus escritorios desde el "Selector de áreas de trabajo" en tu panel y el cubo no rota de manera automática, entonces puedes crear un script para arreglaro. Acuerdate que tendrás que ejecutar este script cada vez que el "Selector de áreas de trabajo" no funcione. Crea el script de esta manera:
su root gedit /usr/bin/fixws
Luego copia y pega las siguientes lineas en el editor de textos ( en esté caso gedit). Una vez que hayas terminado puedes salvar el archivo, y ejecutarlo tipeando "fixws" dentro de cualquier terminal.
#!/bin/sh # Compiz workspace switcher fix gconftool-2 -s /apps/compiz/general/screen0/options/number_of_desktops "2" --type=int && sleep 1 && gconftool-2 -s /apps/compiz/general/screen0/options/number_of_desktops "1" --type=int
El tiemp "sleep" es necesario para quye Compiz se de cuenta de la configuración adecuada!
También puedes abrir el editor gconf, y configurar la siguiente clave a "1" (sin las comillas):
/apps/metacity/general/num_workspaces
[editar] Script para arreglar problemas con inicio de juegos
Este sript funciona si estás usando Compiz 0.3.6 o mayor desde el portage Aseguraté de reemplazar "et" con el comando que inicie tu juego, ej. doom3.
#!/bin/bash # Este es un pequeño script que deshabilita Compiz, luego # ejecuta enemy territory, y al salir de la partida habilita Compiz # nuevamentamente. metacity --replace & sleep 1 et && startcompiz.sh
[editar] Combinación de teclas
- Composite: cuando tenemos muchas ventanas abiertas(mas de 1) redimensiona las ventanas y nos muestra todas ellas, pinchamos sobre la que queremos y nos la trae al frente volviendo a redimensionar las ventanas como estaban. Tecla: F11 o F12 también llevando el ratón a la esquina superior izquierda.
- Cambiar de escritorio: permite cambiar de escritorio en forma 3D. Tecla: Control+Alt+Flecha
- Mover aplicación a otro escritorio: Tecla: Control+Alt+Shift+Flecha teniendo seleccionada la aplicación.
- Bordes: cuando tenemos dos ventanas sin maximizar y acercamos los bordes si lo hacemos poco a poco veremos, que la aplicación se dobla de las puntas como si no pudiera pasar, como si le estorbara. Tecla: Control+ArrastrarVentana
- Zoom: hacer zoom de forma 3d. Tecla: SuperTecla+BotonDerechoRaton
- Zoom parcial: igual que Zoom pero poco a poco. Tecla: ""SuperTecla+Rueda ratón.
- Transparencia en ventanas: permite dar una tonalidad de transparencia sobre la ventana. Tecla: Alt+RuedaRaton sobre la aplicación.
- Efecto agua: El cursor hace efecto agua conforme lo mueves. Tecla: SuperTecla+control. Nota: el orden es importante.
- Lluvia: Shift+F9
- Ralentizar: Shift+F10.
Nota:: Super tecla equivalente a tecla Windows o tecla Mac.
[editar] Documentación
[editar] Créditos
- Portado al wiki por g0su
- Mantenedores: g0su
- Revisión léxico-gramatical: Figueiro Mariano
- Agradecimientos: gentoo-wiki.com
