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 ?

1voto

RedEyed Points 1234

Essayez ce script (fonctionne pour Ubuntu 20.04), puis redémarrez

#!/bin/bash

# Suivez ce tutoriel : https://download.nvidia.com/XFree86/Linux-x86_64/450.57/README/powermanagement.html

NVIDIA_DRIVER_VERSION=$(head -1 /proc/driver/nvidia/version | sed "s/.*Kernel Module *\([0-9]*\)\. *.*/\1/g")
NVIDIA_DIR=/usr/share/doc/nvidia-driver-${NVIDIA_DRIVER_VERSION}

if [[ ! -d ${NVIDIA_DIR} ]]; then
    echo ${NVIDIA_DIR} n'existe pas. Ignorer.
    exit 0
fi

# Installation
sudo install ${NVIDIA_DIR}/nvidia-suspend.service   /etc/systemd/system
sudo install ${NVIDIA_DIR}/nvidia-hibernate.service /etc/systemd/system
sudo install ${NVIDIA_DIR}/nvidia-resume.service    /etc/systemd/system
sudo install ${NVIDIA_DIR}/nvidia                   /lib/systemd/system-sleep
sudo install ${NVIDIA_DIR}/nvidia-sleep.sh          /usr/bin

# Activation du service nvidia systemd
sudo systemctl enable nvidia-suspend.service
sudo systemctl enable nvidia-hibernate.service
sudo systemctl enable nvidia-resume.service

UPD1 : pour ceux qui ne savent pas comment en faire un script

  1. créer le fichier : install_nvidia_powermanagement.sh
  2. copier-coller le contenu dans install_nvidia_powermanagement.sh
  3. rendez-le exécutable : chmod +x install_nvidia_powermanagement.sh
  4. exécutez-le : ./install_nvidia_powermanagement.sh

0voto

Kishalay Points 1

J'avais le même problème. Voici la solution que j'ai utilisée.

Étape 1 : Copiez le code python et transformez-le en un fichier exécutable que vous placerez dans votre dossier personnel

#!/usr/bin/python3
import os,signal
import time
a=1
while (a==1):
    try:   
        # itération à travers chaque instance du processus
        process=os.popen('ps aux | grep "brave.com/brave/brave --type=gpu-process" | 
        grep -v grep')
        str=(process.read())
        length=0
        length=len(str)
        if (length==0):
            print("Processus terminé..")
            a=2
        else:
            for line in os.popen('ps aux | grep "brave.com/brave/brave --type=gpu-process" | grep -v grep'):  
                fields = line.split() 
                # extraction de l'ID du processus à partir de la sortie
                pid = int(fields[1])  
                res=fields[3]
                res=float(res)/100*7.69*1024 #7.69 est la quantité de RAM que j'ai.... la vôtre peut varier.
                # terminaison du processus  
                if(res>100):
                    print(f"pid={pid} res={res}")
                    os.kill(int(pid), signal.SIGKILL)  
                    print("Processus terminé avec succès") 
                time.sleep(6)
                length=0

    except: 
        print("Erreur rencontrée lors de l'exécution du script") 
        time.sleep(10)

Étape 2 : Créez un script shell pour lancer les deux applications en même temps

cd /usr/bin/;brave-browser-stable & brave=$!
sleep 2
cd /home//;./kill-gpu-brave & kill=$! #J'ai nommé mon fichier exécutable python kill-gpu-brave
wait $brave
wait $kill

Étape 3 : Transformez ce fichier en un fichier exécutable avec chmod +x et lancez brave à travers ce fichier.

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