Sfondo del desktop rotto su Ubuntu 18.04 sotto gnome dopo essersi svegliato dalla sospensione su nvidia-390


19

Ho la scheda grafica Nvidia 1080ti, vecchia di pochi giorni. Inoltre, ho un'installazione pulita di Ubuntu 18.04 e gli ultimi driver nvidia-390 installati, usando apt:

~$ sudo dpkg -l  | grep nvidia
ii  libnvidia-cfg1-390:amd64                   390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-common-390                       390.59-0ubuntu0~gpu18.04.1              all          Shared files used by the NVIDIA libraries
ii  libnvidia-compute-390:amd64                390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA libcompute package
ii  libnvidia-compute-390:i386                 390.59-0ubuntu0~gpu18.04.1              i386         NVIDIA libcompute package
ii  libnvidia-decode-390:amd64                 390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA Video Decoding runtime libraries
ii  libnvidia-decode-390:i386                  390.59-0ubuntu0~gpu18.04.1              i386         NVIDIA Video Decoding runtime libraries
ii  libnvidia-encode-390:amd64                 390.59-0ubuntu0~gpu18.04.1              amd64        NVENC Video Encoding runtime library
ii  libnvidia-encode-390:i386                  390.59-0ubuntu0~gpu18.04.1              i386         NVENC Video Encoding runtime library
ii  libnvidia-fbc1-390:amd64                   390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-fbc1-390:i386                    390.59-0ubuntu0~gpu18.04.1              i386         NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-gl-390:amd64                     390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-gl-390:i386                      390.59-0ubuntu0~gpu18.04.1              i386         NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-ifr1-390:amd64                   390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA OpenGL-based Inband Frame Readback runtime library
ii  libnvidia-ifr1-390:i386                    390.59-0ubuntu0~gpu18.04.1              i386         NVIDIA OpenGL-based Inband Frame Readback runtime library
ii  nvidia-390                                 390.59-0ubuntu0~gpu18.04.1              amd64        Transitional package for nvidia-driver-390
ii  nvidia-compute-utils-390                   390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA compute utilities
ii  nvidia-dkms-390                            390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA DKMS package
ii  nvidia-driver-390                          390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA driver metapackage
ii  nvidia-kernel-common-390                   390.59-0ubuntu0~gpu18.04.1              amd64        Shared files used with the kernel module
ii  nvidia-kernel-source-390                   390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA kernel source package
ii  nvidia-prime                               0.8.8                                   all          Tools to enable NVIDIA's Prime
ii  nvidia-settings                            396.24-0ubuntu0~gpu18.04.1              amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-390                           390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA driver support binaries
ii  xserver-xorg-video-nvidia-390              390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA binary Xorg driver

Il mio problema è che ogni volta che riattivo il computer dalla modalità di sospensione, lo sfondo passa a questo schema di rumore (ho impostato il colore solido):

inserisci qui la descrizione dell'immagine

Penso che valga la pena ricordare che NON ho alcun problema grafico nella schermata di accesso (a volte è stato un problema su Ubuntu 16.04). La schermata di accesso funziona perfettamente qui.

Qualche idea su come risolvere questo problema e da dove proviene?

Risposte:


16

Ho anche un problema simile. Ho una scatola Dell / Alienware con una GeForce GTX 860M, con Ubuntu 18.04.

Quando il computer si sveglia dalla sospensione, ho anche il problema con uno sfondo del desktop danneggiato, a volte bianco o con il colore "neve". Posso risolvere il problema con:

dbus-send --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval "string:global.reexec_self()"

Ho impostato il mio account per non avere una schermata di blocco al riavvio e penso che potrebbe essere pertinente. Il blocco sulla sospensione non sembra avere importanza.

EDIT: ho cambiato il mio driver nvidia da 390 a 396, e questo non ha risolto il problema. Ma più interessante, se uso un desktop Unity, il problema NON si presenta. Questo punta un dito sul software desktop Gnome forse ...

Mi piacerebbe risolverlo davvero!


Come posso ripristinarlo? Perché ha causato alcune cose inaspettate.
Esen Mehmet,

