Notes de paramétrage de postes de travail, et autres vicissitudes ...

Accueil > Linux - Divers > linux - supprimer le vsync de picom

linux - supprimer le vsync de picom

samedi 20 septembre 2025, par Lucien-Henry

Problème

Picom ralenti sacrément la machine virtuelle Linux lorsqu’il emploie par défaut vsync. Il convient donc qu’il ne l’emploie plus.

Inutile de croire qu’en configurant le fichier de configuration cela arrangera les choses car ce fichier n’est jamais pris en compte par défaut.
~/.config/picom.conf

Solution

Simplement faire un script qui va changer picom.

$ ll /usr/bin | grep picom
-rwxr-xr-x  1 root root        2834 sept. 21  2022 marco-picom
-rwxr-xr-x  1 root root       11820 nov.  13  2024 picom-trans
lrwxrwxrwx  1 root root           5 janv. 26  2025 picom-inspect -> picom
-rwxr-xr-x  1 root root      195568 févr.  6  2025 picom-conf
-rwxr-xr-x  1 root root        1671 mai   11 22:04 picom-backup_250511
-rwxr-xr-x  1 root root      880176 sept. 20 14:09 picom_initial
-rwxr-xr-x  1 root root        1671 sept. 20 14:09 picom
lho@vlux:~$
cp /usr/bin/picom /usr/bin/picom_initial
vim /usr/bin/picom
#!/bin/bash
# Ce script agit comme un wrapper pour la commande 'picom' réelle.
# Il passe tous les paramètres qui lui ont été donnés directement à 'picom'.

# Utilise 'exec' pour remplacer le processus actuel par la commande 'picom'.
# Cela signifie que 'picom' héritera de l'environnement du script et que le script
# ne restera pas en cours d'exécution après le lancement de 'picom'.
# '$@' représente tous les arguments passés au script.

##exec picom "$@"
##exit 0


# Ce script agit comme un wrapper pour la commande 'picom' réelle.
# Il passe tous les paramètres qui lui ont été donnés directement à 'picom',
# mais force l'option '--no-vsync' et ignore toute option '--vsync' ou
# '--no-vsync' passée initialement.

# Initialise un tableau vide pour stocker les arguments nettoyés
CLEAN_ARGS=()

# Parcourt tous les arguments passés au script
for arg in "$@"; do
 # Vérifie si l'argument est '--vsync' ou '--no-vsync'
 if [[ "$arg" != "--vsync" && "$arg" != "--no-vsync" ]]; then
   # Si ce n'est pas l'une de ces options, l'ajoute au tableau des arguments nettoyés
   CLEAN_ARGS+=("$arg")
 fi
done

# Ajoute explicitement l'option '--no-vsync' au tableau.
# Cela garantit qu'elle est toujours présente et prend le pas sur toute autre configuration.
CLEAN_ARGS+=("--no-vsync")

# Utilise 'exec' pour remplacer le processus actuel par la commande 'picom'.
# '$@' lors de l'expansion d'un tableau (${CLEAN_ARGS[@]}) s'assure que chaque élément
# du tableau est passé comme un argument distinct, gérant correctement les espaces
# ou caractères spéciaux dans les arguments si nécessaire.
exec picom_initial "${CLEAN_ARGS[@]}"
exit 0

Une autre option des de flinguer l’option vsync dans /usr/bin/marco-picom.

$ cat /usr/bin/marco-picom | grep vsync
VSYNC="--no-vsync"
# Disable vsync if the NVIDIA compositor is enabled.
       VSYNC="--no-vsync"

Liens

vsync causes intermittent freezes with picom v11
How to Configure Picom in Linux
22.04 MATE Tweak window manager selection not finding picom config file


Voir en ligne : How to Configure Picom in Linux