Atualizando os drivers do OpenGL

3

Estou tentando aprender o OpenGL e a maioria dos tutoriais da Internet só oferece diretrizes para o OpenGL 3.0 e superior. Então eu procurei pela minha versão do OpenGL e

glxinfo | grep OpenGL

produz isso:

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ironlake Mobile 
OpenGL version string: 2.1 Mesa 10.0.4
OpenGL shading language version string: 1.20

Então eu fui ao site oficial desses drivers: link

Eu instalei a versão mais recente, mas ela ainda diz o mesmo. Eu sei que meu hardware é capaz de fazer algumas renderizações DirectX11, então por que não suportaria OpenGL3.0?

Ah, eu esqueci: estou usando o Fedora 20 de 64 bits

    
por haansn08 21.03.2014 / 21:40

2 respostas

2

A razão para isto é que a arquitetura gráfica de Ironlake não é ponte de hera ou arenosa É a tecnologia Clarkdale / Arrendale gen que, embora o hardware, em termos estritos, suporte as extensões, não possui esses recursos implementados nos drivers gráficos relevantes.

Você pode tentar adicionar você mesmo se tiver experiência com programação de drivers.

link

A seção relevante, caso o link seja desativado:

"While Ironlake (Clarkdale/Arrandale) -- the generation of Intel hardware prior to Sandy Bridge -- was designed during the OpenGL 2.1 days, much of the OpenGL 3.0 / GL Shading Language 1.30 functionality can be implemented for this hardware. As Intel Linux customers were quick to discuss when sharing this morning there's now OpenGL ES 3.0 for Sandy Bridge (the embedded/mobile GL variant), driver developers quickly lose interest in older hardware.

One Phoronix reader pointed out this bug report with commentary by Kenneth Graunke from January:

Team Fortress 2 requires some functionality from OpenGL 3.0 and GLSL 1.30, which we currently only support on Sandy Bridge and newer hardware. Unfortunately, Ironlake and earlier currently do not.

It should be possible to implement the missing functionality on Ironlake. The code is open source, and the hardware documentation is freely available on the web(*), so in theory, anyone could make progress toward this.

Sadly, our team is extremely busy working on newer hardware and is unlikely to have time to implement GL 3.0 support for Ironlake...at least not any time soon. I sincerely apologize for this; we'd all love to see it happen too.

(*) https://01.org/linuxgraphics/documentation/driver-documentation-prms

Basically, Intel Linux driver developers are busy working on newer hardware and other features, so missing functionality for older Intel products likely won't come. But since Intel does provide NDA-free programming documentation, other capable developers should be able to provide the said features. This bug comment was in response to Ironlake not working for Valve's Source Engine games on Linux.

While I do own some Ironlake hardware, I would much rather see Intel working on the newer hardware support. Even if the Intel i965 DRI driver implemented the necessary GL3/GLSL1.30 features for the Source Engine games, it would still be damn slow. It wasn't until Sandy Bridge that Intel graphics really got their act together in terms of integrated graphics performance. Ironlake isn't too capable and the newer (and yet-to-be-released) hardware is much more exciting and will open new doors. Intel also, obviously, wants you to upgrade your hardware too."

Portanto, a resposta simples é: a Intel não se preocupa o suficiente ou tem qualquer incentivo para implementar os recursos, mas pelo menos você poderia implementá-los se quisesse e tivesse o conjunto de habilidades para isso. Eu recomendaria a atualização do seu hardware se você precisar dos recursos do OGL 3.x, pois eles não são e provavelmente não serão suportados pela arquitetura Ironlake.

    
por 24.07.2015 / 05:01
0

Ao invés de compilá-los diretamente da fonte, eu estaria inclinado a baixar os RPMs de origem, modificar o parâmetro de configuração dentro do arquivo .spec do RPM e reconstruí-los. Isto parece ser a única coisa que falta nos pacotes do Fedora, veja aqui: Por que o Fedora não envia o OpenGL 3.0? (até mesmo desativá-lo para Intel HW) .

trecho de: [Usuários de Mesa] Anunciou a versão do OpenGL no IvyBridge

On Sun, 2013-02-17 at 00:48 -0600, Michael Cronenworth wrote:

I heard on Phoronix that IvyBridge/SandyBridge hardware is supposed to have OpenGL 3.0/3.1 support on Mesa 9.0 and 9.1. However, glxinfo is telling me something different.

CPU: Core i3-3225 (HD4000) Distro: Fedora 18 x86_64 OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Desktop OpenGL version string: 2.1 Mesa 9.0.1 OpenGL shading language version string: 1.30

Is this accurate or is Phoronix mistaken?

     

O HD4000 suporta o OpenGL 3.1. No entanto, por causa da patente dos EUA   Implicações O Fedora constrói Mesa sem --enable-texture-float   configure a opção e isso desativa o OpenGL 3.0 / 3.1. Eu não sou advogado   mas AFAIK desde que não é patente mundial é seguro usar   --enable-texture-float se você estiver fora dos EUA, e algumas distribuições Linux como o Ubuntu o fazem por padrão. Reconstruindo o Mesa a partir do RPM de origem   O Fedora 18 com a opção nomeada permite OpenGL 3.1 / shading 1.40 no meu   HD3000.

     

- Tomash Brechko

Etapas

Aqui estão mais ou menos os passos:

$ yumdownloader --source mesa-libGL
$ rpmdev-setuptree
$ rpm -Uvh mesa-9.2.4-1.20131128.fc19.src.rpm
$ (umask 022; sudo yum-builddep mesa-9.2.4-1.20131128.fc19.src.rpm)
$ (umask 022; sudo yum install gcc-c++)

Em seguida, edite o arquivo mesa.spec :

$ vim ~/rpmbuild/SPECS/mesa.spec

Em seguida, adicione o comutador ao arquivo .spec :

## add the --enable-texture-float to configure

Agora reconstrua o pacote usando o arquivo .spec :

$ rpmbuild -ba ~/rpmbuild/SPECS/mesa.spec

Agora você deve ver os arquivos .rpm recém construídos em seu diretório RPMS quando tudo estiver concluído.

Referências

por 22.03.2014 / 01:37