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の両方がサポートされます。
ただし、どのオプションを選択すればよいかはまだわかりません。
Linuxでの適度に移植可能なOpenGLサポートのために、プロジェクトをリンクする共有ライブラリを分類しているときに、あなたの質問に出くわしました。私の(限定された)理解では、すべての一般的なOpenGL実装は、この時点でベンダーニュートラルなGLVNDディスパッチレイヤーと互換性があるため、デフォルトの選択である必要があります。
引用したパッケージの説明に記載されているように、GLVNDは、実行時に適切なベンダー提供の実装(つまり、インストールされたGPUドライバースタック)にAPIの使用をディスパッチするラッパーです。私の理解では、ベンダーが提供したAPIライブラリは、歴史的に互いに混乱していました。
Mesa は、ベンダー固有のドライバーの上に構築されたオープンソースのグラフィックスAPI実装を提供します(ベンダーがドライバーとAPI実装の両方をその上に提供するのとは対照的です)。私の知る限り、Mesaは元々GLVNDラッパーと互換性がありませんでした。しかし、彼らは 少なくとも2年前に支持を得た のようです。私はlib32-mesa-libgl-noglvnd
パッケージはそれ以前からのホールドオーバーです。
公式GLVNDレポ は、あなたがすでに見たかもしれない このスレッド と同様に、より多くの情報のために興味があるかもしれません。好奇心旺盛な方のために、 これらのスライド GLVNDの開発の元々の動機についての詳細情報を提供してください。