O Ubuntu usa OpenGL 2.1?

Iniciado por Renan Rischiotto, 18 de Abril de 2015, 09:03

tópico anterior - próximo tópico

Renan Rischiotto

Vi esse vídeo e fiquei curioso.

https://www.youtube.com/watch?v=6i4uH6ML2JY

O Ubuntu usa OpenGL 2.1? Se sim, desde que versão? Desde o começo?

É possível instalar a versão do OpenGL mais recente? Porque eu estou com medo de instalar o Ubuntu por causa desse OpenGL extremamente desatualizado, por que eu vou perder muito desempenho certo?

Anderson_Coelho

Eu acredito que isso seja apenas o requisito mínimo para rodar, ou seja, o jogo vai usar a versão do OpenGL disponível no sistema a partir dessa. Até porque comparar OpenGL 2.1 com DirectX 11 não dá, então eu acho que a informação do vídeo está equivocada.

MatheusWillder

Eu também já tive essa curiosidade. Diferente do Windows, não há um modo gráfico que mostre essa informação (o Windows mostra a versão do DirectX através do dxdiag).

Pelo Terminal, você pode ver a versão do OpenGL que o sistema está usando através do comando:

glxinfo | grep "OpenGL version"

Aqui retornou:
CitarOpenGL version string: 3.0 Mesa 10.3.0

Ou ainda, mais completo:

glxinfo | grep -i opengl
CitarOpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Desktop
OpenGL core profile version string: 3.1 (Core Profile) Mesa 10.3.0
OpenGL core profile shading language version string: 1.40
OpenGL core profile context flags: (none)
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.3.0
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:

Pelo que eu entendi, a versão do OpenGL usada pelo sistema é aquela que é suportada pela placa de vídeo. No meu caso, (Intel HD Graphics 2000/3000) a versão 3. Vi algum tempo atrás um texto que falava que o desenvolvimento de jogos para Linux usa muitas vezes versões obsoletas do OpenGL, de modo que fica até injusta a comparação com o DirectX. Não sei se é o caso ou se a versão 2.1 é apenas um requisito mínimo para o jogo.

Arthur Bernardes

Meu Linux Mint 17!

arthur@Arthur ~ $ glxinfo | grep "OpenGL version"
OpenGL version string: 3.0 Mesa 10.1.3

arthur@Arthur ~ $ glxinfo | grep -i opengl
OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NVA8
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.1.3
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.1.3
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:

Sergio Benjamim

#4
Citação de: MatheusWillder online 18 de Abril de 2015, 18:23
Pelo que eu entendi, a versão do OpenGL usada pelo sistema é aquela que é suportada pela placa de vídeo. No meu caso, (Intel HD Graphics 2000/3000) a versão 3. Vi algum tempo atrás um texto que falava que o desenvolvimento de jogos para Linux usa muitas vezes versões obsoletas do OpenGL, de modo que fica até injusta a comparação com o DirectX. Não sei se é o caso ou se a versão 2.1 é apenas um requisito mínimo para o jogo.

Sim, é bem por aí, a sua placa de vídeo tem OpenGL versão X, e o programa/jogo tem que ter suporte para tal versão. Além disso, o driver de vídeo e a API (biblioteca de software) também tem que ter suporte, no caso de placas Intel o driver tem suporte até o OpenGL 3.3 e o Mesa 10.5 (que é a API) tem suporte completo até o OpenGL 3.3 também.

Os drivers da Nvidia e AMD tem suporte das versões superiores do OpenGL:


OpenGL version string: 3.0 Mesa 10.1.3 (onboard Intel)
OpenGL version string: 4.4.0 NVIDIA 340.76 (nvidia off-board)


Acabei de ver aqui, parece que minha placa de vídeo onboard, Intel® HD Graphics 4600, tem suporte para OpenGL 4.3, mas... o driver de vídeo intel e o Mesa não suportam ainda essa versão  :-\
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

Página mostrando a compatibilidade do Mesa com OpenGL:

http://mesamatrix.net/
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Renan Rischiotto

renan@ubuntu-desktop:~$ glxinfo | grep "OpenGL version"
OpenGL version string: 4.5.0 NVIDIA 346.59
renan@ubuntu-desktop:~$ glxinfo | grep -i opengl
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 740/PCIe/SSE2
OpenGL core profile version string: 4.4.0 NVIDIA 346.59
OpenGL core profile shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5.0 NVIDIA 346.59
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 NVIDIA 346.59
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
renan@ubuntu-desktop:~$

Arthur Bernardes

Eu uso Nvidia 310M mas com o driver "nouveau", parece que o Renan com o driver proprietário está com o OpenGL mais a frente.

MatheusWillder

Citação de: Sergio Benjamim online 18 de Abril de 2015, 22:19
Acabei de ver aqui, parece que minha placa de vídeo onboard, Intel® HD Graphics 4600, tem suporte para OpenGL 4.3, mas... o driver de vídeo intel e o Mesa não suportam ainda essa versão  :-\

Mas no Windows, o driver para sua OnBoard já suporta a versão 4.x do OpenGL, pelas minhas pesquisas. E para a minha OnBoard, tem OpenGL 3.1 no Windows, enquanto no Linux é apenas a versão 3.

