NvidiaグラフィックスカードでWaylandを動作させる方法

Nvidiawayland Card

Nvidiaは理論的には2021年末にドライバーをリリースして以来Waylandへの完全なサポートを提供していますが、その道のりは必ずしもスムーズではありません。XWaylandのようなほとんどの人が使用するコンポーネントとの相互作用については、まだ多くの作業が必要です。システムをナビゲートして正しくクリックするには、ユーザー環境とカーネルの両方で変数を設定する必要があります。

NvidiaグラフィックスカードでWaylandを動作させると、その体験は価値があります。このガイドに従えば、Nvidiaの体験はXとほとんど変わらないスムーズさになるでしょう。

役立つ情報: GPUに他の問題がある場合は、一般的なグラフィックカードの修正を試してみてください。

目次

  • Xorgをアンインストールしないでください
    1. 環境を設定する
    1. (Arch Linux) Init Ramdiskを構築する
    1. ダイレクトレンダリングマネージャを有効にする
  • ディストリビューションでのWaylandサポート
  • よくある質問

Xorgをアンインストールしないでください

まず、Xorgまたはそれを使用するデスクトップ環境をアンインストールしないでください!体験をより簡単にし、最小限のフラストレーションで済むように、安全なオプションを持つことは常に良いことです。何かがうまくいかなかった場合に備えて、Xを「セーフモード」と考えてください。このガイドで行うことは、Xorgには影響を与えません。

1. 環境を設定する

NvidiaグラフィックスカードでWaylandを動作させるために設定する環境変数がいくつかあります。ここに統一された標準がないため、Nvidiaがあなたに不快感を抱かないように、非常に一般的な設定を行います。

Nvidiawayland Environment

環境を設定するための手順は次のとおりです:

  1. 環境をホームディレクトリにバックアップします:
sudocp/etc/environment ~/environment.bak
  1. ユニバーサル環境ファイルを開きます:
sudonano/etc/environment
  1. Qtアプリケーションを使用する予定がある場合(通常はいくつか持っています)、ファイルの任意の場所に次の行を追加します:
QT_QPA_PLATFORMTHEME="wayland;xcb"
  1. NvidiaがGBMバックエンドを使用するように強制するため、次の環境変数を追加します(互換性のあるLinux環境の大多数と一緒に使用できます):
GBM_BACKEND=nvidia-drm  
__GLX_VENDOR_LIBRARY_NAME=nvidia  
ENABLE_VKBASALT=1  
LIBVA_DRIVER_NAME=nvidia
  1. ハードウェアカーソルのレンダリングが一部の環境で失敗する可能性があるため、もう1つのオプションの変数があります。これは、Waylandをテストしたときに画面にカーソルが表示されない場合にのみ必要です。

ただし、これを追加して後で削除してテストすることは問題ありません:

WLR_NO_HARDWARE_CURSORS=1

知っておくと良いこと: フェドラでWayland GDMの問題を解決するには、私たちのガイドを参照してください。

2. (Arch Linux) Init Ramdiskを構築する

ほとんどの人気のあるディストロは、ブートプロセスを初期化し、カーネルが魔法を発揮して実行状態になるようにRAMに一時ファイルシステムをロードする「初期ramdisk」(initramfs)で起動します。

Nvidiawayland Mkinitcpio

この初期ramdisk内では、Nvidiaのさまざまなコンポーネントをロードし、カーネル内の表示解像度をロードできるようにしなければなりません。これは重要です。なぜなら、Waylandはフレームバッファを簡略化し、カーネルにより近い通信を行うからです。

UbuntuやFedoraのような人気のあるディストロでは、Nvidiaが問題に直面することはないはずです。なぜなら、これらのシステムはinitramfsがどのモジュールをロードするかについてあまり区別をしないようにすでに設定されているからです。しかし、Archの非常にモジュラーな構造は、特定のモジュールを手動で読み込む必要があります。

このプロセスは、聞こえるほど恐ろしいものではありません。ただし、これらの手順に注意して従ってください:

  1. 初期ramdisk構成を編集します(バックアップを作成することを忘れずに):
sudonano/etc/mkinitcpio.conf
  1. MODULES=()行の下に、括弧内に次の内容を追加します:
nvidia nvidia_modeset nvidia_uvm nvidia_drm

括弧の中にすでに他のモジュールがある場合は、これらのモジュールを最後に追加してください。すでにNvidiaのモジュールがある場合は、リストから欠落しているものを追加してください。

  1. すべてのinitramfsイメージのために初期ramdiskを再生成します(これが-Pフラグの目的です):
sudo mkinitcpio -P

「ファームウェアが不足している」という怖い警告がたくさん表示されるのを見て、気にしないでください。それは通常起こることで、心配する必要はありません。これは、使用できないハードウェアのファームウェアパッケージが不足している場合のニッチな状況にのみ有益です。

