Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wayland [Le 11/04/2020, 15:04]
78.236.158.109 ajout section Detecter une application utilisant xorg
wayland [Le 07/03/2024, 23:27] (Version actuelle)
90.3.203.247 [Qt 5]
Ligne 10: Ligne 10:
  
 Une couche de compatibilité,​ **XWayland**,​ permet de faire fonctionner les applications pour [[Xorg]] avec Wayland. Toutes les applications existantes peuvent donc utiliser Wayland par ce biais, [[#​impossible_de_lancer_une_application_comme_admin|à l'​exception de celles qui requièrent les droits d'​administration]]. Un [[#​environnements_compatibles|environnement qui supporte ce protocole]] (GNOME Shell, KDE Plasma, Enlightenment ...) est cependant nécessaire. Une couche de compatibilité,​ **XWayland**,​ permet de faire fonctionner les applications pour [[Xorg]] avec Wayland. Toutes les applications existantes peuvent donc utiliser Wayland par ce biais, [[#​impossible_de_lancer_une_application_comme_admin|à l'​exception de celles qui requièrent les droits d'​administration]]. Un [[#​environnements_compatibles|environnement qui supporte ce protocole]] (GNOME Shell, KDE Plasma, Enlightenment ...) est cependant nécessaire.
 +
 +Après l’avoir été une première fois en [[:​artful|17.10]],​ Wayland est redevenu le protocole d’affichage par défaut depuis la version [[:​hirsute|21.04]] de la variante classique d’Ubuntu. Les autres variantes utilisent encore [[:Xorg]].
  
 ===== Pourquoi Wayland ? ===== ===== Pourquoi Wayland ? =====
Ligne 29: Ligne 31:
 Un compositeur implémentant le protocole 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é). Un compositeur implémentant le protocole 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é).
  
