Zepsute tło pulpitu na Ubuntu 18.04 pod gnome po przebudzeniu się z zawieszenia na nvidia-390

20

Mam kartę graficzną Nvidia 1080ti, która ma zaledwie kilka dni. Ponadto mam czystą instalację Ubuntu 18.04 i najnowsze sterowniki nvidia-390, używając 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

Mój problem polega na tym, że za każdym razem, gdy wybudzam komputer z trybu wstrzymania, moje tło zmienia się w ten wzór szumu (mam ustawiony jednolity kolor):

wprowadź opis zdjęcia tutaj

Myślę, że warto wspomnieć, że NIE mam żadnych błędów graficznych na ekranie logowania (czasami był to problem w Ubuntu 16.04). Ekran logowania działa tutaj idealnie.

Wszelkie pomysły, jak rozwiązać ten problem i skąd on pochodzi?

thedk
źródło

Odpowiedzi:

17

Mam też podobny problem. Mam pudełko Dell / Alienware z GeForce GTX 860M, z systemem Ubuntu 18.04.

Gdy komputer budzi się z trybu wstrzymania, mam również problem z uszkodzonym tłem pulpitu, czasem białym lub kolorem „śniegu”. Mogę rozwiązać problem za pomocą:

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

Mam skonfigurowane konto, aby nie wznawiać ekranu blokady i myślę, że może to mieć znaczenie. Lock-on-suspend nie wydaje się mieć znaczenia.

EDYCJA: Zmieniłem sterownik nvidii z 390 na 396 i to nie naprawiło tego. Ale co ciekawsze, jeśli korzystam z pulpitu Unity, problem NIE występuje. Wskazuje to na oprogramowanie komputerowe Gnome, może ...

Chciałbym to naprawić naprawdę!

Anville
źródło
Jak mogę to przywrócić? Ponieważ spowodowało to nieoczekiwane rzeczy.
Esen Mehmet,
12

Innym sposobem obejścia tego problemu jest: Alt + F2 , następnie naciśnij r i naciśnij Enter.
Spowoduje to ponowne uruchomienie Gnome.

Leonardo Leal
źródło
8

Mam ten sam problem z uruchomieniem Ubuntu 18.04.1. Mam NVIDIA GT220, wersja sterownika 340.106. Błąd został zgłoszony tutaj: bugzilla.gnome.org dawno temu. Dotyczył Gnome 3.14, a Ubuntu 18 ma teraz Gnone 3.28. Należy to naprawić. Ze sterownikiem Nouveau nie masz tego problemu.

Oto, co mówi o tym Nvidia:

Nasza obecna architektura oprogramowania nie zachowuje zawartości FBO między przełącznikami trybów lub zdarzeniami zasilania. W rezultacie nasza implementacja polega na ponownym renderowaniu aplikacji na swoich serwerach FBO w każdej ramce. Jest to podstawowe ograniczenie naszego projektu, które zostanie naprawione w przyszłości.

Gnome używa FBO, aby nie musieć renderować tła na każdej klatce. Ale zawartość FBO nie jest zapisywana, gdy komputer wchodzi w tryb uśpienia.

nikau6
źródło
5

Mam też ten problem. obejście wydaje mi się używać obrazu jako tła zamiast koloru.

frotte
źródło
1

Miałem również ten sam problem w Ubuntu 18.04.3 przy użyciu NVIDIA 390.129. W tle widać było głośny obraz po wybudzeniu komputera z trybu zawieszenia. Nie znalazłem właściwego rozwiązania, ale zhackowałem sposób ustawienia właściwego tła dla uruchomienia usługi, gdy komputer budzi się z zawieszenia.

Najpierw utwórzmy plik change_background.shw /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'

Ustaw ścieżkę do żądanego obrazu.

Musimy również utworzyć /usr/bin/discover_session_bus_address.shi wkleić poniższy kod dzięki uprzejmości Adama Ryczkowskiego . change_background.shźródło pliku, aby ustawić DBUS_SESSION_BUS_ADDRESSzmienną środowiskową.

#!/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

Na koniec stwórzmy plik usługi znajdujący się w /etc/systemd/systemnazwie na przykładchange_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

Upewnij się, że masz odpowiednie uprawnienia do wszystkich plików.

Uruchom usługę za pomocą:

sudo systemctl enable change_background.service

Możesz sprawdzić status za pomocą:

systemctl status change_background.service

Mam nadzieję, że to rozwiązało twój problem, teraz tło powinno zostać ustawione na wybrane przez ciebie zdjęcie, gdy komputer budzi się z zawieszenia.

Edmundo Sanz-Gadea
źródło