
Linux愛好家として、私はOpenGLの開発を趣味にしたいと思います。
OpenGLは、GPUベンダーが実装する必要があるAPIにすぎないことを知っています。
一部のGPUベンダーのOpenGL / Vulkan実装は排他的ですが、他のベンダーはオープンソース(Intelなど)です。
私はオープンソースが好きなので、開発時に排他的なものを使用していないことを確認したいと思います。それでは、私のGPUが現在のレンダリングにMesaを使用していることをどうやって確認できますか?
私がこの質問をしたのは、オンラインでさまざまなメッセージを受け取ったからです。 Mesaをまだインストールできると言われたからです。しかし、GPUは他の独自技術を使用するので、これが私が理由を尋ねているのです。
どんな助けでも大変感謝します。
答え1
長い話を短く
端末で実行します。
glxinfo | grep -i mesa
出力に何かが表示されたら、メサを使用する必要があります。何も出てこないと違うんです。
他のものであれば、glxinfo | grep -i vendor
それが何であるかを教えてください。
完全な説明:
したがって、まずどのOpenGL / Vulkan実装を選択するかは重要ではありません。使用する実装は、使用するGPUドライバによって異なります。したがって、実際にやりたいことは、MesaサポートGPUドライバを使用していることを確認することです。
つまり、GPUドライバには多くのオプションがありません。 IntelまたはAMDを使用している場合は、Mesaで動作するオープンソースドライバをすでに使用している可能性が高くなります。 Intelには他のオプションはなく、AMDの排他的なドライバは廃止されました。
Nvidiaを使用すると、もう少し複雑になります。現在のドライバーには、公式および排他的なNvidiaドライバー、公式Nvidiaドライバーのオープンソースバージョン、およびヌーボーの3種類があります。
最初は最高のパフォーマンスを提供しますが、前述したように、これは排他的であり、独自のOpenGL実装を提供します。カウンタートップには使用できません。
2つ目は今年5月にリリースされた新しいものです。これは独自のドライバのオープンソースバージョンです。独自のOpenGL実装もありますが、Mesaではありません。しかし、これはオープンソースであり、独自のソフトウェアと同様のパフォーマンスを提供します。
最後の nouveau は、Nvidia 独自のドライバーをリバースエンジニアリングしてコミュニティーによって作成された Nvidia の古いオープンソースドライバーです。これは、NvidiaのGPUでオープンソースドライバを本当に使用したい場合は唯一のオプションであり、Mesaでも動作しました。リバースエンジニアリングに基づいているため、パフォーマンスが良くありません。
要約すると、Nvidia GPUを使用してMESAを使用する必要がある場合はnouveauに行くことができますが、パフォーマンスが低下するためお勧めできません。オープンソースのみを探している場合は、Nvidiaの公式ドライバのオープンソースバージョンをインストールしてください。 (他のすべてのドライバを削除し、使用したいドライバのみをインストールしてください。)
しかしそれにもかかわらず、一つは明らかにしなければなりません。
何かを開発するときに排他的なものを使用していないことを確認したいと思います。
本当に「コンピュータを開発および/または使用するときに排他的なコンテンツを使用していないこと」を確認したいですか?それとも、「開発中のソフトウェアのどれも独自のコンテンツを使用していない」ことを確認したいですか?
後者の場合は、どのドライバや実装を使用しているか気にする必要さえありません。とにかくすべてOpenGLであり、OpenGL自体がオープンであるため、コード内で排他的なものは使用しません。前者の場合は、前述したように正しいドライバをインストールすればよいです。