ヒント: 一部のゲームはプロセッサに過度の負荷をかけることがありますが、Linuxでの高いCPU使用率を迅速に修正できます。

3. ダイレクトレンダリングマネージャを有効にする

Linuxのダイレクトレンダリングマネージャ(DRM)は、カーネルがGPUと連携することを可能にします。NvidiaとWaylandが協力できるようにするためには、ブートローダのカーネルパラメータ内でNvidiaのDRMモード設定が使用されることを確認する必要があります:

  1. デフォルトのGRUB構成を編集します(再度、常にバックアップが存在することを確認してください):
sudonano/etc/default/grub
  1. GRUB_CMDLINE_LINUX_DEFAULTで始まる行を探します。存在しない場合(例えば、Fedoraでは存在しません)、次のように作成します:GRUB_CMDLINE_LINUX_DEFAULT=""
  2. 引用符内に次を追加します:
nvidia-drm.modeset=1
  1. Grubの設定を更新します:

Ubuntu/Debian/Mintベースのすべての場合:

sudo update-grub

Fedora/RHELの場合:

sudo grub2-mkconfig -o/boot/grub2/grub.cfg

Archベースのすべての場合:

sudo grub-mkconfig -o/boot/grub/grub.cfg

すべてが完了すれば、NvidiaハードウェアでWaylandを実行する際に、システムははるかに簡単に動作するでしょう!

次のステップ: Waylandが動作するようになったので、グラフィックスカードのストレステストを行うことができます。

ディストリビューションでのWaylandサポート

Ubuntu、Fedora、その他のいくつかの特定のディストロでは、ソフトウェアの最新バージョンにアップグレードすればNvidiaグラフィックスカードでWaylandを動作させることができます。Ubuntuは、22.04バージョン以降、修正されたGNOMEデスクトップのデフォルトセッションとしてWaylandを提供しており、Fedoraはそれよりもずっと長い間そうしてきました。最新のディストリビューションバージョンを使用していることを確認してください。

Nvidiawayland Sddm

Linux Mintのような他のものは、デスクトップ環境のオーバーホールが優先されていないため、Waylandを実行するのに苦労するでしょう。しかし、それは代替オペレーティングシステムをインストールすることを妨げるものではありません。GNOMEはすぐにサポートを提供しますが、KDE Plasmaは追加のパッケージが必要ないかもしれません。

Debianベース/Ubuntuベースのシステム

システムがGNOMEを実行している場合、すでにWaylandサポートがあります。GNOMEをインストールする必要がある場合は:

sudo apt install gnome

KDE Plasmaの場合、デスクトップ環境とWaylandコンポジタの両方を個別にインストールする必要があります:

sudo apt install kde-standard plasma-workspace-wayland

これで完了です!再起動すると、表示マネージャでWaylandにアクセスできるようになります。

Archベースのシステム

GNOMEデスクトップ環境を提供する他のディストロと同様に、Arch LinuxにインストールすることでWaylandが自動的にサポートされます:

sudo pacman -S gnome

KDE Plasmaのインストールも非常に簡単です:

sudo pacman -S plasma-meta plasma-wayland-session

これらのコマンドのどちらでも、表示マネージャー(より一般的にはログイン画面で知られる)にWaylandが含まれます。

また、XWaylandもインストールすることを忘れないでください:

sudo pacman -S xorg-xwayland

すべてのインストールが完了したら、再起動し、ログイン画面からインストールしたデスクトップ環境のWayland対応バージョンを選択します。

よくある質問

Waylandは本当に価値がありますか?

これらの変更を加えた後も、いくつかのことが正しく動作しないことに気付くかもしれません。Nvidiaに関する多くの問題は解決されていますが、多くのアプリケーションはWaylandとの互換性に小さなが鬱陶しい問題を抱え続けています。Waylandと多くのアプリケーションは継続的にアクティブに開発されていることを考慮することが重要です。ほとんどの問題は、最終的には解消されるでしょう。

Waylandに対してあまりにもイライラする場合は、Xに戻してください。ただし、Waylandパッケージをアンインストールすることはお勧めしません。なぜなら、Xは日々より多くのアプリケーション開発者によって放棄されたソフトウェアと認識されているからです。たまに、あなたの問題が解消されてきたかどうかを確認してみてください。

ディスプレイマネージャがWaylandオプションを表示しない場合はどうすればいいですか?

ほとんどのディスプレイマネージャは、お気に入りのデスクトップ環境のWaylandプロトコル実装を表示するはずですが、これはいつもそうではありません。これに対する解決策は、別のディスプレイマネージャを試すことです。KDE Plasma(SDDM)やGNOME(GDM)に付属するものは問題なく動作します。LightDMも問題なく動作すると知られています。

画像提供: Pixabay。すべてのスクリーンショットはミゲル・ゴメスによるものです。