Por que o meu OpenGL Version String não corresponde à minha string de versão do perfil principal?

1

Eu estou tentando rodar alguns jogos Unity3D, que requerem "OpenGL core profile 3.2 or later para OpenGL Core renderer" (de acordo com a saída do próprio jogo).

Tanto quanto sei, tenho OpenGL 3.3. No entanto, minha saída glxinfo é muito, muito confusa:

glxinfo | grep "OpenGL"
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 6.0, 256 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.2.0-devel
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.1 Mesa 18.2.0-devel
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.2.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

Então, eu tenho "versão do perfil principal" 3.3 (maior que o exigido pelo Unity3D), mas minha "versão" é 3.1? Por que isso e o que posso fazer sobre isso?

Eu tenho um processador Intel Core i5-3320M e estou usando o Mesa 18.2 com o driver i915.

    
por Leo Tindall 23.05.2018 / 23:22

2 respostas

2

A versão core profile é a versão do GL que você pode usar em sua placa com seus drivers. Isso é o que realmente importa, geralmente.

A string de versão do OpenGL você pode simplesmente ignorar. É a versão do perfil compatível.

No entanto, o problema específico que você está tendo parece ser que seu sistema está realmente usando o renderizador llvmpipe , em vez da aceleração de hardware para sua GPU real. O valor cadeia de fornecedores deve ser algo como Centro de Tecnologia de Código Aberto da Intel com a sequência do renderizador algo como Mesa DRI Intel (R) Ivybridge Móvel . Talvez seja necessário certificar-se de que você tenha o pacote intel-microcode instalado.

    
por dobey 24.05.2018 / 02:25
0

Acontece que isso se deveu a uma cadeia de erros no processo de atualização do Ubuntu 18.04.

Bug 1 , Bug 2 , e Bug 3 fez com que qualquer sistema com libegl retornasse para llvmpipe - renderização de software.

libegl , por sua vez, foi instalado incorretamente em sistemas que não precisaram dele, devido a libnvidia-gl-390 dependendo dele.

libnvidia-gl-390 foi incorretamente exigido em muitos sistemas. A desinstalação resolve esse problema.

    
por Leo Tindall 27.05.2018 / 22:43