Ubuntu 20.04
NVIDIAのプロプライエタリドライバを使ってるとどうもUbuntu 20.04はWaylandでの起動を無効にするらしい:
- https://askubuntu.com/questions/1240813/wayland-in-ubuntu-20-04-intelgpu
- https://askubuntu.com/questions/1369250/how-do-i-enable-wayland-on-ubuntu-21-10-nvidia
が、私の環境では以下の手順を踏むと有効化できた。
gnome-session-waylandのインストール
sudo apt install gnome-session-wayland
なくてもいいかもしれないらしい
/etc/gdm3/custom.conf の確認
WaylandEnable=false
がコメントアウトされていることを確認
/usr/lib/udev/rules.d/61-gdm.rules の設定
元は以下のようになっていた
# disable Wayland on Hi1710 chipsets
ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="/usr/lib/gdm3/gdm-disable-wayland"
# disable Wayland when using the proprietary nvidia driver
DRIVER=="nvidia", RUN+="/usr/lib/gdm3/gdm-disable-wayland"
が、全てコメントアウトしておく。
/etc/default/grub の設定
GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1"
を足し、sudo update-grub
をする。再起動。ログイン画面のパスワード入力時に右下に出る歯車でWaylandを選択し、echo $XDG_SESSION_TYPE
がwaylandになれば成功。
libnvidia-egl-wayland1 のインストール
sudo apt install libnvidia-egl-wayland1
をするとハードウェアアクセラレーションが使われるらしいが、差を感じなかった。
Ubuntu 22.04
状況が変わったような感じがする。少なくとも /usr/lib/udev/rules.d/61-gdm.rules
の中身がものすごく長くなった。
Ubuntu 22.04では以下のことをするだけでよくなっていた。
/etc/default/grub の設定
GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1"
を足し、sudo update-grub
をする。再起動。ログイン画面のパスワード入力時に右下に出る歯車でWaylandを選択し、echo $XDG_SESSION_TYPE
がwaylandになれば成功。