Como Abrir Softwares Que Requerem Uma Versão Superior Do OpenGL [Estudo De Caso e Dica]
Olá pessoal, neste post vou relatar um problema que tive ao executar o jogo Endless Sky e como contornei o problema através de 1 comando no terminal!
Após ter instalado o jogo, cliquei na área de trabalho com botão direito do mouse (para abrir o menu geral), fui em Games e cliquei em Endless Sky para iniciar o jogo. Porém, o jogo não foi iniciado e decidi debugá-lo para identificar o que ocorreu para impedir a execução do jogo. Para isso, segui os passos:
Digitei (sem aspas) “endless”;
Apertei a tecla CAPS pra utilizar o recurso de autocompletar o nome do pacote do jogo;
Após ser exibido o nome completo do pacote do jogo (endless-sky) apertei enter;
Então o terminal retornou as seguintes informações (veja a imagem abaixo):
Vamos entender o que ocorreu:
Na primeira linha sou informado que o jogo requer a OpenGL versão 3.0 ou superior;
Na segunda linha sou informado que meu sistema possui a OpenGL versão 2.1, o pacote Mesa 18.3.4 e o GLSL versão 1.20;
Na terceira linha pede para que eu atualize os drivers gráficos.
A OpenGL (Open Graphics Library) se trata de uma API (Interface de Programação de Aplicação) livre (código aberto) utilizada na computação gráfica, para desenvolvimento de aplicativos gráficos, ambientes 3D, jogos, entre outros. O Mesa é um driver de vídeo de código aberto, que é utilizado em praticamente todas as distribuições GNU/Linux, cujo projeto (Mesa) libera drivers de código aberto para placas Nvidia, Intel e AMD. O que vem a ser GLSL é um pouco complicado de explicar, pois trata-se de uma linguagem (de programação) de alto nível, o bom é que não é tão importante saber sobre ela no momento.
Pensando no problema, a primeira coisa que pode vir no pensamento é: se tá pedindo pra atualizar os drivers gráficos, é só atualizar! No entanto, não é bem assim que funciona, se você tem o sistema atualizado provavelmente já tem a versão da OpenGL e do Mesa que a sua placa de vídeo suporta. Somente trocando de placa de vídeo para poder atualizar ambos.
Ok, mas nem tudo está perdido! Há um comando que pode ajudar a executar o programa mesmo não tendo a versão da OpenGL que ele requer. Para usar o comando e executar o jogo, eu segui os passos:
Digitei (sem aspas) “export LIBGL_ALWAYS_SOFTWARE=1“ e teclei enter;
Digitei o nome do pacote do jogo (endless-sky) e teclei enter.
Voalá, eis que o jogo funcionou!
O comando força a renderização via software, isso tira as limitações da versão da sua placa em troca de um desempenho inferior e maior uso de recursos;
Caso você não tenha entendido o que leu acima, vou explicar melhor: o jogo será executado utilizando mais recursos e fará isso com menos desempenho, ou seja, o jogo vai usar mais recursos do que normalmente usaria com a possibilidade de ter um desempenho inferior (dependendo do jogo o desempenho pode ser até razoável);
Não espere rodar jogos que exigem uma placa de vídeo com configurações robustas (tipo GTA 5 ou o último Mortal Kombat) utilizando este comando, nenhum comando opera milagres kkkkkk.
Esta dica legal foi dada pelo Natanael.755 no fórum Diolinux Plus.