12

Un altro modo per aggirare questo problema è: Alt + F2 , quindi inserisci r e premi Invio
Questo riavvierà Gnome.


8

Ho lo stesso problema anche con Ubuntu 18.04.1. Ho la nvidia GT220, versione del driver 340.106. Il bug è stato segnalato qui: bugzilla.gnome.org molto tempo fa, riguardava Gnome 3.14 e Ubuntu 18 ora esegue Gnone 3.28. Dovrebbe essere risolto. Con il driver Nouveau non si ottiene questo problema.

Ecco cosa dice Nvidia al riguardo:

La nostra attuale architettura software non conserva il contenuto degli FBO attraverso selettori di modalità o eventi di alimentazione. Di conseguenza, la nostra implementazione si basa sul re-rendering delle applicazioni nei loro FBO in ogni frame. Questa è una limitazione fondamentale del nostro design che verrà risolta in futuro.

Gnome usa gli FBO per non dover rendere lo sfondo su tutti i frame. Ma il contenuto degli FBO non viene salvato quando il computer entra in modalità sospensione.


5

Ho anche questo problema. la soluzione alternativa per me sembra essere quella di utilizzare un'immagine come sfondo anziché utilizzare un colore.


1

Ho avuto anche lo stesso problema in Ubuntu 18.04.3 usando NVIDIA 390.129. Lo sfondo mostrava un'immagine rumorosa dopo aver svegliato il computer dalla sospensione. Non ho trovato una soluzione adeguata, ma ho hackerato un modo per impostare lo sfondo corretto eseguendo un servizio quando il computer si sveglia dalla sospensione.

Per prima cosa creiamo il file change_background.shin /usr/bin:

#!/bin/bash
source /usr/bin/discover_session_bus_address.sh
export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/
export DISPLAY=:0.0
gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/your_pick.jpeg'

Imposta il percorso per l'immagine che desideri.

Dobbiamo anche creare /usr/bin/discover_session_bus_address.she incollare il seguente codice per gentile concessione di Adam Ryczkowski . change_background.shgenera il file per impostare la DBUS_SESSION_BUS_ADDRESSvariabile di ambiente.

#!/bin/bash

# Remember to run this script using the command "source ./filename.sh"

# Search these processes for the session variable 
# (they are run as the current user and have the DBUS session variable set)
compatiblePrograms=( nautilus kdeinit kded4 pulseaudio trackerd )

# Attempt to get a program pid
for index in ${compatiblePrograms[@]}; do
    PID=$(pidof -s ${index})
    if [[ "${PID}" != "" ]]; then
        break
    fi
done
if [[ "${PID}" == "" ]]; then
    echo "Could not detect active login session"
    return 1
fi

QUERY_ENVIRON="$(tr '\0' '\n' < /proc/${PID}/environ | grep "DBUS_SESSION_BUS_ADDRESS" | cut -d "=" -f 2-)"
if [[ "${QUERY_ENVIRON}" != "" ]]; then
    export DBUS_SESSION_BUS_ADDRESS="${QUERY_ENVIRON}"
    echo "Connected to session:"
    echo "DBUS_SESSION_BUS_ADDRESS=${DBUS_SESSION_BUS_ADDRESS}"
else
    echo "Could not find dbus session ID in user environment."
    return 1
fi

return 0

Infine creiamo un file di servizio che si trova in /etc/systemd/systemdenominato, ad esempio,change_background.service

[Unit]
Description=Change background when waking up from suspend, by Edmundo. 
Before=sleep.target
StopWhenUnneeded=yes

[Service]
Type=oneshot
User=your_username
RemainAfterExit=yes
ExecStop=-/usr/bin/change_background.sh

[Install]
WantedBy=sleep.target

Assicurati di dare le autorizzazioni corrette a tutti i file.

Inizia il servizio con:

sudo systemctl enable change_background.service

Puoi controllare lo stato con:

systemctl status change_background.service

Spero che abbia risolto il tuo problema, ora lo sfondo dovrebbe essere impostato sull'immagine che hai scelto quando il computer si sveglia dalla sospensione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.