nvidia-390でサスペンドから復帰した後、gnomeの下でUbuntu 18.04のデスクトップの背景が壊れる


19

Nvidia 1080tiグラフィックカードを持っていますが、これは数日前のものです。さらに、apt 18.04のクリーンインストールと、aptを使用した最新のnvidia-390ドライバーがインストールされています。

~$ 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では時々問題になりました)。ログイン画面はここで完全に機能します。

この問題を解決する方法とそれがどこから来たのか?

回答:


16

私も同様の問題を抱えています。Ubuntu 18.04を実行するGeForce GTX 860Mを搭載したDell / Alienwareボックスがあります。

コンピューターがサスペンドから復帰したときに、デスクトップの背景が破損している場合、時には白である、または色が「雪」であるという問題もあります。私は問題を修正できます:

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

再開時にロック画面が表示されないようにアカウントを設定していますが、それは関連があると思います。ロックオンサスペンドは重要ではないようです。

編集:nvidiaドライバーを390から396に変更しましたが、修正されませんでした。しかし、さらに興味深いことに、Unityデスクトップを使用すると、問題は発生しません。これは、おそらくGnomeデスクトップソフトウェアを指しています。

これを実際に修正したいと思います!


これを元に戻すにはどうすればよいですか?それはいくつかの予期しないことを引き起こしたからです。
Esen Mehmet

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の内容を保持しません。その結果、私たちの実装は、フレームごとにFBOに再レンダリングするアプリケーションに依存しています。これは、将来修正される設計の基本的な制限です。

GnomeはFBOを使用して、すべてのフレームで背景をレンダリングする必要がありません。ただし、コンピューターがスリープモードに入ると、FBOの内容は保存されません。


5

私もこの問題を抱えています。私の回避策は、色を使用する代わりに画像を背景として使用することです。


1

NVIDIA 390.129を使用するUbuntu 18.04.3でも同じ問題が発生しました。コンピューターがサスペンドから復帰した後、背景にノイズの多い画像が表示されました。適切な解決策は見つかりませんでしたが、コンピューターがサスペンドから復帰したときにサービスを実行する適切なバックグラウンドを設定する方法をハッキングしました。

最初にファイル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'

必要な画像へのパスを設定します。

また、Adam Ryczkowskiの厚意により/usr/bin/discover_session_bus_address.sh次のコードを作成して貼り付ける必要があります。環境変数を設定するためにファイルを入手します。change_background.shDBUS_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/systemnamedにあるサービスファイルを作成しましょう。たとえば、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

コンピュータがサスペンドから復帰したときに、選択した画像に背景が設定されるようになったことで、問題が解決したことを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.