Contexte
Mesa regroupe les pilotes graphiques libres (OpenGL, Vulkan, VA-API…) utilisés par les GPU AMD, Intel et, dans une moindre mesure, NVIDIA via Nouveau/NVK. Chaque nouvelle version apporte son lot de corrections et de gains de performances, notamment pour le jeu et pour les GPU récents.
Le problème : les dépôts des distributions ont toujours un temps de retard. Dans mon cas, Pop!_OS 24.04 proposait Mesa 26.1.6 alors que la 26.2.6 était déjà disponible. J’avais besoin de cette dernière version.
La solution la plus utilisée sur les distributions basées sur Ubuntu est le PPA kisak-mesa, qui publie les versions stables de Mesa peu de temps après leur sortie.
Sous Pop!_OS, il y a une subtilité : ajouter le PPA ne suffit pas. Il faut aussi prioriser ce dépôt, sinon apt continue d’installer la version de System76.
Prérequis
- Une distribution basée sur Ubuntu : Pop!_OS 24.04, Ubuntu 24.04 ou dérivée.
- Un GPU utilisant les pilotes Mesa (AMD, Intel…). Avec le pilote propriétaire NVIDIA, Mesa n’est pas utilisé pour le rendu.
1. Installer l’outil de secours
Avant toute chose, on installe ppa-purge. C’est lui qui permettra de revenir aux paquets d’origine en cas de problème :
sudo apt update && sudo apt install ppa-purge
2. Ajouter le dépôt Kisak-Mesa
sudo add-apt-repository ppa:kisak/kisak-mesa
Appuyer sur Enter lorsque le terminal demande confirmation.
Sur Ubuntu, on peut passer directement à l’étape 4. Sur Pop!_OS, l’étape suivante est indispensable.
3. Prioriser le PPA (Apt Pinning) sous Pop!_OS
Pourquoi la mise à jour ne se fait pas
Pop!_OS attribue par défaut une priorité très élevée (1001) à ses propres dépôts. Les PPA communautaires comme Kisak reçoivent quant à eux la priorité standard (500).
Résultat : même si le PPA Kisak propose une version plus récente (26.2.6), apt préférera toujours la version de Pop!_OS (26.1.6), car c’est la priorité qui l’emporte sur le numéro de version.
On peut le constater avec :
apt policy mesa-vulkan-drivers
La version installée (ou candidate) reste celle de apt.pop-os.org, malgré la présence de la version plus récente provenant de ppa.launchpadcontent.net.
Augmenter la priorité du PPA
Créer un fichier de préférences dédié au PPA :
sudo vi /etc/apt/preferences.d/kisak
Passer en mode insertion avec i, puis coller le bloc suivant :
Package: *
Pin: release o=LP-PPA-kisak-kisak-mesa
Pin-Priority: 1002
Enregistrer et quitter : Esc, puis :wq et Enter.
Ou, en une seule commande :
sudo tee /etc/apt/preferences.d/kisak << 'EOF'
Package: *
Pin: release o=LP-PPA-kisak-kisak-mesa
Pin-Priority: 1002
EOF
Pourquoi 1002 : il faut une valeur strictement supérieure aux 1001 de Pop!_OS. Le filtre
o=LP-PPA-kisak-kisak-mesacorrespond au champOrigindu dépôt : seuls les paquets publiés par ce PPA sont concernés, le reste du système n’est pas impacté.
Vérifier que la priorité est bien prise en compte :
sudo apt update
apt policy mesa-vulkan-drivers
La version candidate doit maintenant être celle du PPA Kisak, avec la priorité 1002.
4. Appliquer la mise à jour
sudo apt update && sudo apt full-upgrade
Le full-upgrade est important : il autorise apt à ajouter ou retirer des dépendances si la nouvelle version de Mesa l’exige.
5. Redémarrer
reboot
Vérifier la version de Mesa
Une fois le PC redémarré, ouvrir un terminal et taper :
glxinfo | grep "OpenGL version"
Si la commande
glxinfoest introuvable, elle est fournie par le paquetmesa-utils:sudo apt install mesa-utils.
La ligne renvoyée doit afficher explicitement Mesa 26.2.6 (ou une version mineure supérieure) :
OpenGL version string: 4.6 (Compatibility Profile) Mesa 26.2.6 - kisak-mesa PPA
Pour la partie Vulkan :
vulkaninfo --summary | grep driverInfo
En cas de problème : revenir en arrière
Si l’environnement de bureau devient instable, si COSMIC plante ou si des artefacts apparaissent à l’écran, on supprime d’abord le fichier de priorité, puis on purge proprement le PPA pour retrouver les pilotes d’origine de Pop!_OS :
sudo rm /etc/apt/preferences.d/kisak
sudo ppa-purge ppa:kisak/kisak-mesa
sudo apt update && sudo apt full-upgrade
reboot
ppa-purge désactive le dépôt et rétrograde automatiquement tous les paquets qui en provenaient vers les versions officielles de la distribution.
Si la session graphique ne démarre plus du tout, ces commandes peuvent être lancées depuis un TTY (
Ctrl+Alt+F3).
Points de vigilance
- Le PPA suit les nouvelles versions de Mesa. Les mises à jour arrivent ensuite automatiquement avec
apt upgrade, y compris les changements de version majeure. - Une priorité supérieure à 1000 autorise les rétrogradations. Si un jour le PPA propose une version plus ancienne que celle de Pop!_OS, apt installera quand même celle du PPA. C’est le prix à payer pour passer devant les dépôts System76.
- Lors d’une mise à niveau de version de la distribution, il est préférable de purger le PPA avant, puis de le réajouter ensuite.
En résumé
| Étape | Commande |
|---|---|
| Outil de secours | sudo apt install ppa-purge |
| Ajout du PPA | sudo add-apt-repository ppa:kisak/kisak-mesa |
| Priorité (Pop!_OS) | /etc/apt/preferences.d/kisak avec Pin-Priority: 1002 |
| Mise à jour | sudo apt update && sudo apt full-upgrade |
| Vérification | glxinfo | grep "OpenGL version" |
| Retour arrière | sudo ppa-purge ppa:kisak/kisak-mesa |
