125 votes

Problèmes avec le navigateur Chrome après la suspension de l'ordinateur sous Ubuntu 20.04

  • Kubuntu 20.04, 64 bits
  • GPU: Geforce GT610
  • nvidia-driver-390
  • Chrome Version 85.0.4183.83
  • Intel i5-4430, coeur 4, 4 thread, 3GHz
  • RAM: 16 Go

Chaque fois que je mets mon ordinateur en veille puis le réactive, le navigateur Chrome affiche l'onglet actuel comme rempli de couleurs sable, quelque chose de similaire au dithering dans le traitement d'image.

capture d'écran

D'autres onglets affichent également des anomalies.

La solution actuelle est de fermer et de rouvrir le navigateur.

J'ai testé nvidia-driver-418 mais j'ai eu un problème d'écran noir et j'ai réinstallé nvidia-driver-390.

Le problème est plus évident dans Chrome, mais il apparaît parfois dans vscode dans de petites zones. Là, survoler la souris sur le lieu affecté ou redimensionner la fenêtre résout le problème. Dans Kubuntu, l'avatar de l'utilisateur dans le lanceur d'applications est également affiché en dithered.

capture d'écran

J'ai testé sur la même machine avec Fedora 32 Workstation (GNOME), le pilote Nvidia, et j'ai eu les mêmes problèmes avec le navigateur Chrome.

sortie des pilotes ubuntu

Est-ce un problème de GPU ?

73voto

Shattuck Points 121

Même problème pour moi.

Activer enable-vulkan dans chrome://flags puis redémarrer le navigateur a résolu le problème. Si cela ne fonctionne pas, vous pouvez également essayer d'activer ignore-gpu-blacklist.

Réponse basée sur <a href="https://askubuntu.com/a/1272506/333907">cette ancienne réponse askubuntu</a>

60voto

tiangolo Points 846

Je rencontre à peu près le même problème sur :

  • Ubuntu 18.04, 64 bit
  • GPU: GeForce GTX 1070
  • Pilote : 440,100
  • Version de Chrome : 86,0,4240,75 (Build officiel) (64 bits)

Je ne veux pas avoir à désactiver l'utilisation du GPU pour Chrome, et je ne veux pas avoir à redémarrer le navigateur à chaque fois, en perdant ainsi tous mes onglets.

Mais j'ai trouvé une solution de contournement qui me convient (du moins pour le moment) :

Vous pouvez tuer juste le processus GPU du navigateur

  • Ouvrez le gestionnaire de tâches :

    • Appuyez sur Shift+Esc (comme indiqué par @NYCeyes dans les commentaires).
    • Ou bien, allez dans le menu principal de Chrome (3 points en haut à droite) Autres outils Gestionnaire des tâches.
  • Trié par le nom du processus Tâche.

  • Cherchez le processus appelé Processus GPU.

  • Cliquez sur Terminer la tâche.

Gestionnaire des tâches de Chrome - Processus GPU - Terminer la tâche

Cela va "nettoyer" tous les artefacts graphiques. Et Chrome va immédiatement recréer un nouveau processus GPU automatiquement.

Remarque : Vous pouvez automatiser le processus, consultez la réponse d'Andrew Bruce en mettant ces étapes dans un script qui s'exécute automatiquement.

J'imagine que le problème est quelque chose comme le processus GPU utilisant la mémoire en supposant qu'il a l'ancien état avant le cycle de veille, mais il a en fait du bruit aléatoire par défaut de l'état par défaut. Je suppose qu'Ubuntu ne sauvegarde pas et ne restaure pas la mémoire du GPU lors d'un cycle de veille (je ne pense pas que cela devrait être le cas), mais le processus Chrome ne le détecte pas. En tuant le processus, cela "libère" la mémoire GPU et Chrome crée ensuite un nouveau processus qui régénère tout état de mémoire GPU nécessaire (instantanément).

26voto

Andrew Bruce Points 361

En utilisant la réponse de tiangolo, vous pouvez automatiser le redémarrage du processus GPU de Chrome au réveil. En tant que root, j'ai mis ce script dans /lib/systemd/system-sleep/revive-chrome-gpu:

#!/bin/sh

set -e

if [ "$2" = "suspend" ] || [ "$2" = "hybrid-sleep" ]
then
    case "$1" in
        pre)
            true 
            ;;
        post) 
            sleep 1
            pkill -f 'chrome \-\-type=gpu-process'
            ;;
    esac
fi

N'oubliez pas de rendre le script exécutable avec :

chmod +x /lib/systemd/system-sleep/revive-chrome-gpu

15voto

boly38 Points 741

J'ai les mêmes problèmes sur Arch, et bien que l'activation de Vulkan corrige les problèmes graphiques lors de la reprise de veille ou de mise en veille prolongée, cela impacte également beaucoup les performances. Selon ce rapport de bug et cette réponse, j'ai essayé de lancer Chrome avec les drapeaux suivants : --use-cmd-decoder=validating --use-gl=desktop et cela semble résoudre mon problème sans aucune pénalité en termes de performances.

Je ne suis pas sûr si cela s'applique à toutes les distributions, mais sur Arch vous pouvez mettre ces arguments dans ~/.config/chrome-flags.conf et ils seront utilisés à chaque fois que Chrome est lancé (ou ~/.config/chromium-flags.conf si vous utilisez Chromium) :

~/.config/chrome-flags.conf

--use-cmd-decoder=validating --use-gl=desktop

7voto

christianbueno.1 Points 1724

1ère Solution (problèmes de performance)

Dans mon cas, une solution pour le navigateur Chrome est de désactiver dans les Paramètres : Utiliser l'accélération matérielle lorsque disponible.

chrome://settings/system

entrer la description de l'image ici

2ème Solution

Oui, la solution ci-dessus comporte des problèmes de performance. Si vous n'aimez pas cela, vous pouvez tester cette autre option, Chrome fonctionnera parfaitement.

Exécutez Chrome avec quelques drapeaux, exécutez toujours Chrome via le terminal.

google-chrome-stable --use-cmd-decoder=validating --use-gl=desktop &

Le & évite de bloquer le terminal.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X