Featured image of post Mesa : installer la dernière version avec le PPA Kisak sous Pop!_OS / Ubuntu

Mesa : installer la dernière version avec le PPA Kisak sous Pop!_OS / Ubuntu

Installer la toute dernière version de Mesa via le PPA kisak-mesa, forcer sa priorité face aux dépôts Pop!_OS et revenir en arrière proprement.

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-mesa correspond au champ Origin du 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 glxinfo est introuvable, elle est fournie par le paquet mesa-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é

ÉtapeCommande
Outil de secourssudo apt install ppa-purge
Ajout du PPAsudo add-apt-repository ppa:kisak/kisak-mesa
Priorité (Pop!_OS)/etc/apt/preferences.d/kisak avec Pin-Priority: 1002
Mise à joursudo apt update && sudo apt full-upgrade
Vérificationglxinfo | grep "OpenGL version"
Retour arrièresudo ppa-purge ppa:kisak/kisak-mesa

Référence