-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).+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 [[https://​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). 
 + 
 +===== Quel est le protocole de gestion de fenêtrage actif ? ===== 
 +La commande ci-dessous devrait retourner soit **x11** soit **wayland** :​ 
 +  echo "​$XDG_SESSION_TYPE"​ 
 + 
 +//voir [[fenetre_de_connexion#​gestion_de_wayland| Fenêtre de connexion - Gestion de Wayland]]//
  
 ===== Environnements compatibles ===== ===== Environnements compatibles =====
  
-Les [[environnements]] de bureau majeurs suivants supportent Wayland : +Les [[environnements]] de bureau majeurs suivants supportent Wayland :
  
 ^ Environnement ^ Variante ^ Versions compatibles ^ ^ Environnement ^ Variante ^ Versions compatibles ^
-^ [[GNOME Shell]] | [[Ubuntu]] (variante par défaut, versions [[17.10]] et postérieures) \\ Variante [[Ubuntu GNOME]] (versions 17.04 et antérieures) | Compatible depuis GNOME Shell 3.12 environ. \\ Wayland est utilisé par défaut sur Ubuntu avec GNOME Shell depuis la version ​[[17.10]] |+^ [[GNOME Shell]] | [[Ubuntu]] (variante par défaut, versions [[17.10]] et postérieures) \\ Variante [[Ubuntu GNOME]] (versions 17.04 et antérieures) | Compatible depuis GNOME Shell 3.12 environ. \\ Wayland est utilisé par défaut sur Ubuntu avec GNOME Shell en [[17.10]] ​et depuis la [[21.04]]. ​|
 ^ [[Enlightenment]] | Aucune variante dédiée. \\ Seule la version E17 est disponible dans les dépôts d'​Ubuntu antérieurs à [[:​Cosmic]]. | Compatible depuis la version E19 | ^ [[Enlightenment]] | Aucune variante dédiée. \\ Seule la version E17 est disponible dans les dépôts d'​Ubuntu antérieurs à [[:​Cosmic]]. | Compatible depuis la version E19 |
 ^ [[KDE Plasma]] | Environnement par défaut de [[Kubuntu]] | Fonctionnement encore imparfait mais possible depuis environ Ubuntu [[16.04]] | ^ [[KDE Plasma]] | Environnement par défaut de [[Kubuntu]] | Fonctionnement encore imparfait mais possible depuis environ Ubuntu [[16.04]] |
Ligne 48: Ligne 56:
 Ces informations sont fournies à titre indicatif, mais un système distribué nativement avec une session "​Wayland"​ ((comme la session par défaut d'​Ubuntu [[:17.10]] par exemple)) devrait théoriquement gérer tout seul ces configurations. Ces informations sont fournies à titre indicatif, mais un système distribué nativement avec une session "​Wayland"​ ((comme la session par défaut d'​Ubuntu [[:17.10]] par exemple)) devrait théoriquement gérer tout seul ces configurations.
  
-=== GTK+ 3 ===+==== GTK+ 3 ====
 Régler la variable d'​environnement ''​GDK_BACKEND=wayland''​. Régler la variable d'​environnement ''​GDK_BACKEND=wayland''​.
  
 GTK+ 3 est la bibliothèque utilisée par les applications des environnements [[GNOME]], [[MATE]], [[Cinnamon]],​ [[Budgie]], ... GTK+ 3 est la bibliothèque utilisée par les applications des environnements [[GNOME]], [[MATE]], [[Cinnamon]],​ [[Budgie]], ...
  
-=== Qt 5 ===+==== Qt 5 ====
 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é). 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 bibliothèque utilisée entre autres par les environnements [[KDE Plasma]], [[LXQt]], ou encore l'​interface de LiriOS (non disponible pour Ubuntu). [[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).
  
-=== Clutter ===+exemple pour faire fonctionner texstudio sous ubuntu 22.04 LTS passer la commande export QT_QPA_PLATFORM=wayland . Ensuite lancer texstudio via un terminal. 
 + 
 +==== Clutter ​====
  
 Régler la variable d'​environnement ''​CLUTTER_BACKEND=wayland''​. Régler la variable d'​environnement ''​CLUTTER_BACKEND=wayland''​.
Ligne 64: Ligne 74:
 Clutter est entre autres utilisé pour les parties "pas en GTK+" de [[GNOME Shell]]. Clutter est entre autres utilisé pour les parties "pas en GTK+" de [[GNOME Shell]].
  
-=== SDL ===+==== SDL ====
  
 Un support expérimental de Wayland existe depuis SDL 2.0.2 ; Pour lancer une application SDL (principalement des jeux vidéo) sur Wayland, réglez ''​SDL_VIDEODRIVER=wayland''​. Un support expérimental de Wayland existe depuis SDL 2.0.2 ; Pour lancer une application SDL (principalement des jeux vidéo) sur Wayland, réglez ''​SDL_VIDEODRIVER=wayland''​.
  
-=== GLFW ===+==== GLFW ====
  
 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. 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.
  
-=== EFL ===+==== EFL ====
 Les bibliothèques EFL (environnement [[Enlightenment]] et applications liées) supportent totalement Wayland. Voir [[https://​wayland.freedesktop.org/​efl.html|cette page]]. Les bibliothèques EFL (environnement [[Enlightenment]] et applications liées) supportent totalement Wayland. Voir [[https://​wayland.freedesktop.org/​efl.html|cette page]].
  
Ligne 83: Ligne 93:
 ==== Ce que nous apprend Weston ==== ==== 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.+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.
  
 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 ! 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 !
Ligne 124: Ligne 134:
 Plusieurs catégories d'​applications ont un fonctionnement reposant directement sur [[:Xorg]], et ne fonctionnent donc pas avec Wayland : Plusieurs catégories d'​applications ont un fonctionnement reposant directement sur [[:Xorg]], et ne fonctionnent donc pas avec Wayland :
  
-  * Logiciels de capture d'​écran (FIXME, ...). Plusieurs alternatives compatibles existent déjà (FIXME, ...) ;+  * Logiciels de capture d'​écran ([[:gimp]], ...). Plusieurs alternatives compatibles existent déjà (FIXME, ...) ;
  
-  * Logiciels de partage d'​écran (TeamViewer,​ ...). Plusieurs alternatives compatibles existent déjà (FIXME, ...) ;+  * Logiciels de partage d'​écran (lors de visio-conférence avec [[:​jitsi#​visioconference_sans_rien_installer_jitsi_meet|meet.jit.si]],​ [[:​bigbluebutton]], ​TeamViewer, ...). Plusieurs alternatives compatibles existent déjà (FIXME : https://​askubuntu.com/​a/​1339294/​385361 ?, ...) ;
  
   * Logiciels proposant une barre de tâches indépendante du compositeur et de l'​environnement (tint2, Docky, Cairo-Dock, ...). Utilisez donc plutôt votre environnement,​ il propose normalement une fonctionnalité équivalente ;   * Logiciels proposant une barre de tâches indépendante du compositeur et de l'​environnement (tint2, Docky, Cairo-Dock, ...). Utilisez donc plutôt votre environnement,​ il propose normalement une fonctionnalité équivalente ;
 +
 +
 +  * Logiciels d'​assistance à distance (ex : DWService.net et RustDesk.com)
  
 ===== Détecter les applications tournant sur Xwayland ===== ===== Détecter les applications tournant sur Xwayland =====
  
-Vous devez installer [[:​tutoriel:​comment_installer_un_paquet|xeyes]]. Lancez l'​application et cliquez si la fenêtre que vous voulez tester. Bougez la souris sur cette fenêtre si les yeux bougent alors l'​application tourne sur Xwayland. +La commande xlsclients liste les applications tournant sous Xwayland.
-Merci à [[https://​medium.com/​@bugaevc/​how-to-easily-determine-if-an-app-runs-on-xwayland-or-on-wayland-natively-8191b506ab9a|Sergey Bugaev(Anglais)]]+
  
 +Vous pouvez aussi installer [[:​tutoriel:​comment_installer_un_paquet|xeyes]]. Lancez l'​application et survolez avec la souris la fenêtre que vous voulez tester : Si les yeux bougent 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(Anglais)]].
 ===== Voir aussi ===== ===== Voir aussi =====
  
Ligne 147: Ligne 160:
 ----- -----
  
-//​Contributeurs : [[utilisateurs/​roschan]],​ ...// +//​Contributeurs : [[utilisateurs/​roschan]], [[utilisateurs/​amiralgaby]], ...//
  • wayland.1586610247.txt.gz
  • Dernière modification: Le 11/04/2020, 15:04
  • par 78.236.158.109