Ubuntu 23.04/gnome-shell 44.1 wayland で nvidia ドライバーを強制的に使用する方法

Ubuntu 23.04/gnome-shell 44.1 wayland で nvidia ドライバーを強制的に使用する方法

私は nvidia RTX 3050 GPU を搭載したラップトップを持っており、Ubuntu 23.04、gnome 44.1、wayland をインストールしました。nvidia ドライバー 530、535 を試しましたが、gnome-shell は wayland セッションで nvidia ドライバーを使用しません。intel UHD ドライバーを使用します。そのため、4k モニターでは非常に遅くなります。

$ glxinfo | egrep "OpenGL ベンダー|OpenGL レンダラー"

OpenGL ベンダー文字列: Intel OpenGL レンダラー文字列: Mesa Intel(R) UHD Graphics (TGL GT1)

X11 セッションに切り替えると、nvidia は正常に動作し、パフォーマンスも非常に良好です。

gnome-shell に nvidia 専用ドライバーの使用を強制するにはどうすればよいでしょうか?

答え1

Wayland セッションでは、udev ルールを使用してどの GPU を使用するかを制御できます。両方のドライバーが正しく動作していると仮定した場合、その方法は次のとおりです。

nano テキスト エディターで新しいファイルを作成します。

sudo nano /etc/udev/rules.d/61-mutter-primary-gpu.rules

次のコンテンツを貼り付けます。

ENV{DEVNAME}=="/dev/dri/card1", TAG+="mutter-device-preferred-primary"

CTRL + O で保存し、Enter キーを押します。システムを再起動します。

上記の例では、card1 に設定していますが、システムには card0 と card1 があると思われるので、正しいカードを見つけるには両方を試す必要があるかもしれません。私はこの方法を使用して、Wayland を使用するときに専用の Nvidia GPU から統合された AMD GPU に変更することに成功しました (AMD ドライバーは Wayland でより適切に動作します)。

関連情報