| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| wayland [Le 28/05/2017, 01:18] – balise italique Roschan | wayland [Le 01/02/2026, 15:48] (Version actuelle) – réorganisation krodelabestiole |
|---|
| {{tag>carte_graphique système}} | {{tag>carte_graphique système}} |
| ----- | |
| {{ https://wayland.freedesktop.org/wayland.png?70|}} | |
| |
| | {{ https://wayland.freedesktop.org/wayland.png?80|Icône de Wayland}} |
| ====== Wayland ====== | ====== Wayland ====== |
| **Wayland** est un **protocole** permettant à un **compositeur** de communiquer avec ses clients ; un [[https://fr.wikipedia.org/wiki/Compositeur_(logiciel)|compositeur]] étant un [[gestionnaire de fenêtres]] utilisant un tampon en mémoire pour gérer chaque fenêtre et y appliquer des effets visuels. | |
| |
| Wayland est aussi le nom de la librairie implémentant ce protocole. | **[[wpfr>Wayland]]** est un **protocole** permettant à un **compositeur** de communiquer avec ses clients. Un [[wpfr>Compositeur_(logiciel)|compositeur]] est un [[gestionnaire de fenêtres]] qui utilise un tampon en mémoire pour gérer chaque fenêtre et y appliquer des effets visuels, et les clients du compositeur sont les fenêtres à afficher.\\ |
| | **Wayland** est aussi le nom de la bibliothèque logicielle implémentant ce protocole. |
| |
| Les [[environnements]] GNU/Linux majeurs, tels que Gnome et KDE, supportent ou prévoient de supporter Wayland. Un compositeur nommé [[#Weston|Weston]] a été développé en même temps que Wayland pour servir de référence en terme d'implémentation du protocole. | **Wayland** remplace l'ancien serveur d'affichage **[[:xorg|X.org]]**. Il apporte des performances, des fonctionnalités, et un niveau de sécurité adapté à un système moderne. Il est donc le protocole d'affichage par défaut de la [[:ubuntu|variante classique]] ([[:GNOME]]) d'Ubuntu. |
| |
| Une **couche de compatibilité, XWayland**, permet de faire fonctionner la plupart des applications pour [[Xorg]] avec Wayland. | Une couche de compatibilité, **XWayland**, permet de faire fonctionner les applications pour [[:xorg|X.org]] avec Wayland. Les anciennes applications peuvent donc utiliser **Wayland** par ce biais. Un [[#environnements_compatibles|environnement qui supporte ce protocole]] ([[:GNOME]], [[:KDE]], [[:Enlightenment]] ...) est cependant nécessaire. |
| |
| ===== Pourquoi Wayland ? ===== | ==== Pourquoi Wayland ? ==== |
| |
| Jusqu'à présent, l'affichage était géré par [[Xorg]], un logiciel proposant une implémentation libre d'un protocole (X11) datant des années 80. | Jusqu'à présent, l'affichage était géré par **[[:xorg|X.org]]**, un logiciel proposant une implémentation libre du protocole **[[wpfr>X_Window_System|X11]]**, celui-ci datant des années 1980. |
| |
| Les usages ont beaucoup changé depuis, avec la généralisation des compositeurs graphiques avec des effets visuels avancés pour afficher les fenêtres, et donc un rendu complexe. Cela n'était pas du tout optimal, le protocole X11 n'ayant évidemment pas été conçu pour ça. | Les usages ont évidemment beaucoup changé depuis, avec entre autre la généralisation d'effets visuels avancés, et donc un rendu complexe pour les interfaces graphiques. **X11** n'a pas été conçu pour ce genre de rendu. |
| |
| De plus, X11 pose un problème de **sécurité**, puisque les informations sont échangées (entre les fenêtres/applications) sans aucun souci de confidentialité, autorisant des applications à en "espionner" d'autres. | De plus, **X11** pose de sérieux problèmes de **sécurité**, puisque les informations sont échangées sans aucun souci de confidentialité entre les différentes fenêtres, et donc les différentes applications, autorisant une application à en "espionner" une autre. |
| |
| Wayland lui, isole les entrées/sorties de chaque fenêtre, et limite la quantité de code exécutée en tant que //root//. | De son côté **Wayland** gère les entrées et sorties de chaque fenêtre en les isolant, et limite la quantité de code exécuté en tant que //[[:utilisateur#comptes_des_usagers_compte_superutilisateur_et_comptes_systemes|root]]//.((Pour plus de détails, voir [[https://forum.ubuntu-fr.org/viewtopic.php?pid=21783378#p21783378|ces explications très complètes d'un développeur d'Ubuntu]] sur le forum.)) |
| |
| L'architecture de Wayland optimise le fonctionnement des compositeurs, et facilite le rendu aujourd'hui complexe de l'image des fenêtres, en sécurité et avec de **meilleures performances**. | L'architecture de **Wayland** est optimisée pour le fonctionnement des compositeurs, et facilite le rendu aujourd'hui complexe de l'image des fenêtres, en toute sécurité et avec de meilleures performances. |
| |
| ===== Pré-requis ===== | ===== Utilisation ==== |
| |
| Wayland fonctionne seulement avec les systèmes utilisant KMS ([[https://fr.wikipedia.org/wiki/Kernel-based_mode-setting|Kernel-based mode-setting]]), une fonctionnalité du noyau dépendant entre autres du pilote de carte graphique utilisé. | ==== Ouvrir une session avec Wayland ==== |
| |
| Un compositeur implémentant Wayland ([[Mutter]], [[Kwin]], [[Enlightenment]], [[#Weston]]...) est aussi nécessaire (sinon Wayland tout seul ne fait rien, et c'est toujours un serveur X qui serait utilisé). | **Wayland** est utilisé par défaut sur Ubuntu. |
| |
| Les pilotes de cartes graphiques implémentent pour la plupart une API (interface de programmation) nommée GBM (//Generic Buffer Management//), à l'exception des pilotes propriétaires nVidia qui implémentent dans leur coin [[http://www.phoronix.com/scan.php?page=news_item&px=XDC2016-Device-Memory-API|EGLStreams]], EGLStreams n'étant pas supportée par tous les compositeurs existants (Sway et Mutter semblent être les seuls au moment de la rédaction de cet article). | <note tip> |
| | Pour choisir d'ouvrir une [[:session utilisateur|session]] avec **Wayland** ou **[[:xorg|X.org]]**, voir le chapitre //[[:fenetre_de_connexion#Gestion de Wayland]]//. |
| | </note> |
| |
| ===== Environnements ===== | ==== Connaître le protocole de gestion de fenêtrage actif ==== |
| |
| Les [[environnements]] de bureau majeurs suivants supportent Wayland : | La commande ci-dessous devrait retourner soit ''x11'' soit ''wayland'' : |
| | echo $XDG_SESSION_TYPE |
| |
| ^ [[Gnome Shell]] | Environnement par défaut d'[[Ubuntu Gnome]] | | ==== Weston ==== |
| ^ [[Enlightenment]] | Seule la version E17 est disponible dans les dépôts officiels | | |
| ^ [[KDE Plasma]] | Environnement par défaut d'[[Kubuntu]] | | |
| ^ Liri Shell | Bureau du projet Liri OS (non disponible sur Ubuntu) | | |
| ^ sway | [[gestionnaire de fenêtres]] en mosaïque (//tiling//) pour Wayland, héritier de i3 | | |
| |
| Wayland est aussi très utilisé dans le domaine des **smartphones avec Linux** (%%Plasma Mobile, Tizen OS, Sailfish OS%%), et même des **montres connectées %%GNU/Linux%%** ([[https://asteroidos.org/|Asteroid OS]]) ! | [[:Weston]] est l'implémentation de référence d'un [[:gestionnaire de fenêtres|gestionnaire de fenêtre]] avec composition graphique pour Wayland. |
| |
| D'autres [[gestionnaires de fenêtres]] moins répandus (et donc aussi absents des dépôts), ainsi que des environnements spécifiques à certaines utilisations marginales, ne sont pas détaillés ici. | === Ce que nous apprend Weston === |
| ===== Librairies graphiques ===== | |
| |
| Ces informations sont fournies à titre indicatif, mais un système distribué nativement avec une session labellisée "Wayland" (//comme la session Wayland d'[[Ubuntu Gnome]] depuis sa version 17.04 par exemple//) devrait théoriquement gérer tout seul ces configurations. | En matière de performances, on voit que les fenêtres peuvent être pivotées, animées, zoomées, leurs transparences modifiées, etc. bref, des effets de composition plutôt complexes. Pourtant, Weston reste très rapide, fluide et léger en mémoire. En comparaison, les temps de réactions des applications utilisant XWayland se ressentent d'ailleurs parfois. |
| |
| === GTK+ 3 === | Avec **Wayland**, l'enregistrement de l'écran (capture photo ou vidéo) //doit// être géré par l'environnement, alors qu'il était jusqu'à présent indépendant de l'environnement utilisé. |
| Régler la variable d'environnement ''GDK_BACKEND=wayland''. | |
| |
| GTK+ 3 est la librairie utilisée par les applications des environnements [[GNOME]], [[Mate]], [[Xfce]], [[Cinnamon]], [[Budgie]], ... | Il s'agit là d'une question de sécurité : les applications n'ayant pas la possibilité de "connaître" la position et le contenu des fenêtres de leurs voisines avec Wayland, ces informations doivent être "demandées" à l'environnement (et notamment au compositeur en ce qui concerne les fenêtres). |
| |
| === Qt 5 === | ==== Détecter les applications tournant sur Xwayland ==== |
| Pour faire fonctionner une application Qt 5 avec le plugin Wayland, régler la variable d'environnement ''QT_QPA_PLATFORM=wayland-egl'' (le paquet fournissant le plugin devant être installé). | |
| |
| [[Qt]] est la librairie utilisée entre autres par les environnements [[KDE Plasma]], [[LXQt]], ou encore l'interface de LiriOS (non disponible pour Ubuntu). | La commande ''[[man>xlsclients]]'' liste les applications tournant sous Xwayland. |
| |
| === Clutter === | Une astuce consiste aussi à installer [[:tutoriel:comment_installer_un_paquet|xeyes]], lancer l'application, et survoler avec le curseur la fenêtre qu'on souhaite tester : si les yeux suivent le curseur, alors l'application tourne sous Xwayland.((Merci à [[https://medium.com/@bugaevc/how-to-easily-determine-if-an-app-runs-on-xwayland-or-on-wayland-natively-8191b506ab9a|Sergey Bugaev]] pour l'astuce.)) |
| |
| Régler la variable d'environnement ''CLUTTER_BACKEND=wayland''. | ===== Environnements compatibles ===== |
| |
| Clutter est entre autres utilisé pour les parties "pas en GTK+" de [[Gnome Shell]]. | Un **compositeur** implémentant le protocole **Wayland** ([[:Mutter]], [[:Kwin]], [[:Enlightenment]], [[:gestionnaire_de_fenetres#Sway]], [[:Weston]]...) est nécessaire (**Wayland** seul ne fait rien : sans compositeur **[[:xorg|X.org]]** serait toujours utilisé). |
| |
| === SDL === | Les [[:environnements]] de bureau modernes supportent **Wayland** : |
| |
| Un support expérimental de Wayland existe depuis SDL 2.0.2 ; Pour lancer une application SDL (principalement des jeux vidéos) sur Wayland, réglez ''SDL_VIDEODRIVER=wayland''. | ^ Environnement ^ Variante ^ Commentaire ^ |
| | ^ [[:GNOME Shell]] | [[:Ubuntu]] | Wayland est utilisé par défaut sur Ubuntu avec GNOME Shell depuis [[:hirsute|Hirsute 21.04]]. | |
| | ^ [[:Enlightenment]] | Aucune variante officielle. | Compatible depuis la version E19 | |
| | ^ [[:KDE Plasma]] | Environnement par défaut de [[:Kubuntu]] | | |
| | ^ [[:gestionnaire_de_fenetres#Sway]] | Aucune variante officielle ([[:paquet]] ''[[apt>sway]]''). | //[[wpfr>gestionnaire_de_fenêtres_par_pavage|Tiling desktop]]//, successeur de [[:gestionnaire_de_fenetres#i3]] | |
| | ^ [[:gestionnaire_de_fenetres#Hyprland]] | Aucune variante officielle ([[:paquet]] ''[[apt>hyprland]]''). | //[[wpfr>gestionnaire_de_fenêtres_par_pavage|Tiling desktop]]// avec effets visuels | |
| |
| === GLFW === | <note> |
| | **Wayland** est aussi très utilisé dans le domaine des **smartphones** avec Linux ([[https://pureos.net/|PureOS]], [[https://plasma-mobile.org/fr/|Plasma Mobile]], [[wpfr>Tizen]], [[https://sailfishos.org/|Sailfish OS]]), et même des **montres connectées %%GNU/Linux%%** ([[https://asteroidos.org/|Asteroid OS]]) ! |
| | </note> |
| |
| Un support expérimental de Wayland existe depuis GLFW 3.1 et peut être activé avec l'option CMake ''-DGLFW_USE_WAYLAND=ON'' au moment de la compilation. | Il existe d'autres [[:gestionnaires de fenêtres]] moins répandus (et absents des dépôts). |
| |
| === EFL === | ===== Bibliothèques graphiques ===== |
| |
| Les librairies EFL (environnement [[Enlightenment]] et applications liées) supportent totalement Wayland. Voir [[https://wayland.freedesktop.org/efl.html|cette page]]. | <note important> |
| | Ces informations sont fournies à titre indicatif : Ubuntu et les [[:distributions|systèmes]] distribués nativement avec **Wayland** gèrent automatiquement ces configurations. |
| | </note> |
| |
| ===== Weston ===== | ==== GTK+ 3 ==== |
| |
| **Weston** est l'implémentation de référence d'un compositeur pour le protocole Wayland. | Régler la [[:variables_d_environnement|variable d'environnement]] ''GDK_BACKEND=wayland''. |
| |
| {{ http://i.imgur.com/jnIUrD1.png?400|Weston, le compositeur Wayland de référence (non configuré)}} | GTK+ 3 est la bibliothèque utilisée par les applications des environnements [[:GNOME]], [[:MATE]], [[:Cinnamon]], [[:Budgie]], ... |
| |
| Son existence se justifie par la nécessité de développer Wayland sans dépendre des péripéties du développement des librairies et des environnements, par le besoin de pouvoir tester rigoureusement Wayland sans subir de bugs indépendants de Wayland, et par l'envie de montrer visuellement ce dont Wayland est capable en terme de performances. | ==== Qt 5 ==== |
| |
| Bien que ce soit parfaitement contraire au bon sens et aux raisons de sa conception, **Weston peut être utilisé comme [[gestionnaire de fenêtres]] de manière autonome** (par exemple, comme environnement graphique de secours pouvant être lancé sur tty2 au cas où votre environnement principal crashe ;-) ) | Pour faire fonctionner une application Qt 5 avec le //plugin// Wayland, régler la [[:variables_d_environnement|variable d'environnement]] ''QT_QPA_PLATFORM=wayland-egl'' (le paquet fournissant le //plugin// doit être installé). |
| |
| ==== Installation ==== | [[:Qt]] est la bibliothèque utilisée entre autres par les environnements [[:KDE Plasma]], [[:LXQt]], ou encore l'interface de LiriOS (non disponible pour Ubuntu). |
| |
| [[Installez le paquet]] **[[apt>weston]]**. Wayland sera normalement installé comme dépendance si il ne l'est pas déjà. | ==== SDL ==== |
| |
| ==== Utilisation ==== | Pour lancer une application SDL (principalement des jeux vidéo) sur Wayland, réglez ''SDL_VIDEODRIVER=wayland''. |
| |
| Lancez la commande ''weston'' dans une console. | ==== GLFW ==== |
| |
| Vous pouvez aussi lancer la commande ''weston'' depuis un émulateur de terminal dans une session graphique existante, cela lancera Weston de manière fenêtrée dans votre environnement déjà en cours ! | Wayland peut être activé avec l'option CMake ''-DGLFW_USE_WAYLAND=ON'' au moment de la compilation. |
| |
| L'interface par défaut est assez spartiate : un fond d'écran particulièrement laid, et seuls un lanceur et une horloge sont proposés dans une barre supérieure. | ==== EFL ==== |
| |
| Le lanceur correspond à ''weston-terminal'', un émulateur de terminal simple, fonctionnant uniquement sous Wayland et offrant ainsi une démonstration de gestion des fenêtres. | Les bibliothèques EFL (environnement [[:Enlightenment]] et applications liées) supportent totalement Wayland. Voir [[https://wayland.freedesktop.org/efl.html|cette page]]. |
| |
| En l'absence de barre des tâches, une bonne connaissance des raccourcis claviers vous sera nécessaire : | ===== Problèmes connus ===== |
| |
| ^ Raccourci ^ Action ^ | ==== Connexion à la session impossible ==== |
| | **Ctrl+Alt+Retour** | **Quitter Weston** | | |
| | Super+molette | (dé)zoomer | | |
| | **Super+Tab** | **Changer de fenêtre** | | |
| | Super+Clic gauche | Déplacer la fenêtre | | |
| | Super+Clic du milieu | Faire pivoter la fenêtre | | |
| | Super+Clic droit | Redimensionner la fenêtre | | |
| | Super+Alt+molette | Changer l'opacité d'une fenêtre | | |
| | Super+K | Tuer la fenêtre active | | |
| | **Super+Haut/Bas** | **Passer à l'espace de travail supérieur/inférieur** | | |
| | Super+Maj+Haut/Bas | Passer à l'espace de travail supérieur/inférieur \\ en emmenant la fenêtre active | | |
| | Super+F//x// | Passer à l'espace de travail n°//x// | | |
| | **Super+S** | **Prendre une capture d'écran (photo)** | | |
| | Super+R | Prendre une capture d'écran (vidéo) | | |
| |
| <note important>La capture d'écran photo s'enregistre toujours à ''~/wayland-screenshot.png'', si vous souhaitez en prendre plusieurs d'affilée il faut les renommer ou les déplacer au fur et à mesure. | Tous les gestionnaires de sessions ne sont pas capables de lancer des sessions avec **Wayland**. |
| |
| Pour les captures vidéo, voir les détails plus bas.</note> | Il faut donc s'assurer d'utiliser un [[:fenetre_de_connexion|gestionnaire de sessions]] compatible, comme [[:GDM]] ou [[:SDDM]]. |
| |
| {{ http://i.imgur.com/ru44akZ.png?500|Weston après une légère configuration}} | ==== Impossible de lancer une application comme administrateur ==== |
| |
| ==== Configuration ==== | **Wayland** n'autorise pas de manipulations aussi dangereuses : lancer des applications en tant que //[[:utilisateur#comptes_des_usagers_compte_superutilisateur_et_comptes_systemes|root]]// représente une surface d'attaque importante. |
| | L'[[:elevation_privileges|élévation des privilèges]] devra désormais être gérée par chaque application en fonction de ses besoins (voir les applications en exemple dans la note suivante) via [[:policykit|polkit]]. |
| |
| La configuration se fait en modifiant le fichier ''~/.config/weston.ini''. | <note important> |
| | Assurez-vous d'avoir une pratique "saine" de l'informatique en suivant les documentations //[[:Permissions administrateur]]// et //[[:elevation_privileges|Élévation des privilèges]]// ! |
| | </note> |
| |
| Les détails de tout ce qui y est configurable sont disponibles avec la commande ''man weston.ini'' (5). | ==== Applications non-compatibles ==== |
| |
| Voici un exemple de configuration (ci-contre, une capture d'écran du résultat sur Debian 9 ; ci-dessous, le fichier ''~/.config/weston.ini'' correspondant ; le thème d'icônes utilisé étant Faenza) : | Les applications correctement maintenues sont aujourd'hui toutes compatibles avec Wayland, à moins d'être directement liée à [[xorg|X.org]]. On peut reconnaître ces dernières grâce à leur nom qui commence souvent par un //X// majuscule (''[[apt-cli|apt]] list ~n^x -i'' pour lister les paquets installés dont le nom commence par ''x'' -- tous ne sont pas concernés). |
| |
| <note>Concernant la capture d'écran ci-contre : la mémoire utilisée est énorme car Gnome Shell, avec entre autres un navigateur internet, était lancé sur [[Xorg]] de manière parallèle. | Dans ces applications non compatibles, on trouve en particulier : |
| | * certaines applications de [[:capture d'écran]] |
| | * certaines applications de partage d'écran ou de [[:bureau à distance]] (comme [[:X2Go]] ou le [[:ssh#affichage_graphique_deporte_tunneling_serveurx_par_ssh_-_acceder_aux_applications_graphiques|déport de X]] avec [[:SSH]]). |
| |
| Weston est quant à lui très léger, à défaut d’être adapté à une utilisation normale.</note> | |
| |
| <file> | |
| [core] | |
| shell=desktop-shell.so | |
| modules=xwayland.so | |
| idle-time=300 | |
| |
| [keyboard] | |
| keymap_layout=fr | |
| numlock-on=true | |
| |
| [output] | |
| mode=1366x768 | |
| |
| [shell] | |
| panel-location=top | |
| focus-animation=dim-layer | |
| animation=zoom | |
| close-animation=none | |
| background-image=/home/roschan/Images/wallpapers/nge_1.jpg | |
| background-type=scale-crop | |
| background-color=0xff00aa99 | |
| panel-color=0x77000000 | |
| locking=true | |
| num-workspaces=6 | |
| cursor-size=20 | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/places/24/distributor-logo-debian.png | |
| path=/usr/bin/nautilus /usr/share/applications | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/apps/24/xterm.png | |
| path=/usr/bin/terminix | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/apps/24/web-browser.png | |
| path=/usr/bin/epiphany | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/apps/24/quadrapassel.png | |
| path=/usr/games/quadrapassel | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/apps/24/libreoffice3-writer.png | |
| path=/usr/bin/libreoffice --writer | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/apps/24/text-editor.png | |
| path=/usr/bin/gedit | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/apps/24/google-chrome.png | |
| path=/opt/google/chrome/google-chrome | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/status/24/dropboxstatus-blank.png | |
| path= | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/places/24/user-home.png | |
| path=/usr/bin/nautilus | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/places/24/folder-download.png | |
| path=/usr/bin/nautilus Téléchargements | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/places/24/folder-pictures.png | |
| path=/usr/bin/nautilus Images | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/places/24/folder-music.png | |
| path=/usr/bin/nautilus Musique | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/places/24/user-desktop.png | |
| path=/usr/bin/nautilus Bureau | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/devices/24/drive-harddisk-system.png | |
| path=/usr/bin/nautilus other-locations:/// | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/status/24/dropboxstatus-blank.png | |
| path= | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/apps/24/terminal.png | |
| path=/usr/bin/weston-terminal | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/apps/24/gnome-monitor.png | |
| path=/usr/bin/gnome-system-monitor | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/apps/24/redhat-server_settings.png | |
| path=/usr/bin/gedit .config/weston.ini | |
| |
| [launcher] | |
| icon=/usr/share/icons/Faenza/actions/24/exit.png | |
| path=/usr/bin/killall weston | |
| </file> | |
| |
| On peut remarquer plusieurs choses : | |
| * ''shell=desktop-shell.so'' précise le shell à utiliser en tant que plugin de Weston ; il existe d'autres possibilités que "desktop-shell", par exemple un shell spécialisé dans les systèmes embarqués pour les véhicules (''weston-ivi-shell''). Des initiatives comme [[https://github.com/raspberrypi/maynard|Maynard]] (un bureau pour Raspberry Pi) existent également. | |
| * ''modules=xwayland.so'' permet d'**utiliser des applications conçues pour [[Xorg]]** ; | |
| * ''keymap_layout=fr'' **permet d'utiliser un clavier AZERTY** ; | |
| * ''mode=1366x768'' dépend bien sûr de votre écran ; | |
| * Il est brutal et un peu risqué de faire un lanceur ''killall weston'', il est beaucoup plus sûr de faire **Ctrl+Alt+Retour**. | |
| |
| Quelques détails secondaires : | |
| * Les lanceurs doivent être renseignés un par un, dans l'ordre. | |
| * Les lanceurs doivent avoir le chemin d'une icône valide et le chemin du programme à exécuter : | |
| * Il ne s'agit pas de commandes bash, mais bien de **chemins complets** vers des programmes. | |
| * Des arguments peuvent ensuite être donnés à ces programmes. | |
| * À vous d'explorer votre thème d'icône pour y trouver ceux qu'il vous faut et les ajouter manuellement. | |
| * Pour avoir un "espace" dans la barre, j'ai rusé stupidement en précisant le chemin d'une image entièrement transparente (''/usr/share/icons/Faenza/status/24/dropboxstatus-blank.png''). | |
| * Les fichiers de configuration ne peuvent pas être copiés-collés tels quels, puisque les informations qui y sont précisées sont spécifiques au matériel, aux logiciels installés, à l'utilisateur, à ses fichiers, ... | |
| |
| <note tip>Pour des explications et possibilités de configuration exhaustives, voir la commande ''man weston.ini'' (5).</note> | |
| |
| ==== Capture d'écran vidéo ==== | |
| |
| La capture d'écran vidéo intégrée (démarrée et stoppée par Super+r) produit un fichier ''capture.wcap'' dans le dossier d'où a été lancé Weston (généralement, ''~/''). | |
| |
| Le format WCAP est un format vidéo sans perte spécifique à Weston. Pour pouvoir être lu, le fichier WCAP doit être converti : | |
| <code>wcap-decode capture.wcap --yuv4mpeg2 > capture.y4m</code> | |
| <code>ffmpeg -i capture.y4m -target ntsc-dvd output.mpg</code> | |
| |
| ==== Ce que nous apprend Weston ==== | |
| |
| En terme de performances, on voit que les fenêtres peuvent être pivotées, animées, zoomées, leurs transparences modifiées, etc. bref, des effets de composition plutôt complexes. Pourtant, Weston reste très rapide, fluide et léger en mémoire. En comparaison, les temps de réactions des applications utilisant XWayland se ressentent d'ailleurs parfois. | |
| |
| Avec Wayland, l'enregistrement de l'écran (capture photo ou vidéo) **doit** être géré par l'environnement, alors qu'il était jusqu'à présent indépendant de l'environnement utilisé. Vos anciens logiciels de capture d'écran pour Xorg risquent de ne plus fonctionner ! | |
| |
| Il s'agit là d'une question de sécurité : les applications n'ayant pas la possibilité de "connaître" la position et le contenu des fenêtres de leurs voisines avec Wayland, ces informations doivent être "demandées" à l'environnement (et notamment au compositeur en ce qui concerne les fenêtres). | |
| ===== Problèmes divers ===== | |
| |
| ==== Impossible de lancer une application comme admin ==== | |
| |
| Wayland n'autorise pas de manipulations aussi dangereuses : cette éventualité doit désormais être gérée individuellement par chaque environnement. | |
| |
| Une possibilité pour contourner ce problème (si l'environnement ne prévoit rien) est d'utiliser xhost pour autoriser "root" à accéder à la session X de l'utilisateur. En tant qu'utilisateur normal ("//localuser//" étant votre nom) : | |
| <code>xhost si:localuser:root</code> | |
| Après la manipulation, retirez l'accès : | |
| <code>xhost -si:localuser:root</code> | |
| | |
| ===== Voir aussi ===== | ===== Voir aussi ===== |
| |
| * [[https://wayland.freedesktop.org/|Site officiel]] | * [[https://wayland.freedesktop.org/|Site officiel]] |
| * (en) [[https://wiki.archlinux.org/index.php/wayland|Source principale]] | * [[:fenetre_de_connexion#Gestion de Wayland]] |
| | * [[:Weston]] |
| | * [[:Mir]] |
| | * [[:Xorg|X.org]] |
| | * **(//en//)** [[https://wiki.archlinux.org/index.php/wayland|Source principale]] |
| | * [[https://forum.ubuntu-fr.org/viewtopic.php?pid=21783378#p21783378|Explications d'un développeur d'Ubuntu sur le forum]]. |
| |
| ----- | ----- |
| | //[[:Contributeurs]] : [[:utilisateurs:roschan]], [[:utilisateurs:amiralgaby]], [[:utilisateurs:krodelabestiole]].// |
| //Contributeurs : [[utilisateurs/roschan]], ...// | |