Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/08/2017, à 18:16

abelthorne

Version d'OpenGL avec Mesa/RadeonSi ?

Bonjour,
J'ai une RadeonHD 7770 et j'utilise une version de Mesa à jour via le PPA stable de Padoka :

OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD CAPE VERDE (DRM 2.49.0 / 4.10.0-32-generic, LLVM 4.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.1.4 - padoka PPA
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 17.1.4 - padoka PPA
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.1.4 - padoka PPA
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

En essayant de lancer un jeu avec Wine (Brink), j'ai eu une erreur disant qu'il nécessitait OpenGL 3.1 et que ma carte ou mon pilote ne supportait que la 3.0. De fait, dans le retour de glxinfo, on voit "OpenGL version string: 3.0".

Or, ma carte supporte apparemment OpenGL 4.2 (voire 4.5), elle faisait tourner Brink sans problème sur Windows et j'avais pu le lancer avec Wine il y a quelques années (j'utilisais peut-être Catalyst à l'époque). D'autre part, Mesa implémente apparemment OpenGL 3.1 depuis cinq ans. Alors quid ? Pourquoi est-ce que je suis apparemment limité à la 3.0 ?

Hors ligne

#2 Le 25/08/2017, à 20:47

WATTT

Re : Version d'OpenGL avec Mesa/RadeonSi ?

Bonsoir,

C'est probablement dû au fait que le jeu ne requiert pas un "core profile".

Pour expliquer:
A partir d'OpenGL 3.1, certaines fonctionnalités considérés comme obsolète ont été retirées d'OpenGL. Il existe à partir de cette version deux profiles: Le profile de compatibilité (Compatibility profile), celui par défaut, qui permet de garder la compatibilité avec les anciennes applications,  et le Core Profile, qui retire les fonctionnalités obsolètes.
En théorie, le profile de compatibilité est limité à OpenGL 3.0, ce qui est le cas avec mesa. Malheureusement, il est optionnellement possible de supporter des profiles de compatibilité supérieur à OpenGL 3.0, ce que font tous les drivers propriétaires, mais pas mesa (et ne le sera probablement jamais).

Il est donc probable que Brink ne demande pas le Core Profile, et le driver renvoie alors la version 3.0 comme celle supportée au max. Là il y a deux cas de figure: Soit le jeu n'utilise pas les fonctionnalités obsolètes supprimées avec OpenGL 3.1, dans ce cas la variable d’environnement

allow_higher_compat_version=true

peut permettre de contourner le problème; soit, dans le cas contraire, cela peut ne pas fonctionner.


Config: AMD Ryzen 2600 (6c/12t, 3.4GHz), 16Go DDR4, AMD RX 570 4Go
Laptop: Thinkpad E460, Intel i5 6200U (2c/4t), 12Go DDR3L, AMD R7 M360 (dGPU)

Hors ligne

#3 Le 25/08/2017, à 21:07

abelthorne

Re : Version d'OpenGL avec Mesa/RadeonSi ?

C'est un jeu Steam, donc je viens de tester ta variable avant de lancer Steam avec Wine mais même problème. Concrètement, voilà ce qu'il me dit au lancement pour la partie OpenGL :

------- Initializing render context --------
Initializing OpenGL subsystem
...calling LoadLibrary( 'wtsapi32.dll' ): succeeded
...initializing Windows Terminal Server API
...registered window class
...registered fake window class
...calling LoadLibrary( 'opengl32' ): succeeded
...initializing QGL
GL_VENDOR: X.Org
GL_RENDERER: Gallium 0.4 on AMD CAPE VERDE (DRM 2.49.0 / 4.10.0-32-generic, LLVM 4.0.0)
GL_VERSION: 3.0 Mesa 17.1.4 - padoka PPA
********************
FATAL ERROR: The current video card / driver combination does not support OpenGL 3.1 or newer.
********************
The current video card / driver combination does not support OpenGL 3.1 or newer.
Shutting down OpenGL subsystem

Dernière modification par abelthorne (Le 25/08/2017, à 21:08)

Hors ligne

#4 Le 25/08/2017, à 21:18

WATTT

Re : Version d'OpenGL avec Mesa/RadeonSi ?

Ok, alors essaie les variables d'environnement:

MESA_GL_VERSION_OVERRIDE=3.1

Et si ça ne marche pas:

MESA_GL_VERSION_OVERRIDE=3.1COMPAT

Config: AMD Ryzen 2600 (6c/12t, 3.4GHz), 16Go DDR4, AMD RX 570 4Go
Laptop: Thinkpad E460, Intel i5 6200U (2c/4t), 12Go DDR3L, AMD R7 M360 (dGPU)

Hors ligne

#5 Le 25/08/2017, à 21:34

abelthorne

Re : Version d'OpenGL avec Mesa/RadeonSi ?

Pareil avec les deux. Manifestement, le jeu lit juste la variable GL_VERSION et ne cherche pas plus loin.

Pour Brink, ce n'est pas très important mais je me demandais si je pouvais être amené à rencontrer le même problème sur des jeux natifs.

Hors ligne

#6 Le 28/08/2017, à 03:43

WATTT

Re : Version d'OpenGL avec Mesa/RadeonSi ?

Bon, j'ai moi aussi essayé. Cela met un message d'erreur différent suivant la variable d’environnement. Apparemment d'autres jeux utilisant une version amélioré du moteur idTech 4 ont le même problème (RAGE par exemple).  Ils semble que ces variables d’environnement fonctionnent mal avec wine.

Pour la question, certains jeux natifs ont ce problème (de mémoire Dead Island, Dying light et Tropico 5), mais dans ces 3 cas, les variables d’environnement fonctionnent.

Le seul truc qui ma bloqué un moment était certains shaders de Minecraft (ceux du mod), qui demandaient absolument un profile de compatibilité.


Config: AMD Ryzen 2600 (6c/12t, 3.4GHz), 16Go DDR4, AMD RX 570 4Go
Laptop: Thinkpad E460, Intel i5 6200U (2c/4t), 12Go DDR3L, AMD R7 M360 (dGPU)

Hors ligne