CyberSDF

Reprenez la main sur votre numérique

Resynthesizer dans GIMP 3 : compiler la branche resynthesizer3 sur Debian 13

plusieurs fenetres abstraites en aplats geometriques qui se recouvrent, vue de face

apt install gimp-plugin-registry se termine par E: Unable to locate package gimp-plugin-registry sur une Debian 13 (trixie) : le paquet qui embarquait le plugin resynthesizer a été retiré de testing le 25 septembre 2024 et n’est jamais entré dans trixie. Debian 13 fournit GIMP 3.0.4-3+deb13u10, dont l’API des greffons a changé, et le dernier resynthesizer empaqueté par Debian, en version 2.0.3, est compilé contre libgimp2.0-dev, une bibliothèque qui n’existe plus qu’en bullseye et en bookworm.

Sommaire
  1. Debian 12 installe resynthesizer 2.0.3, Debian 13 ne fournit plus le paquet
  2. Compiler Resynthesizer 3.0.1 en quatre étapes
  3. « ‘plug-in-resynthesizer’ not found » : le moteur est un binaire, pas un script
  4. Sans libgimp-3.0-dev, meson s’arrête sur « Dependency “gimp-3.0” not found »
  5. Le greffon flatpak ne dépose rien dans le GIMP de Debian
  6. Ce que la version 3 laisse tomber : Python, Sharpen, Enlarge, et la précision 8 bits
  7. Questions fréquentes

La branche resynthesizer3 du dépôt bootchk/resynthesizer, étiquetée v3.0.1, est la version écrite pour l’API GIMP 3. Elle construit sept greffons de menu en Scheme et un binaire moteur en C, nommé resynthesizer, exposé dans le PDB de GIMP sous l’identifiant plug-in-resynthesizer.

Debian 12 installe resynthesizer 2.0.3, Debian 13 ne fournit plus le paquet

Le paquet source gimp-plugin-registry compte trois versions publiées : 9.20200927 dans bullseye, 9.20200928+b1 dans bookworm, 9.20240808 dans unstable. Aucune n’est publiée dans trixie. La ligne « Updating resynthesizer to 2.0.3 » apparaît dans le journal Debian à l’envoi 9.20180625, et l’envoi 9.20200927 a porté les scripts du greffon en Python 3. Debian 12 embarque GIMP 2.10.34-1+deb12u10 : c’est la seule distribution stable où apt install gimp-plugin-registry suffit à faire apparaître Heal Selection dans le menu Filtres.

Sur Debian 13, la même commande échoue, et rien dans les dépôts APT ne la remplacera. En unstable, le paquet 9.20240808 ne peut même plus être construit : sa dépendance de construction libgimp2.0-dev est signalée insatisfiable depuis le 30 décembre 2024, et son binaire réclame libgimp2.0t64. Un greffon C compilé contre la bibliothèque de GIMP 2 ne se charge pas non plus dans GIMP 3.0.4, l’interface binaire entre les deux versions majeures ayant été remplacée.

apt-cache policy gimp-plugin-registry

Sur Debian 13, la sortie se réduit à N: Unable to locate package gimp-plugin-registry. Sur Debian 12, la même commande annonce 9.20200928+b1 en Candidate:, et Installed: si le paquet est déjà en place.

