Accueil > Linux - Divers > linux - supprimer le vsync de picom
linux - supprimer le vsync de picom
samedi 20 septembre 2025, par
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 0Une 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
