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

sistema-operacional
linux
#1

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”

5 Likes
[Comparação] Vulkan vs Directx vs OpenGL
#2

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

2 Likes
#3

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.

2 Likes
Editores de vídeo OpenSource - Renderizar com placa de vídeo
#4

Compartilho sua dor kkkk

2 Likes
#5

Po man que bom que isso te ajudou

1 Like
#6

Acabei de postar no meu blog sua dica, link.