Зламаний фон робочого столу на Ubuntu 18.04 під гномом після пробудження від призупинення на nvidia-390


20

У мене є відеокарта Nvidia 1080ti, якій всього кілька днів. Крім того, у мене є чиста інсталяція Ubuntu 18.04 та останніх драйверів nvidia-390, встановлених 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

Моя проблема полягає в тому, що кожного разу, коли я прокидаю комп'ютер із режиму призупинення, фон перетворюється на цей шум (у мене суцільний кольоровий набір):

введіть тут опис зображення

Думаю, варто згадати, що у мене НЕ виникають графічні глюки на екрані входу (іноді це було проблемою на Ubuntu 16.04). Тут чудово працює екран входу.

Будь-які ідеї, як вирішити це питання і звідки воно походить?

Відповіді:


17

У мене також є подібна проблема. У мене є коробка Dell / Alienware з GeForce GTX 860M, що працює на Ubuntu 18.04.

Коли комп'ютер прокидається від призупинення, у мене також виникають проблеми із пошкодженим фоном робочого столу, іноді білим або кольоровим «снігом». Я можу виправити проблему за допомогою:

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

У мене налаштовано обліковий запис, щоб не було блокуваного екрана під час резюме, і я думаю, що це може бути актуальним. Блокування призупинення роботи, здається, не має значення.

EDIT: Я змінив драйвер nvidia з 390 на 396, і це не виправили. Але що цікавіше, якщо я використовую робочий стіл Unity, проблема НЕ виникає. Це вказує пальцем на програмне забезпечення Gnome на робочому столі ...

Я б хотів виправити це по-справжньому!


Як я можу це відновити? Тому що це викликало деякі несподівані речі.
Есен Мехмет

12

Ще один спосіб подолати цю проблему: Alt + F2 , потім введіть r і натисніть Enter
Це перезапустить Gnome.


8

У мене є та ж проблема, що працює з Ubuntu 18.04.1. У мене є nvidia GT220, версія драйвера 340.106. Про помилку повідомлялося тут: bugzilla.gnome.org давно. Це стосувалося Gnome 3.14, а Ubuntu 18 зараз працює з Gnone 3.28. Це слід виправити. З драйвером Nouveau у вас цього не виникає.

Ось що про це говорить Nvidia:

Наша сучасна архітектура програмного забезпечення не зберігає вміст FBO в режимах вимикачів або подій харчування. Як результат, наша реалізація покладається на те, щоб додатки повторно надавали їхнім ФБО кожен кадр. Це принципове обмеження нашої конструкції, яке буде виправлено в майбутньому.

Gnome використовує FBO, щоб не потрібно рендерувати фон на всіх кадрах. Але вміст FBO не зберігається, коли комп'ютер переходить у сплячий режим.


5

У мене теж є це питання. Для мене, здається, вирішення полягає в тому, щоб використовувати зображення як фон, а не використовувати колір.


1

У мене також була така ж проблема в Ubuntu 18.04.3 за допомогою NVIDIA 390.129. Фон показав галасливі зображення після пробудження комп'ютера від призупинення. Я не знайшов належного рішення, але зламав спосіб встановити належний фон для роботи служби, коли комп'ютер прокидається від призупинення.

Спочатку створимо файл change_background.shу /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'

Встановіть шлях до потрібної картинки.

Нам також потрібно створити /usr/bin/discover_session_bus_address.shта вставити наступний код люб’язно від Адама Річковського . change_background.shджерела файлу для встановлення DBUS_SESSION_BUS_ADDRESSзмінної середовища.

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

Нарешті давайте створимо сервісний файл, розташований у /etc/systemd/systemназваному, наприклад,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

Обов’язково надайте правильні дозволи для всіх файлів.

Почніть послугу з:

sudo systemctl enable change_background.service

Ви можете перевірити стан за допомогою:

systemctl status change_background.service

Я сподіваюся, що вирішив вашу проблему, тепер фон слід встановити на обраний вами вибір, коли комп'ютер прокидається від призупинення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.