Arch-Linux

要安裝哪個軟體包:lib32-libglvnd-git 或 lib32-mesa-libgl-noglvnd?

  • February 27, 2020

我正在集成 Intel HD 520 顯卡的筆記型電腦上安裝交叉。它執行 64 位 Arch Linux,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 是一個供應商中立的調度層,用於仲裁多個供應商之間的 OpenGL API 呼叫。它允許來自不同供應商的多個驅動程序在同一個文件系統上共存,並確定在執行時將每個 API 呼叫分派給哪個供應商。支持 GLX 和 EGL,與 OpenGL 和 OpenGL ES 任意組合。

但是,我仍然不知道該選擇哪個選項。

我在整理將我的項目連結到哪個共享庫以在 Linux 上提供合理可移植的 OpenGL 支持時偶然發現了您的問題。我的(有限的)理解是,此時所有常見的 OpenGL 實現都與供應商中立的 GLVND 調度層兼容,因此它應該是預設選擇。

正如您引用的包描述中所述,GLVND 是一個包裝器,它在執行時將 API 使用分派給適當的供應商提供的實現(即安裝的 GPU 驅動程序堆棧)。我的理解是,供應商提供的 API 庫在歷史上相互破壞。

Mesa提供建立在供應商特定驅動程序之上的開源圖形 API 實現(而不是供應商在其之上提供驅動程序和 API 實現)。據我所知,Mesa 最初與 GLVND 包裝器不兼容。但是,他們似乎至少在兩年前獲得了支持。我只能假設該lib32-mesa-libgl-noglvnd軟體包是之前的保留。

官方 GLVND 儲存庫可能對更多資訊感興趣,以及您可能已經看到的這個執行緒。對於好奇的人,這些幻燈片提供了有關最初推動 GLVND 發展的更多資訊。

引用自:https://unix.stackexchange.com/questions/567538