Ubuntu 21.04 では Wayland セッションが既定になりました。
しかし、私の PC 環境では GPU が GeForce 1050Ti なので Xorg のままです。
常用環境も KDE neon (Ubuntu 20.04 LTS ベース) が快適なので、まったく困りません。
とは言うものの、今のままなら次の LTS である Ubuntu 22.04 で Wayland が採用される可能性が高いです。
KDE neon は Ubuntu の 最新 LTS をベースにしているので、Wayland に関する準備を何もしてないと、いざという時に困りそうです。
....
現在、私の PC 環境は次のような構成です。
CPU | AMD Ryzen 5 2600X |
---|---|
M/B | GIGABYTE B450 AORUS PRO WIFI (BIOS: F32) |
GPU | NVIDIA GeForce GTX 1050 Ti |
OS | KDE neon User Edition 5.22 |
KDE Plasma | Version: 5.22.4 |
KDE Frameworks | Version: 5.84.0 |
Qt | Version: 5.15.3 |
Kernel | 5.11.0-25-generic |
GPU Driver | NVIDIA Driver Version: 460.91.03 |
NVIDIA 側の Wayland に対する諸々も聞き及んでます。
それでも Wayland を試したい場合は、KDE Community Wiki の記事が参考になります。
このサイトの記述に従えば現状でも Wayland を体験できます。
ただし、多少の不具合には目を瞑りましょう。
1. 事前確認
NVIDIA GPU のドライバはプロプライエタリなものです。
そして、KDE Plasma と Qt のバージョンは条件を満たしています。
後は Nvidia egl library が必要との事なので確認。
$ apt search libnvidia-egl-wayland1 ソート中... 完了 全文検索... 完了 libnvidia-egl-wayland1/focal,now 1:1.1.3-1ubuntu1 amd64 [インストール済み] Wayland EGL External Platform library -- shared library
存在しなければ、sudo apt install libnvidia-egl-wayland1
を実行します。
2. カーネル パラメータの確認と設定
記事に従い、現状のパラメータ値を確認します。
$ sudo cat /sys/module/nvidia_drm/parameters/modeset Y
この結果が N の場合は、パラメータ値を変更する必要があります。
いくつか方法があるようですが、私は/etc/default/grub
を編集しました。
- エディタで
/etc/default/grub
を開く。 - GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" の行を探す。
- GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1" にする。
- 保存して終了する。
- ターミナルから
sudo update-grub
を実行する。 - 再起動。
- ログイン時、デスクトップセッションを Plasma: (Wayland) に変更してからログインする。
- Wayland セッションを評価する。
設定は以上です。
3. ログイン
ログイン画面が表示されたら、左下のデスクトップセッションを確認します。
既定ではデスクトップセッションが Plasma: (X11) になっています。
Wayland を評価する際は、ここをクリックして Plasma: (Wayland) に変更します。
後は普段のログインと同様です。
ログイン後に nvidia のモジュールを確認すると、こんな感じです。
$ nvidia-smi Thu Jul 29 08:01:00 2021 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 460.91.03 Driver Version: 460.91.03 CUDA Version: 11.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 GeForce GTX 105... Off | 00000000:06:00.0 On | N/A | | 20% 40C P5 N/A / 75W | 281MiB / 4036MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | 0 N/A N/A 3279 G /usr/lib/xorg/Xorg 20MiB | | 0 N/A N/A 3366 G kwin_wayland 140MiB | | 0 N/A N/A 3468 G /usr/bin/plasmashell 99MiB | +-----------------------------------------------------------------------------+ $ lsmod | grep nvidia nvidia_uvm 1011712 0 nvidia_drm 57344 8 nvidia_modeset 1228800 5 nvidia_drm nvidia 34168832 601 nvidia_uvm,nvidia_modeset drm_kms_helper 237568 1 nvidia_drm drm 548864 11 drm_kms_helper,nvidia_drm $
4. 所感
ざっと試した感じでは、以前に比べて格段に進歩してます。
Firefox や Chrome 等は X11 セッション と遜色なく利用できてます。
GeForce なのに Wayland が普通に使えるなんて、なんか気持ち悪いなー
....
しかし、私が利用してる環境では問題があるため、残念ながら常用はできません。
特に問題なのが KDE の「アプリケーションメニュー」でコンテキストメニューやチップヘルプのウィンドウが正しく表現されない事です。
特にメニューの階層をマウスで辿ろうとすると、最初に描画されたウィンドウの内容のまま更新されないという、珍妙な不具合があります。
Application Dashboard が推しだから代替は後回しにされているのか、それとも GPU ドライバの問題なのか。
X11 セッションでは正常なので、どちらの問題なのでしょう?
-- 2021.9.18 追記 本日の更新により、前述の不具合は解消しました。
-- GUI で致命的な部分は無くなりましたが、なおも描画の遅延が少々気になります。
そして、Flatpak な PPSSPP や i386 な PCSX2 も色々と問題が生じます。
特に CPU 使用率は X11 セッションではありえないくらい酷い状況です。
もし改善しないのであれば、別途 PC 環境を用意して X11 セッション専用にするのも仕方ないのかな。
....
Ubuntu 22.04 LTS のリリースまで 1 年を切りましたが、それまでは OS アップデートの都度、ちまちま確認していこうと思います。