web-dev-qa-db-ja.com

インストールするパッケージ:lib32-libglvnd-gitまたはlib32-mesa-libgl-noglvnd?

Intel HD520グラフィックスが統合されたラップトップにクロスオーバーをインストールしています。 64ビットのArchLinuxを実行し、64ビットのディスプレイドライバーはmesa(バージョン19.3.3-1)です。

クロスオーバーをインストールしていますが、次の選択肢があります。

:: There are 8 providers available for lib32-libgl:
:: Repository AUR
    1) catalyst-test 2) lib32-amdgpu-pro-libgl 3) lib32-catalyst-libgl 4) lib32-libglvnd-git 5) lib32-mesa-libgl-noglvnd 6) lib32-nvidia-340xx-utils 7) lib32-nvidia-libgl-352 8) lib32-nvidia-libgl-llb

どのオプションを選択すればよいですか?

選択はlib32-libglvnd-gitまたはlib32-mesa-libgl-noglvndの間だと思います。

libglvndについて私が知っていることは次のとおりです。

libglvndは、複数のベンダー間でOpenGLAPI呼び出しを調停するためのベンダー中立のディスパッチレイヤーです。これにより、異なるベンダーの複数のドライバーを同じファイルシステムに共存させ、実行時に各API呼び出しをディスパッチするベンダーを決定できます。 OpenGLおよびOpenGLESとの任意の組み合わせで、GLXとEGLの両方がサポートされます。

ただし、どのオプションを選択すればよいかはまだわかりません。

1
MountainX

Linuxでの適度に移植可能なOpenGLサポートのために、プロジェクトをリンクする共有ライブラリを分類しているときに、あなたの質問に出くわしました。私の(限定された)理解では、すべての一般的なOpenGL実装は、この時点でベンダーニュートラルなGLVNDディスパッチレイヤーと互換性があるため、デフォルトの選択である必要があります。

引用したパッケージの説明に記載されているように、GLVNDは、実行時に適切なベンダー提供の実装(つまり、インストールされたGPUドライバースタック)にAPIの使用をディスパッチするラッパーです。私の理解では、ベンダーが提供したAPIライブラリは、歴史的に互いに混乱していました。

Mesa は、ベンダー固有のドライバーの上に構築されたオープンソースのグラフィックスAPI実装を提供します(ベンダーがドライバーとAPI実装の両方をその上に提供するのとは対照的です)。私の知る限り、Mesaは元々GLVNDラッパーと互換性がありませんでした。しかし、彼らは 少なくとも2年前に支持を得た のようです。私はlib32-mesa-libgl-noglvndパッケージはそれ以前からのホールドオーバーです。

公式GLVNDレポ は、あなたがすでに見たかもしれない このスレッド と同様に、より多くの情報のために興味があるかもしれません。好奇心旺盛な方のために、 これらのスライド GLVNDの開発の元々の動機についての詳細情報を提供してください。

1