É comum vermos alegações de que o suporte da Intel ao Linux é bom, mas para mim ele é apenas o menos ruim. Quando comprei o meu computador e utilizei o Ubuntu por um tempo (versão 12.04 LTS), o desempenho dos jogos e emuladores nativos no Ubuntu era precário em relação no Windows. Só foi melhorar quando a Intel lançou o atualizador de drivers, mas eu já estava cheio então migrei para o Windows e fiquei um bom tempo nele, afinal, havia comprado meu computador para curtir alguns jogos, só voltando agora para o Ubuntu por "motivos de força maior" (problemas no HD e falta de grana para comprar um novo).

irtigor

Se o jogo funciona, é porque ele exige como mínimo uma versão inferior ou igual a que era suportada no seu pc com Linux. Até é provável que o driver pra windows seja mais performático nas mesmas tarefas (ele existe a mais tempo), e é possível que havendo suporte pra uma versão mais recente do opengl, o jogo use alguma função (alternativa) mais otimizada, mas sou capaz de apostar que esses jogos que queria rodar foram feitos pra Windows usando direct x pra renderização, e ai a comparação fica muito furada.

MatheusWillder

Não, irtigor, eu de fato estava falando de jogos que rodam nativamente no Ubuntu, não irei citar nenhum por não ter certeza mais dos nomes nem da situação atual deles, afinal estamos falando de algo que ocorreu já faz alguns anos, mas dos emuladores que testei eu lembro bem (porque ainda hoje eu uso): O Dolphin rodava muito mal (média de 30FPS nos jogos que testei, contra 60FPS do Windows), o DeSmuME usa por padrão renderização por software mas tinha várias opções faltando em filtros para melhorar a qualidade da imagem, o PCSX2 é uma piada ainda hoje, etc., etc..

Claro que isso não é culpa do Ubuntu, muitas vezes o jogo usa uma versão velha do OpenGL, é mal otimizado para rodar no sistema, e na questão que abordei aqui, os drivers não são tão bem desenvolvidos como no Windows. Acho que era o caso do que aconteceu no passado, quando eu comprei o computador, acho que os drivers dele para o Linux não eram tão bem desenvolvidos como os do Windows, que já aproveitavam melhor o hardware. Hoje são quase tão bem desenvolvidos quanto, mas demorou para isso ocorrer. E me parece que um exemplo disso ocorrendo hoje é o relatado pelo Sergio Benjamim , que tem Intel HD Graphics 4600, que possui suporte OpenGL 4.3, mas o driver e o Mesa não suportam ainda no Linux. No Windows, já.

Também é notável no vídeo do incio do tópico o baixo desempenho que o jogo apresentado tem no Ubuntu em relação a versão do Windows. E isso usando drivers proprietários, que melhoraram bastante nos últimos tempos, e em um jogo simples graficamente. Rodo por Wine alguns jogos melhor que isso ai, e com memória OnBoard.

Caro, estou falando aqui como um leigo no assunto, sou apenas um usuário curioso.

irtigor

O que falou não muda o que disse, vou dar um exemplo, o trine 2 foi portado pro linux, mas a versão original (o que roda no Windows) usa DirectX, então eles reescreveram pra usar OpenGL no linux. A mudança é tão grande que uma comparação entre os dois de forma alguma serve pra algo alem do próprio jogo.

MatheusWillder

Entendi irtigor, também parece ser o que acontece quando um jogo é portado de um console para computador com Windows, muitas vezes ficando com desempenho ruim, apresentando queda de frames, bugs, além de pedir mais hardware para rodar satisfatoriamente de que a versão de console precisa para isso. Um exemplo que sempre me vem na cabeça é o Grand Theft Auto IV. Já o Max Payne 3 é um port mas é bem otimizado, rodando satisfatoriamente até em computadores já com certa idade, como o meu, sem placa de vídeo dedicada.

Renan Rischiotto

O canal do cara do vídeo no YouTube é muito bom, ele só usa o Ubuntu e sempre faz comparações, gameplays (teste) de jogos nativos e pelo Wine e tal. Muito legal.

Sergio Benjamim

Citação de: MatheusWillder online 19 de Abril de 2015, 12:48
O Dolphin rodava muito mal (média de 30FPS nos jogos que testei, contra 60FPS do Windows), o DeSmuME usa por padrão renderização por software mas tinha várias opções faltando em filtros para melhorar a qualidade da imagem, o PCSX2 é uma piada ainda hoje, etc., etc..

Consigo rodar o dolphin (versão git) com resolução de 1x usando Intel, tanto no modo janela como fullscreen. Usando resolução de 1.5x, dá pra jogar no modo janela, já no fullscreen dá lag... Desempenho do dolphin depende muito da versão usada e arquitetura (x86 ou 64 bits) além da placa gráfica usada, tanto que a equipe de desenvolvimento atualmente só suporta 64 bits. Obs: usando core i7 4700HQ

Renderização por software ou hardware não muda muita coisa no desmume, você tem ganho de performance mesmo usando dynarec (JIT) dele.

Em relação ao PCSX2, não é culpa de drivers e sim do sistema tosco de plugins que ele usa. O melhor plugin gfx só tem para windows e é proprietário. Sem contar que o núcleo do pcsx2 é melhor desenvolvido para windows.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !