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”