Comment faire fonctionner Wayland sur les cartes graphiques Nvidia

Nvidiawayland Card

Bien qu’Nvidia ait théoriquement eu un support complet pour Wayland depuis la sortie de ses pilotes à la fin de 2021, le chemin n’a pas été nécessairement fluide. Il reste encore beaucoup de travail à faire quant à la manière dont cela interagit avec les composants que la plupart des gens utilisent, comme XWayland. Cela nécessite la configuration de variables à la fois dans l’environnement utilisateur et dans le noyau pour naviguer dans votre système et cliquer sur les éléments correctement.

Cela ne signifie pas que l’expérience n’en vaut pas la peine une fois que vous parvenez à faire fonctionner Wayland sur les cartes graphiques Nvidia. Si vous suivez ce guide, votre expérience avec Nvidia sera presque aussi fluide que dans X.

Aussi utile : Si vous avez d’autres problèmes avec votre GPU, essayez ces corrections courantes pour cartes graphiques.

Table des matières

  • Ne désinstallez pas Xorg
    1. Configurez votre environnement
    1. (Arch Linux) Construisez votre ramdisk d’initialisation
    1. Activez le gestionnaire de rendu direct
  • Support Wayland sur votre distribution
  • Questions fréquemment posées

Ne désinstallez pas Xorg

Tout d’abord, ne désinstallez pas Xorg ou tout environnement de bureau qui l’utilise ! Pour rendre votre expérience plus simple, avec un minimum de frustration, il est toujours bon d’avoir une option de secours sur laquelle vous pouvez compter. Considérez X maintenant comme votre “mode sans échec” au cas où quoi que ce soit tournerait mal dans le processus. Ce que nous allons faire dans ce guide n’affectera pas Xorg.

1. Configurez votre environnement

Il existe quelques variables environnementales pour faire fonctionner Wayland sur les cartes graphiques Nvidia. Comme il n’y a pas de norme uniforme ici, nous serons très génériques dans la configuration des choses pour garantir qu’Nvidia ne vous regarde pas de travers.

Nvidiawayland Environment

Suivez ces étapes pour configurer l’environnement :

  1. Sauvegardez votre environnement dans votre répertoire personnel :
sudo cp /etc/environment ~/environment.bak
  1. Ouvrez votre fichier d’environnement universel :
sudo nano /etc/environment
  1. Si vous prévoyez d’utiliser des applications Qt (vous en aurez généralement quelques-unes), ajoutez cette ligne n’importe où dans le fichier :
QT_QPA_PLATFORMTHEME="wayland;xcb"
  1. Ajoutez les variables environnementales suivantes pour forcer Nvidia à utiliser le backend GBM (compatible avec la grande majorité des environnements Linux) et activez quelques autres choses dont vous pourriez avoir besoin, même si elles ne sont pas encore installées :
GBM_BACKEND=nvidia-drm  
__GLX_VENDOR_LIBRARY_NAME=nvidia  
ENABLE_VKBASALT=1  
LIBVA_DRIVER_NAME=nvidia
  1. Comme le rendu du curseur matériel peut échouer dans certains environnements, il y a une variable supplémentaire optionnelle. Ceci n’est nécessaire que si, lorsque vous testez enfin Wayland, vous ne voyez pas de curseur à l’écran.

Cependant, cela ne pose aucun problème d’ajouter cela et de le retirer plus tard pour tester les choses sans :

WLR_NO_HARDWARE_CURSORS=1

Bon à savoir : Vous pouvez résoudre les problèmes de Wayland GDM dans Fedora avec notre guide.

2. (Arch Linux) Construisez votre ramdisk d’initialisation

La plupart des distributions populaires démarreront avec un “ramdisk d’initialisation” (initramfs) qui charge un système de fichiers temporaire dans votre RAM (d’où le terme “ramdisk”) pour initialiser le processus de démarrage et préparer le noyau à faire sa magie et vous mettre en route.

Nvidiawayland Mkinitcpio

Dans ce ramdisk d’initialisation initial, nous devons charger les différents composants d’Nvidia, y compris un moyen pour charger la résolution d’affichage dans le noyau. Cela est important car Wayland simplifie le tampon d’image et communique plus près du noyau.

Dans des distributions populaires comme Ubuntu et Fedora, Nvidia ne devrait pas rencontrer de problèmes car les systèmes sont déjà configurés de manière à rendre le initramfs moins discriminant sur les modules qu’il charge. Cependant, la structure très modulaire d’Arch exigera que des modules spécifiques soient chargés manuellement.

Ce processus n’est pas aussi intimidant qu’il y paraît. Suivez simplement ces étapes attentivement :

  1. Modifiez la configuration de votre ramdisk d’initialisation (n’oubliez pas de créer une sauvegarde d’abord) :
sudo nano /etc/mkinitcpio.conf
  1. Sous la ligne MODULES=(), entre les parenthèses, ajoutez ce qui suit :
nvidia nvidia_modeset nvidia_uvm nvidia_drm

Si les parenthèses contiennent déjà d’autres modules non listés ici, ajoutez ces modules à la fin. Si vous voyez déjà certains modules Nvidia enfermés, ajoutez ce qui manque à la liste.

  1. Régénérez votre ramdisk d’initialisation pour toutes les images initramfs (c’est ce que fait le flag -P) :
sudo mkinitcpio -P

