NVIDIA の独自ドライバではサスペンドできない

NVIDIA の独自ドライバではサスペンドできない

Ubuntu 16.04 LTSとnvidia-340を使用しています。

NVIDIA ドライバーを有効にすると、サスペンドから再開できません。

Intel ドライバーに切り替えるか、Nouveau ドライバーを使用すると、サスペンドから回復できます。

カーネルを更新してみましたが、問題は解決しませんでした。

NVIDIA の専用ドライバーでこの問題を解決する方法はありますか?

そうでない場合、独自の NVIDIA ドライバーの代わりに nouveau ドライバーを使用すると、パフォーマンスが大幅に低下しますか?

答え1

サスペンド/休止状態/再開は、pm-utils( utilities and scripts for power management) パッケージを通じてグラフィック カードに特別な処理を追加してカスタマイズできます。 、、、、、manのページを読み、内のファイルを読んでください。pm-actionpm-powersavepm-is-supportedpm-suspend-hybridpm-hibernatepm-suspend/usr/share/doc/pm-utils/

答え2

最新の nvidia-driver-495 を使用することで、ブート パラメータをリセットできました。すべて正常に戻りました...


更新しました

次のブート パラメータを ( にGRUB_CMDLINE_LINUX_DEFAULT) 追加すると、問題は解決しました。

acpi_osi=! acpi_osi="Windows 2009"

[ /etc/default/grub では二重引用符"をバックスラッシュでエスケープする必要があります]\

賛辞https://github.com/Bumblebee-Project/Bumblebee/issues/764#issuecomment-594328434(バンブルビーは使ってないけど…)

システムは次の要素から構成されます:

  • NVIDIA Corporation GP107M [GeForce GTX 1050 Ti モバイル] / NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2
  • Ubuntu 20.04.3 を実行
  • nvidia-driver-470の使用

回避策として(もう動作しません...)私の場合は、コマンドライン経由でサスペンドします (つまり、トップバーの「サスペンド」を使用したり、蓋を閉じたり、pm-suspend からのフックを使用したりしません)。

systemctrl suspend

まだ試していない(コピーした)NVIDIA フォーラムからの解決策:

https://forums.developer.nvidia.com/t/problem-with-resume-from-suspend-ubuntu-16-04-gt-940mx/51410/172

簡単に答えると、何が起こるか- 再開プロセス Linux (+systemd) でモニターをオンにし忘れます。したがって、問題を解決するには、モニターをオンにするだけです。

簡単な解決策(それがあなたにとって役立つかどうかの簡単なテスト) Ctrl+Alt+F1ログイン プロンプトが表示されるので、通常のユーザー (root ではない) としてログインし、次の操作を実行します (1 行のコマンド):

chvt 7 ; sleep 3; xrandr --display :0.0 --auto

長い解決策 360 ドライバーをインストールし、すべてをインストールしてnvidia-*.service/usr/bin/nvidia_sleep.sh 470 ドライバーをインストールします (フォルダーにこの systemd サービスが含まれていません/usr/share/doc/nvidia-*)。編集して/usr/bin/nvidia_sleep.sh 、chvt コマンドの後の resume セクションで、xserver ユーザーの下に追加します。

sleep 3; xrandr --display :0.0 --auto

また、XServer ユーザーとして root (他のユーザーでも可) を追加する必要があるため、動作中の XSession で root が xrandr を実行できるようにする必要があります。/etc/X11/xinit/xinitrc を編集して以下を追加します。

xhost +localhost

または

xhost +root@localhost

動作を確認してください:

sudo su -l xrandr

動作するはずです。

関連情報