DUICUO

Nvidia のオープンソース ドライバーはなぜ Linux にとってそれほど重要なのでしょうか?

Red Hat のデスクトップ、グラフィックス、インフォテインメント、i18n 担当ディレクターの Christian FK Schaller 氏が、NVIDIA のオープンソース Linux GPU カーネル モジュールについての考えを共有し、Linux コミュニティに対する NVIDIA のオープンソース ドライバーの重要性を分析しました。

オープンソース ドライバーとは何ですか?

まず第一に、NVIDIA がツリー外のカーネルドライバーをオープンソース化していることを明確にしておくことが重要です。これらのドライバーはテスト済みで、データセンターで使用される GPU における CUDA ユースケースをサポートしていますが、グラフィックスディスプレイのサポートはまだ提供されていません。グラフィックスディスプレイをサポートするコードは存在しますが、完全に記述されておらず、テストも完了していません。

さらに、オープンソースなのはカーネル部分のみであり、最新のグラフィックスドライバーの大部分はファームウェアとユーザー空間コンポーネントに存在し、これらは依然としてクローズドソースのままです。そのため、平均的なLinuxデスクトップユーザーにとって、NVIDIAのオープンソースドライバーは現時点では明確なメリットを提供していません。

しかし、現在では Linux カーネルで GPL のみの API を使用できる NVIDIA カーネル ドライバーが存在するため、スイッチのその後の実装の基盤が築かれます。

オープンソース ドライバーはバイナリ ドライバーを置き換えることができますか?

現時点では動作しません。このオープンソースドライバーは、NVIDIA Turingチップ以降のグラフィックプロセッサのみをサポートしているため、2018年以前にリリースされたグラフィックプロセッサでは動作しません。さらに、オープンソースカーネルモジュールが完全にテストされ、グラフィックディスプレイのユースケース向けに拡張されるまでは、Turing以降のGPUを使用している場合でも、システム上でバイナリドライバーを使用する必要があります。

さらに、前述のように、最新のグラフィックス ドライバーの大部分はファームウェアとユーザー空間コンポーネントに存在します。そのため、オープン ソース カーネル ドライバーにグラフィックス表示機能があっても、バイナリ ドライバーは存在し続けることになります。

オープンソース ドライバーは Nouveau にどのような影響を与えますか?

Nouveauは、NVIDIA GPU向けの高品質で無料のドライバーを開発するために設計されたオープンソースのドライバープロジェクトです。当初はリバースエンジニアリングされたドライバーとして開発されましたが、近年NVIDIAから多大な支援を受けています。Nouveauは完全に機能しますが、NVIDIAグラフィックカードのクロック速度を再計算できないなどの制限があり、バイナリドライバーの完全なパフォーマンスを発揮できません。NVIDIAのオープンソースGPUカーネルモジュールは、Nouveauコミュニティとプロジェクトにとって大きな助けとなっています。

Linuxカーネルでは、同一ハードウェアに対して複数のドライバの使用が許可されていないことに注意することが重要です。そのため、新しいNVIDIAカーネルドライバを現在のLinuxディストリビューションで動作させるには、現在のNouveauドライバを廃止するか、少なくとも異なるハードウェアセットに限定する必要があります。バイナリドライバと同様に、Nouveauの大部分はカーネルではなく、MesaおよびNVIDIAが現在提供しているNouveau専用ファームウェアに含まれるユーザー空間部分に含まれています。

現在、NVIDIAやRad Hatなどのディストリビューションは、NVIDIAのバイナリドライバとMesaで単一のカーネルドライバを共有する計画について議論しています。これは、NVIDIAとMesaの両方のユーザースペースのニーズを満たすように設計された、完全に新しいドライバが必要になる可能性が高いです。ただし、実装には数年かかる可能性があります。これは、オープンソースコミュニティとNVIDIAの両方にとって大きなメリットとなります。オープンソースコミュニティにとっては、単一のカーネルドライバとファームウェアによってGPUクロックを調整し、NVIDIAグラフィックスカードに期待されるディスプレイパフォーマンスを実現できることを意味します。また、Linuxでは、次世代NVIDIAハードウェアのファームウェアとカーネルのアップデートに即座にアクセスできるドライバが提供されます。

オープンソース ドライバーは Linux ディストリビューションにとって何を意味しますか?

短期的には大きな影響はないでしょう。しかし、時間の経過とともに、NVIDIAハードウェアのサポートを根本的に簡素化する方法を提供します。長期的には、LinuxがIntelおよびAMDハードウェア向けに提供しているのと同様の機能を、ユーザーがNVIDIAハードウェアで体験できるようになるでしょう。つまり、すぐに使える機能の一部です。

オープンソースであることは、Linuxディストリビューションが新しいNVIDIAチップをリリース次第すぐにサポートできることを意味します。高性能なNVIDIAオープンソースMesaドライバにより、LinuxディストリビューションはNVIDIAドライバやカーネルの他の部分に署名し、セキュアリブートなどの機能を実現できるようになります。

最初のオープンソース ドライバー バージョンである R515 はコンピューティング GPU 用に設計されているため、これらのオプションも最初にコンピューティング ユーザーに提供され、次にグラフィック カード ユーザーに提供される予定です。

次は何?

NVIDIAは、コンピューティングとグラフィックスの両方のユースケースに適用可能なこの新しいドライバ機能の開発を継続する必要があります。LinuxコミュニティとNVIDIAは、将来的に統合カーネルドライバの計画について協力し、それを中心としたモデルを開発する必要があります。LinuxコミュニティとNVIDIAは共に、AMD向けにRADVが提供されているのと同様に、Mesa Vulkanドライバのようなものを追加する必要があります。