現象
HDMIで外部ディスプレイに接続した状態で放置していたUbuntuPCを操作しようとしたところ、黒画面にマウスカーソルだけが表示される状態になった
環境
OS:Ubuntu 22.04
Kernel:5.15 系
GNOME:42.9
セッション:Wayland
GPU:Intel
試したこと
Ctrl + Alt + F3で仮想コンソールに入り、以下を実行
$ sudo apt install --reinstall gnome-shell ubuntu-desktop
$ sudo systemctl restart gdm3
上記コマンドを叩いたら治った
再度起きたら嫌だなと思い調べることに
解析
$ journalctl /usr/bin/gnome-shell -b --no-pager
こんなログを発見した
Failed to post KMS update: drmModeAtomicCommit: Invalid argument
いろいろ調べていくと、こんなやりとりを見つけました
引用
https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1968040
どうやらubuntu 22.04における既知バグだそう
回避策として
/etc/environment
この設定ファイルに対し
Ubuntu 22.04であれば
MUTTER_DEBUG_ENABLE_ATOMIC_KMS=0
Ubuntu 24.04であれば
MUTTER_DEBUG_FORCE_KMS_MODE=simple
を追記して再起動
Atomic KMSをオフにすれば起きないようですね
つまり、KMS(Kernel Mode Setting)のAtomic Commitに失敗しているために起きるエラーだとわかります
追記(251213)
別のUbuntuPCで発生してしまったので、
試しに下記コマンドで対応したところ無事にGUIが復活しました
sudo vi /etc/environment
設定ファイルに上記の回避策にある文を追記
sudo systemctl restart gdm3
GNOME Display Managerの再起動だけで大丈夫でした
sudo rebootまでする必要はないようです
結論
この不具合は、Wayland環境で使用されているAtomic KMSに失敗。つまり、画面描画更新が失敗したことで起きているようです
OS側の既知バグ
回避策として
Wayland環境をそのまま使用し続けるのであれば、上記に示した Atomic KMSの無効化の実施
Wayland環境にこだわらなければ、Xorgに切り替えることでも回避できそうです