Como abrir softwares que requerem uma versão superior do OpenGL [DICA RAPIDA]

Introdução

Quem tem um PC mais antigo e tentou rodar alguns programas como Blender ou emuladores de videogames antigos baseados na LibRetro como o Nestopia provavelmente se frustou ao ver que o programa simplesmente não abre, isso se geralmente ao fato do programa requerer uma versão do OpenGL superior a que você tem isso é facilmente perceptível se você rodar via terminal, veja esse exemplo do Nestopia:

natanael@TardisControlCenter:~$ nestopia 
0 joystick(s) found:
Fds: BIOS not found: /home/natanael/.nestopia/disksys.rom
Database: 2901 items imported from internal DB
No provider of glGetShaderiv found.  Requires one of:
    Desktop OpenGL 2.0
    OpenGL ES 2.0
Abortado

Note que o programa requer a versão 2.0 do OpenGL, agora vamos ver a que esse PC tem:

natanael@TardisControlCenter:~$ glxinfo | grep "GLX version:"
GLX version: 1.4

Você deve estar pensando, Ah então é só atualizar esse tal de OpenGL e tudo certo, não meu caro, não é tão simples, essa versão é a que a sua placa de vídeo suporta então pra atualizar você teria que trocar sua placa de vídeo, mas nem tudo está perdido.

A solução

Bom, na maioria dos caso dá pra dar um bypass nisso através de um “hack”, basicamente tudo que você precisa é forçar a renderização via software, isso tira as limitações de versão da sua placa em troca de um desempenho inferior e maior uso de recursos, pra fazer basta executar esse comando antes de executar o programa:

export LIBGL_ALWAYS_SOFTWARE=1

Agora execute e veja a magica acontecer

Considerações

Isso não é uma solução milagrosa, tem um preço a ser pago você basicamente troca Desempenho+Recursos pela possibilidade de rodar o programa/jogo então ainda que você tenha muito recurso disponível (CPU e RAM) você vai ter um desempenho consideravelmente inferior isso pode funcionar bem pra emuladores de consoles antigos e alguns softwares mas não espere jogar jogos da Steam (por exemplo) com esse “hack”

7 curtidas

O interessante é que na onboard consigo rodar vídeos em 1080p mas em jogos no Linux não consigo jogar quase nada :joy:

2 curtidas

Poxa man, vlw mesmo pela dica!

Vou contar um relato pessoal sobre isso. Ao abrir o jogo Endless Sky na distro que uso (SparkyLinux GameOver Edtion) aparecia o seguinte erro:
Endless Sky requires OpenGL version 3.0 or higher.
Your OpenGL version is 2.1 Mesa 18.3.4, GLSL version 1.20.
Please update your graphics drivers.

Usei o comando indicado por você no terminal antes de executar o jogo e deu certo! Farei uma postagem no meu blog (SparkyLinux-GameOver.Br) sobre isso e vou te dar o crédito pela dica.

3 curtidas

Compartilho sua dor kkkk

2 curtidas

Po man que bom que isso te ajudou

1 curtida

Acabei de postar no meu blog sua dica, link.

1 curtida

Consegui abrir o Blender 2.83.2 aqui! kkkkkkk :smile:
Infelizmente, como foi dito, ele roda bem lento, mas serve para ver como é o programa que antes nem sequer abria. Meu processador é um Intel Pentium E6500 (G41).

Cara ate da para atualizar o OpenGL o problema é que a fabricante não lança atualização do diver do OpenGL porque não querem.
Já que elas não atualiza o driver o jeito é comprar outra.