kmuto’s blog

はてな社でMackerel CREをやっています。料理と旅行といろんなIT技術

DebianでNVIDIA出力のレジュームに失敗するようになった

来月にリリースが迫ってきたということで、家のDebian GNU/Linuxも一足早くDebian 11 bullseyeからDebian 12 bookwormに更新してみた。

アップデート自体はaptのupgradeとdist-upgrade、あとはgemやpip類の入れ直し程度で済み、正直ソフトウェアのバージョンが上がった以外は拍子抜けなほどに変化はない。Emacsも新しくなったけどあらゆるちゃんと動いている。

ibusChromeの競合で大量にエラーが出るというbullseye環境の一大問題が解決したのは最高。

……ということで順調だなと思っていたのだが、GNOMEサスペンド後、レジュームで画面が戻ってこず、スクリーンが表示されない場面がそこそこ頻繁に発生することに気付いた。

サスペンドしてすぐに起動してみると問題なく表示されるが、サスペンドしてしばらく放っておくと信号がこない。OSやネットワークとしては生きており、sshで入ってgdm3を再起動すると(ログインセッションは当然全部死ぬが)画面は戻ってくる。

NVIDIA Driverをbookwormの525.105.17-1からexperimentalの530.41.03-1にしてみたが状況は好転せず。bullseyeのドライバ470.182.03に戻すのは依存関係諸々で難しい。

syslogや/var/log/Xorg.0.log、dmesgには情報なし。というか一度サスペンドするとServer terminated successfullyでXorg.0.log終わっちゃうのね(正常にレジュームできるときでもこれは変わらない)。

Waylandにしてみるのはどうだろう、とやってみたのだが、現状NVIDIAとWaylandはうまくいかないとのことで、実際無理矢理modesetを有効にしてWaylandに遷移するようにしてみたが、真っ暗画面になってしまった(これもOSは動いていてsshはできる)。

はて困ったな……といろいろ試していったところ、persistenceモードを使わないようにする、というのが今のところ最も効果を上げている。以下でpersistenceモードをオフにした。

sudo nvidia-smi -pm 0

とはいえ、これで万事解決とは言えない。

現在の環境はモニタ(U3219Q)のKVM機能を使ってDPに当該のDebianマシン、USB-Cにmacをつないでいる。両方起動中のときには、KVM切り替えで問題なく画面は行き来できている。問題は次の2つの操作のときにときどき発生する。規則性は不明、ログも出ない。

  • mac側を使っているときにDebianマシンをレジュームすると、DPに切り替えても画面が出ない「ことがある」
  • 起動中のDebianマシンにリモートログインしてサスペンド(systemctl suspend)すると、その後macの起動していない状態でレジュームしても画面が出ない「ことがある」

常に失敗しているならまだ何か糸口はありそうなのだが……。当面は必ず画面をDebian側に切り替えてからレジュームなりサスペンドなりをすることを覚えるか、あるいはもう諦めて毎回gdm3なりOSなりを再起動すればいいだろうと開き直るか。

NVIDIAドライバの問題の線が濃厚ではあるので、experimentalに何かあればまた試してみよう。