Vous devriez voir une tonne d’avertissements inquiétants concernant des “firmwares manquants”. Ignorez-les. Cela arrive généralement et n’est pas quelque chose dont il faut s’inquiéter. Cela n’est utile que dans des cas de niche où un paquet firmware est manquant pour un matériel que vous ne pouvez pas utiliser.

Astuce : Certains jeux peuvent surcharger votre processeur, mais vous pouvez rapidement corriger une utilisation élevée du CPU sous Linux.

3. Activez le gestionnaire de rendu direct

Le gestionnaire de rendu direct (DRM) de Linux permet au noyau de travailler avec les GPU. Pour qu’Nvidia et Wayland s’entendent, nous devons nous assurer que le noyau utilise la configuration de mode DRM d’Nvidia au sein des paramètres du noyau de votre chargeur de démarrage :

  1. Modifiez la configuration GRUB par défaut (encore une fois, assurez-vous qu’une sauvegarde existe) :
sudo nano /etc/default/grub
  1. Recherchez une ligne qui commence par GRUB_CMDLINE_LINUX_DEFAULT. Si elle n’existe pas (ce qui ne sera pas le cas dans Fedora, par exemple), créez-la pour qu’elle ressemble à ceci : GRUB_CMDLINE_LINUX_DEFAULT="".
  2. À l’intérieur des guillemets, ajoutez ce qui suit :
nvidia-drm.modeset=1
  1. Mettez à jour la configuration de Grub :

Sur tout ce qui est basé sur Ubuntu/Debian/Mint :

sudo update-grub

Sur Fedora/RHEL :

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Avec tout ce qui est basé sur Arch :

sudo grub-mkconfig -o /boot/grub/grub.cfg

Une fois tout cela terminé, votre système aura beaucoup plus de facilité à exécuter Wayland sur le matériel Nvidia !

Prochaines étapes : Maintenant que Wayland fonctionne, vous pouvez tester la pression sur votre carte graphique.

Support Wayland sur votre distribution

Dans Ubuntu, Fedora et quelques autres distributions sélectionnées, vous pouvez faire fonctionner Wayland sur les cartes graphiques Nvidia une fois que vous avez mis à niveau vers la dernière version de votre logiciel. Ubuntu a expédié Wayland comme session par défaut pour son bureau GNOME modifié depuis la version 22.04, et Fedora l’a fait depuis bien plus longtemps. Pensez à vérifier que vous utilisez la dernière version de votre distribution.

Nvidiawayland Sddm

D’autres, comme Linux Mint, auront des difficultés à faire fonctionner Wayland car ce n’est pas une priorité de rénover l’environnement de bureau qu’ils livrent. Cependant, cela ne vous empêche pas d’installer un système d’exploitation alternatif. GNOME offre un support prêt à l’emploi, tandis que KDE Plasma peut nécessiter des paquets supplémentaires.

Systèmes basés sur Debian/Ubuntu

Si votre système fonctionne sous GNOME, il a déjà le support Wayland tant que vous êtes à jour. Pour installer GNOME au cas où vous ne l’auriez pas :

sudo apt install gnome

Pour KDE Plasma, vous devez installer à la fois l’environnement de bureau et le compositeur Wayland séparément :

sudo apt install kde-standard plasma-workspace-wayland

C’est tout ! Wayland devrait être disponible dans votre gestionnaire d’affichage dès que vous redémarrez.

Systèmes basés sur Arch

Comme pour toute autre distribution qui offre l’environnement de bureau GNOME, l’installer sur Arch Linux prendra automatiquement en charge Wayland :

sudo pacman -S gnome

L’installation de KDE Plasma est également plutôt simple :

sudo pacman -S plasma-meta plasma-wayland-session

Chacune de ces commandes inclura Wayland dans votre gestionnaire d’affichage (plus familièrement connu sous le nom d’écran de connexion).

Assurez-vous également d’installer XWayland :

sudo pacman -S xorg-xwayland

Lorsque vous avez terminé d’installer tout, redémarrez, puis utilisez votre écran de connexion pour sélectionner la version compatible avec Wayland de l’environnement de bureau que vous avez installé.

Questions fréquemment posées

Wayland en vaut-il vraiment la peine ?

Vous pouvez remarquer que certaines choses ne fonctionneront pas correctement même après tous ces changements. Bien que de nombreux problèmes avec Nvidia aient été résolus, de nombreuses applications continuent d’avoir des problèmes de compatibilité mineurs mais ennuyeux avec Wayland. Il est important de noter que Wayland et de nombreuses applications que vous connaissez sont en développement actif continu. La plupart, sinon la totalité, de ces problèmes finiront par disparaître.

Si vous vous sentez trop frustré par Wayland, revenez à X. Je recommande de ne pas désinstaller vos paquets Wayland, cependant, car X est de plus en plus reconnu comme un abandonware par de plus en plus de développeurs d’applications chaque jour. Une fois de temps en temps, vérifiez si vos problèmes commencent à disparaître.

Que faire si mon gestionnaire d’affichage ne montre pas les options Wayland ?

Bien que la plupart des gestionnaires d’affichage devraient afficher les implémentations du protocole Wayland de vos environnements de bureau préférés, cela ne se produit pas toujours. La solution à cela est d’essayer un autre gestionnaire d’affichage. Ceux qui viennent avec KDE Plasma (SDDM) et GNOME (GDM) fonctionneront sans problème. LightDM est également connu pour fonctionner parfaitement.

Crédit image : Pixabay. Toutes les captures d’écran par Miguel Gomez.