Compiler Resynthesizer 3.0.1 en quatre étapes

  1. Installer la chaîne de compilation et les en-têtes de GIMP 3.

    sudo apt update
    sudo apt install build-essential meson git libgimp-3.0-dev
    

    APT enchaîne les lignes Setting up et rend la main. La ligne à repérer est Setting up libgimp-3.0-dev (3.0.4-3+deb13u10) ; le numéro peut être supérieur si une mise à jour de sécurité est passée depuis. Deux contrôles ferment l’étape :

    meson --version
    dpkg -l libgimp-3.0-dev
    

    La première commande affiche 1.7.0, version du paquet meson 1.7.0-1 de trixie. La seconde renvoie une ligne qui commence par ii. Sans cette ligne, l’étape 3 s’arrête sur l’erreur de dépendance décrite plus bas.

  2. Cloner le dépôt et basculer sur la branche de l’API 3.

    git clone https://github.com/bootchk/resynthesizer.git
    cd resynthesizer
    git checkout resynthesizer3
    

    La sortie doit contenir Switched to a new branch 'resynthesizer3'. Pour situer le code téléchargé :

    git describe --tags
    

    La réponse commence par v3.0.1, puis donne le nombre de commits ajoutés depuis l’étiquette et l’empreinte du dernier commit. Sur le commit du 9 avril 2026, dernier de la branche, la chaîne complète est v3.0.1-21-ga05427e. La branche master du même dépôt est gelée sur l’API GIMP 2 et ne concerne que les installations de Debian 12.

  3. Configurer puis compiler.

    meson setup resynthesizerBuild
    meson compile -C resynthesizerBuild
    

    Le résumé final de meson setup liste les greffons externes sous l’intitulé Installed outer plugin names, avec leurs sept noms. meson compile enchaîne ensuite les lignes Compiling C object et se termine sans erreur : le binaire moteur, nommé resynthesizer, se trouve dans le sous-dossier enginePlugin du répertoire de construction. Le fichier meson.build de la branche déclare la version 3.0.2, en avance sur l’étiquette v3.0.1, et cet écart entre les deux numéros n’est pas un défaut d’installation.

  4. Installer, puis contrôler le contenu du dossier de greffons.

    sudo meson install -C resynthesizerBuild
    ls /usr/local/lib/*/gimp/3.0/plug-ins/
    

    meson recopie chaque fichier dans un dossier portant le nom du greffon, et la commande ls affiche huit entrées : resynthesizer, plug-in-heal-selection, plug-in-heal-transparency, plug-in-resynth-controls, plug-in-map-style, plug-in-render-texture, plug-in-uncrop et plug-in-resynth-fill-pattern. Le chemin exact dépend du triplet d’architecture, meson combinant le préfixe /usr/local, son libdir multiarch et gimp/3.0/plug-ins ; l’amont donne l’exemple de /usr/local/lib/x86_64-linux-gnu/gimp/3.0/plug-ins. Dans GIMP, ouvrir une image, tracer une sélection, puis aller dans Filtres > Amélioration et choisir Heal Selection…. Si l’entrée est absente, ajouter le dossier dans Édition > Préférences > Dossiers > Greffons, l’auteur signalant que ce chemin hors /usr n’est pas toujours parcouru.

    Écrire dans /usr/local demande les droits root, ce qui relève des permissions et des utilisateurs. Une variante sans sudo utilise l’option gimp-plugin-dir déclarée dans meson_options.txt et installe directement dans le dossier personnel de GIMP 3 :

    meson setup resynthesizerBuild -Dgimp-plugin-dir="$HOME/.config/GIMP/3.0/plug-ins"
    meson install -C resynthesizerBuild
    

« ‘plug-in-resynthesizer’ not found » : le moteur est un binaire, pas un script

Les sept entrées de menu sont des scripts Scheme qui appellent une procédure du PDB, plug-in-resynthesizer, fournie par le binaire moteur écrit en C. Recopier les seuls fichiers .scm, geste hérité des tutoriels GIMP 2, fait apparaître le menu et fait échouer l’action au moment du clic :

'plug-in-resynthesizer' not found

Le mainteneur décrit le même symptôme par error: procedure not found. La cause est unique : le dossier resynthesizer, qui contient le binaire, manque dans le chemin des greffons, ou GIMP ne parcourt pas le dossier où meson l’a écrit. Le constat tient en une commande :

ls /usr/local/lib/*/gimp/3.0/plug-ins/resynthesizer

GIMP 3 impose un dossier par greffon, avec un nom identique à celui du fichier exécutable. Si ce dossier existe et que l’erreur persiste, c’est le chemin parent qu’il faut déclarer dans Édition > Préférences > Dossiers > Greffons.

Sans libgimp-3.0-dev, meson s’arrête sur « Dependency “gimp-3.0” not found »

Run-time dependency gimp-3.0 found: NO
ERROR: Dependency "gimp-3.0" not found, tried pkgconfig and cmake

La cause est l’absence des fichiers d’en-tête, pas celle de GIMP : le moteur se lie à la bibliothèque libgimp-3.0 et meson la cherche par pkg-config. Le nom du paquet compte ici plus qu’ailleurs. La page de compilation amont écrit sudo apt-get install meson libgimp3.0-dev, alors que dans Debian 13 le paquet s’appelle libgimp-3.0-dev, avec un tiret après gimp, et porte le même numéro que GIMP, 3.0.4-3+deb13u10. Une fois le bon paquet installé, supprimer le dossier resynthesizerBuild avant de relancer meson setup resynthesizerBuild : meson conserve le résultat négatif de la recherche de dépendance.

Le greffon flatpak ne dépose rien dans le GIMP de Debian

Pour Linux, la page d’installation amont recommande le greffon flatpak, installé par cette commande :

flatpak install org.gimp.GIMP.Plugin.Resynthesizer

