Wayland (Español)
Wayland es un nuevo protocolo para gestionar ventanas para Linux. La utilización de Wayland requiere cambios y reinstalación de partes del software del sistema. Para obtener más información sobre Wayland vea esta página.
Requisitos
Actualmente Wayland solo funciona en sistemas que utilizan KMS.
Instalación
Wayland es muy posible que ya se encuentre instalado en su sistema dado que es una dependencia indirecta de gtk2 y gtk3. Si no está instalado, busque el paquete wayland en los repositorios oficiales.
Utilización
Como Wayland es solo una biblioteca, es inoperativo por sí mismo. Para usarlo, necesita un compositor (como Weston), aplicaciones demo de Weston, QT5 con complementos de Wayland y/o GTK+ con soporte para Wayland.
Weston
Instalación
Necesita instalar weston disponible en los repositorios oficiales.
Utilización
Combinación | Acción |
---|---|
Ctrl + Alt + Retroceso | Salir de Weston |
Super + Bloq Despl (o RePág/AvPág ) | Zoom del escritorio |
Super + Tab | Cambiar entre ventanas |
Super + LMB | Mover la ventana |
Super + MMB | Redimensionar la ventana |
Super + RMB | ¡Girar la ventana! |
Super + Tab | Cambiar entre ventanas |
Super + K | Forzar el cierre de la ventana activa |
Super + KeyUp/KeyDown | Cambiar entre el anterior/siguiente espacio de trabajo |
Super + Mayús + KeyUp/KeyDown | Grab Current Window and Switch Workspace |
Super + Fn | Cambiar entre espacios de trabajo n |
Ahora que Wayland se ha instalado con sus requisitos, se está listo para probarlo.
El usuario necesita estar en el grupo de vídeo para iniciar Weston; esta orden se supone que no se ejecuta como root y ¡si lo hace puede congelar su VT!
Es posible ejecutar Weston dentro de una sesión X en ejecución:
$ weston
Por otra parte, para poner en marcha de forma nativa Weston, pruebe cambiando de terminal y ejecutar:
$ weston-launch
Luego, en una TTY dentro de Weston, puede ejecutar las demos.
Para ejecutar un emulador de terminal :
$ weston-terminal
Para mover flores alrededor de la pantalla :
$ weston-flower
Para poner a prueba el protocolo frame (se ejecuta glxgears
):
$ weston-gears
Para visualizar imágenes:
$ weston-image image1.jpg image2.jpg...
Para visualizar archivos PDF :
$ weston-view doc1.pdf doc2.pdf...
Configuración
He aquí un archivo de configuración de ejemplo para la distribución del teclado, la selección de módulos y modificaciones de la interfaz de usuario. Vea weston.ini(5) para obtener los detalles completos:
~/.config/weston.ini
[core] ### Descomentar esta línea para dar soporte a «xwayland» ### #modules=desktop-shell.so,xwayland.so [shell] background-image=/usr/share/backgrounds/gnome/Aqua.jpg background-color=0xff002244 panel-color=0x90ff0000 locking=true animation=zoom #binding-modifier=ctrl #num-workspaces=6 ### Para los temas del cursor instale el paquete «xcursor-themes» desde Extra ### #cursor-theme=whiteglass #cursor-size=24 ### Opciones de tablet ### #lockscreen-icon=/usr/share/icons/gnome/256x256/actions/lock.png #lockscreen=/usr/share/backgrounds/gnome/Garden.jpg #homescreen=/usr/share/backgrounds/gnome/Blinds.jpg #animation=fade [keyboard] keymap_rules=evdev #keymap_layout=es #keymap_options=caps:ctrl_modifier,shift:both_capslock_cancel ### keymap_options obtenidas desde /usr/share/X11/xkb/rules/base.lst ### [terminal] #font=DroidSansMono #font-size=14 [launcher] icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png path=/usr/bin/gnome-terminal [launcher] icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png path=/usr/bin/weston-terminal [launcher] icon=/usr/share/icons/hicolor/24x24/apps/firefox.png path=/usr/bin/firefox [launcher] icon=/usr/share/icons/gnome/24x24/apps/arts.png path=./clients/flower [screensaver] # Descomentar path para desactivar el salvapantallas path=/usr/libexec/weston-screensaver duration=600 [input-method] path=/usr/libexec/weston-keyboard ### Para pantallas de portátiles ### #[output] #name=LVDS1 #mode=1680x1050 #transform=90 #[output] #name=VGA1 # Lo siguiente establece la modalidad con un modeline, puede obtener modeline para sus resoluciones preferidas mediante la utilidad cvt #mode=173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync #transform=flipped #[output] #name=X1 #mode=1024x768 #transform=flipped-270
Configuración mínima de weston.ini
:
~/.config/weston.ini
[core] modules=desktop-shell.so,xwayland.so [keyboard] keymap_layout=es [launcher] icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png path=/usr/bin/weston-terminal [launcher] icon=/usr/share/icons/hicolor/24x24/apps/firefox.png path=/usr/bin/firefox [output] name=LVDS1 mode=1680x1050 transform=90
XWayland
XWayland es un servidor XOrg y se compila igual que al que sustituye. La única diferencia es que se obtiene de la rama Wayland del repositorio xorg-server y como tal tiene las extensiones de Wayland. Estas extensiones permiten que se ejecute como un cliente de Weston.
Cuando se quiere ejecutar una aplicación X desde Weston, se gira hacia el servidor X modificado para atender la solicitud.
Si piensa ejecutar aplicaciones nativas de X dentro de Wayland, entonce tiene que instalar xorg-server-devAUR. Después de eso, cree o modifique el siguiente archivo de configuración:
~/.config/weston.ini
[core] modules=xwayland.so,desktop-shell.so
A partir de ahora se podrían también ejecutar aplicaciones X en una especie de «modo de compatibilidad». El apoyo definitivo a XWayland debería estar disponible con la liberación de la versión 1.16 del servidor X, que no verá la luz hasta mediados de 2014.
Los paquetes de AUR pueden requerir algunas modificaciones con el fin de compilar correctamente, para lo cual (mire este hilo).
Bibliotecas GUI
(Veánse los detalles en la página oficial)
GTK+
Se necesita instalar gtk3 disponible en los repositorios oficiales, que ahora tiene el backend Wayland activado.
Con GTK+ 3.0, GTK+ proporciona apoyo para multiples backends ejecutables en tiempo real que pueden cambiar entre sí, de la misma manera que Qt puede hacerlo con lighthouse.
Cuando ambos backends, Wayland y X, están activados, GTK+ de forma predeterminada utiliza el backend X11, pero esto puede ser anulado por la modificación de una variable de entorno:
GDK_BACKEND=wayland
.
Qt5
Tiene que hacerse o bien recompilando qt5-base con -opengl es2 (actualmente no funciona, véase https://lists.qt-project.org/pipermail/development/2013-December/014789.html ) o bien utilizando {{AUR|qt5-base-git}. Después compile el complemento qt5-wayland-gitAUR de wayland.
Para ejecutar una aplicación Qt5 con el complemento de Wayland, establezca QT_QPA_PLATFORM=wayland-egl
.
Clutter
El conjunto de herramientas de Clutter tiene un backend Wayland que permite que se ejecute como cliente de Wayland. El backend está activado en el paquete oficial disponible en Extra.
Para ejecutar una aplicación de Clutter en Wayland, establezca CLUTTER_BACKEND=wayland
.
SDL
El apoyo experimental a Wayland se encuentra ahora en SDL 2.0.2 y está activado por defecto en Arch Linux.
Para ejecutar una aplicación de SDL en Wayland, establezca SDL_VIDEODRIVER=wayland
.
EFL
EFL tiene soporte completo para Wayland.
Para ejecutar una aplicación de EFL en Wayland, vea la página del proyecto de Wayland.
Gestores de ventanas y shells de escritorios
KDE
KDE 4.11 beta permite iniciar KWin bajo el compositor del sistema Wayland. Actualmente no existe soporte para el uso de KWin como compositor de sesión.
GNOME
Desde la versión 3.10, Gnome tiene soporte experimental Wayland. Para iniciar una sesión en Wayland se debe seleccionar 'GNOME como método de sesión, este debería ser el valor predeterminado al instalar Gnome el cual utiliza Wayland.
Si es necesario ejecutar aplicaciones que requieren un servidor X, el paquete xorg-xwayland puede solventar esta necesidad al ejecutar una sesión en Wayland.
i3
Algunos desarrolladores de i3 han esbozado un proyecto completamente nuevo para implementar un complemento de shell para Weston a fin de conservar las mismas características y estilo de i3.
Wayland puro
/usr/local
. Puede romper el sistema. Considérese advertido.Primero instale un sistema base de Arch Linux con base y base-devel. No instale xorg o cualquiera de sus bibliotecas.
Wayland, DRM, Pixman, libxkbcommon
$ pacman -S wayland libdrm pixman libxkbcommon
Mesa
$ sudo pacman -S python2 libxml2 llvm $ git clone git://anongit.freedesktop.org/mesa/mesa $ cd mesa $ CFLAGS=-DMESA_EGL_NO_X11_HEADERS ./autogen.sh --prefix=/usr/local --enable-gles2 --disable-gallium-egl --with-egl-platforms=wayland,drm --enable-gbm --enable-shared-glapi --with-gallium-drivers=r300,r600,swrast,nouveau --disable-glx --disable-xlib $ make $ sudo make install
cairo
$ pacman -S libpng $ git clone git://anongit.freedesktop.org/cairo $ cd cairo $ CFLAGS=-DMESA_EGL_NO_X11_HEADERS ./autogen.sh --prefix=/usr/local/ --disable-xcb --enable-glesv2 $ make $ sudo make install
weston
$ sudo pacman -S gegl mtdev (selecciones mesa-gl en options para libgl) $ git clone git://anongit.freedesktop.org/wayland/weston $ cd weston/ $ CFLAGS="-DMESA_EGL_NO_X11_HEADERS" ./autogen.sh --prefix=/usr/local/ --with-cairo-glesv2 --disable-xwayland --disable-x11-compositor --disable-xwayland-test $ make $ sudo make install
Solución de problemas
LLVM assertion failure
Si obtiene un error de «LLVM assertion failure», necesita recompilar mesa sin Gallium LLVM hasta que se solucione este problema.
Esto puede implicar la desactivación de algunos controladores que requiere LLVM. También puede tratar de exportar lo siguiente, si tiene problemas con los controladores del hardware:
$ export EGL_DRIVER=/usr/lib/egl/egl_gallium.so