Estou instalando o crossover em um laptop com gráficos Intel HD 520 integrados. Ele roda o Arch Linux de 64 bits e o driver de vÃdeo de 64 bits é mesa
(versão 19.3.3-1).
Estou instalando o crossover e tenho a seguinte opção:
:: 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
Qual opção devo escolher?
Acredito que a escolha seja entre lib32-libglvnd-git
ou lib32-mesa-libgl-noglvnd
.
Aqui está o que eu sei sobre libglvnd
:
libglvnd é uma camada de despacho neutra de fornecedor para arbitrar chamadas de API OpenGL entre vários fornecedores. Ele permite que vários drivers de diferentes fornecedores coexistam no mesmo sistema de arquivos e determina para qual fornecedor enviar cada chamada de API em tempo de execução. Ambos GLX e EGL são suportados, em qualquer combinação com OpenGL e OpenGL ES.
No entanto, ainda não sei qual opção escolher.
Eu tropecei na sua pergunta enquanto classificava em qual biblioteca compartilhada vincular meu projeto para suporte a OpenGL razoavelmente portátil no Linux. Meu entendimento (limitado) é que todas as implementações comuns do OpenGL são compatÃveis com a camada de despacho GLVND neutra do fornecedor neste ponto, portanto, deve ser a escolha padrão.
Conforme observado na descrição do pacote que você citou, o GLVND é um wrapper que despacha o uso da API para a implementação fornecida pelo fornecedor apropriado (ou seja, uma pilha de driver de GPU instalada) em tempo de execução. Meu entendimento é que as bibliotecas de API fornecidas pelo fornecedor historicamente se sobrepujaram.
O Mesa fornece implementações de API de gráficos de código aberto construÃdas sobre os drivers especÃficos do fornecedor (em oposição ao fornecedor que fornece o driver e as implementações de API em cima dele). Até onde eu sei, o Mesa não era originalmente compatÃvel com o wrapper GLVND. No entanto, parece que eles ganharam apoio há pelo menos dois anos . Só posso supor que o
lib32-mesa-libgl-noglvnd
pacote é um resquÃcio de antes disso.O repositório oficial do GLVND pode ser interessante para mais informações, assim como este tópico que você já deve ter visto. Para os curiosos, esses slides fornecem mais informações sobre o que originalmente motivou o desenvolvimento do GLVND.