Elle ne sert que si GIMP est lui-même l’application flatpak org.gimp.GIMP. Un greffon flatpak s’installe à l’intérieur de l’application et de son environnement GNOME, pas dans /usr/local/lib/… où le GIMP 3.0.4 installé par APT lit ses greffons. L’amont prévient également que flatpak ne choisit pas toujours la bonne déclinaison du greffon : l’identifiant se termine par un numéro de branche (3.36, 42) qui doit correspondre à la plateforme GNOME déjà présente, listée par flatpak list. Comme pour un greffon compilé, le dossier peut devoir être déclaré à la main dans Édition > Préférences > Dossiers > Greffons.

Ce que la version 3 laisse tomber : Python, Sharpen, Enlarge, et la précision 8 bits

Les greffons externes de la version 3 sont en Scheme et non plus en Python. GIMP 3 a retiré le support de Python 2 : les tutoriels qui copient plugin-heal-selection.py dans ~/.config/GIMP/2.10/plug-ins ne s’appliquent plus, et le dossier personnel de GIMP 3 est ~/.config/GIMP/3.0/plug-ins. Depuis GIMP 3, ces scripts ne vont plus dans un dossier de scripts mais dans le dossier des greffons, exécutés par l’interpréteur Scheme autonome.

Deux greffons de la génération précédente ne sont plus installés : Sharpen by synthesis et Enlarge & sharpen. Ils occupaient le menu Amélioration sous GIMP 2.10, n’ont pas été portés en Scheme et ne sont donc plus proposés, ce qui laisse sept entrées de menu plus le moteur. Le moteur lui-même travaille en 8 bits par canal : sur une image 16 bits, la synthèse se fait avec perte de précision. Les images à palette indexée sont acceptées depuis la version 3.0, avec un résultat qui dépend de l’ordre de la palette.

Resynthesizer 3.0.1 n’apporte que des corrections de traduction, sans changement fonctionnel. Une contradiction guette entre la page de compilation amont, qui annonce l’installation des traductions désactivée par défaut, et le fichier meson_options.txt de la branche, où install-translations vaut true ; l’amont précise de toute façon que la traduction des greffons Scheme ne prendra effet qu’après une correction du Script-Fu de GIMP 3.2. Sur GIMP 3.0.4, l’entrée de menu reste donc affichée en anglais.

Questions fréquentes

Le paquet gimp-plugin-registry revient-il dans Debian 13 ou 14 ?

Non. gimp-plugin-registry n’est publié que dans bullseye (9.20200927), bookworm (9.20200928+b1) et unstable (9.20240808). Debian 14, encore appelée forky, reçoit GIMP 3.2.6-1, donc la même API GIMP 3, et le paquet historique n’y a pas sa place. Pour toute installation de GIMP 3, la source du greffon reste la branche resynthesizer3.

Peut-on installer le plugin sans compiler sur Debian 13 ?

Seulement si GIMP est l’application flatpak de Flathub, avec flatpak install org.gimp.GIMP.Plugin.Resynthesizer. Pour un GIMP installé par APT, la compilation de la branche resynthesizer3 est la seule voie connue ; à défaut, la retouche se fait avec les outils internes de GIMP 3.0.4 ou avec un autre logiciel de retouche d’image.

Où se retrouvent les fichiers après sudo meson install ?

Dans /usr/local/lib/x86_64-linux-gnu/gimp/3.0/plug-ins sur une Debian amd64, un sous-dossier par greffon, chacun contenant aussi un sous-dossier locale pour le catalogue resynthesizer3.mo installé par la version 3.0.1. La variante -Dgimp-plugin-dir="$HOME/.config/GIMP/3.0/plug-ins" place les mêmes fichiers dans le dossier personnel, sans sudo.

Pourquoi des fichiers .scm et non plus .py ?

Parce que GIMP 3 a supprimé l’interpréteur Python 2 et que les greffons externes de la version 3 ont été réécrits en Scheme. Les sept scripts .scm sont déposés dans le dossier des greffons, un sous-dossier par greffon, et non dans un dossier de scripts comme sous GIMP 2.10.

Que faire d’une image 16 bits ou en couleurs indexées ?

Le moteur de Resynthesizer travaille en 8 bits par canal : sur une image 16 bits, la synthèse perd de la précision. Les images indexées sont acceptées depuis la version 3.0, avec un résultat dépendant de l’ordre de la palette. Le contrôle qui distingue un moteur présent d’un moteur absent reste celui-ci :

ls /usr/local/lib/*/gimp/3.0/plug-ins/resynthesizer