Wayland

De ArchwikiFR

Wayland est un nouveau protocole de fenêtrage pour Linux (très grossièrement, il regroupe système X et compositeur et se veut donc plus simple et efficace). Pour plus d'informations sur Wayland, consultez le site du projet.

Attention: Wayland est en cours de développement. Le support ne peut pas être garanti et il peut ne pas fonctionner comme prévu. La suite de cette page est plus une présentation ou un moyen de tester rapidement.

Sommaire

Exigences

Pour le moment, Wayland fonctionne seulement sur un système utilisant KMS (donc pas de pilotes propriétaires tels que nvidia ou catalyst).

Installation

La version stable est disponible dans les dépôts et devrait déjà être installée sur votre système. Si ce n'est pas le cas:

pacman -S wayland

La version de développement est disponible depuis AUR et requiert wayland-git et mesa-full.

Note: Si vous passez par les versions de développement, Il n'est pas impossible que certaines compilations ou dépendances nécessitent de récupérer certaines dépendances depuis [testing] (pour info, j'ai eu le cas avec libdrm: 2.4.42 requise lors de la compilation de mesa-full, alors que la version installée, 2.4.41, était théoriquement suffisante d'après le PKGBUILD).

Utilisation

Comme Wayland est seulement une bibliothèque, il est parfaitement inutile seul. Pour l'utiliser, vous avez besoin d'un compositeur de fenêtres (comme Weston), d'applications de démonstration Weston, QT5 (ou Qt4 avec QPA activé) avec le plugin Wayland, et/ou GTK+ avec le support de Wayland, etc..

Weston

Weston est une mise en œuvre du compositeur Wayland utilisé comme référence et pour les cas d'usage avec un certain nombre d'applications de démonstration (terminal, afficheur d'images, liseuse pdf, etc.).

Note: Comprenez qu'en l'état vous ne pourrez pas lancer vos applications graphiques usuelles qui sont des clients X, mais seulement les applications de démonstration de weston.

Installation

Vous pouvez installer weston depuis [community] (si vous avez installé wayland):

pacman -S weston

ou sa version de développement, weston-git si vous utilisez wayland-git, depuis AUR.

Lancement

Maintenant que tous les composants sont installés vous devriez pouvoir tester. Passer sur un tty avec Ctrl+Alt+F1 à F6 et lancez:

weston-launch

Désormais vous pouvez tester les applications de démonstration:

  • lancer un émulateur de terminal:
weston-terminal
  • afficher des images:
weston-image image1.jpg image2.jpg2
  • visionner des pdf:
weston-pdf
  • déplacer des fleurs autour de l'écran:
weston-flower
  • tester le taux d'images par seconde / frame protocole (lance glxgears):
weston-gears
  • avoir de la fumée suivant votre curseur
weston-smoke
  • etc.
Raccourcis clavier (super = touche windows)
Combinaison Action
Ctrl + Alt + Backspace Quitter weston
Super + Scroll / PageUpDown Zoom dans le bureau
Super + Tab Basculer entre les fenêtres

Configuration

Cet environnement de démonstration peut être configuré au moyen d'un fichier weston.ini situé dans $XDG_CONFIG_HOME/weston.ini, $HOME/.config/weston.ini ou ./weston.ini.

Le fichier suivant est tiré du dépôt git de wayland:

Fichier: ~/.config/weston.ini
[core]
#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

#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

[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/google-chrome.png
path=/usr/bin/google-chrome

[launcher]
icon=/usr/share/icons/gnome/24x24/apps/arts.png
path=./clients/flower

[screensaver]
# Uncomment path to disable screensaver
path=/usr/libexec/weston-screensaver
duration=600

[input-method]
path=/usr/libexec/weston-keyboard

#[output]
#name=LVDS1
#mode=1680x1050
#transform=90

#[output]
#name=VGA1
#modeline=173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
#transform=flipped

#[output]
#name=X1
#mode=1024x768
#transform=flipped-270

Utiliser man weston.ini pour voir le détail des sections et configurations possibles, rapidement:

  • core: modules à démarrer
  • shell: personnalisation du bureau
  • launcher: ajouter des lanceurs au panneau
  • screensaver: configuration de l'économiseur d'écran
  • output: configuration de l'écran
  • input-method: périphérique d'entrée (clavier)
  • keyboard: disposition du clavier et configuration
  • terminal: personnalisation de la console
Astuce: On peut ainsi rajouter une section pour récupérer une disposition de clavier français (pour le cas où vous n'auriez pas remarqué que, bien entendu, weston se fiche de votre configuration de Xorg et donc que vous êtes en qwerty ^^):
[keyboard]
keymap_layout=fr

XWayland

TODO: Non testé... Permet de récupérer toutes vos applications habituelles (qui sont des clients X) en faisant tourner un serveur X par dessus weston. Cf. xwayland-git sur AUR + XWayland (en).

Autres environnements graphiques

TODO: KDE (des travaux existent pour KDE4.1* mais il faudra compter plus probablement pour KDE5 avec Qt5), Gnome (progressivement via GTK3), Enlightenment (wayland est déjà supporté par EFL), etc., ont dans leurs projets de fournir des environnements supportant wayland.

Liens

Outils personnels
Autres langues