Driver Nvidia et Steam : OpenGL GLX extension not supported by display

Tags: #<Tag:0x00007f63f51c25b8> #<Tag:0x00007f63f51c2478>

Bonjour,

Ce n’est pas génial de poster sur un deuxième forum son problème, mais au regard du peu de réponses (une seule personne) et de la progression assez lente, je tente de résoudre mon problème avec vous (également). J’ai été réfractaire à l’installation du pilote propriétaire Nvidia, car le souci de l’écran noir m’a fait peur. Puis, j’ai sauté le pas. Installation des drivers sans problème en suivant pas à pas les instructions du wiki de DF (je ne marque pas le nom en entier, car je ne sais pas quelle est la politique du forum concernant les autres sites Debian). Au reboot, pas d’écran noir, je suis soulagé. Néanmoins, lorsque je lance steam (installé avec Gdebi), après une recherche d’update de Steam, un message d’erreur s’affiche : OpenGL GLX extension not supported by display.
J’ai réessayé plusieurs fois en redémarrant mon ordinateur portable, rien n’y fait.
J’ai donc désinstallé l’intégralité des drivers Nvidia pour revenir au pilote par défaut : Nouveau.
Avec Nouveau, je peux lancer Steam et le jeu (TF2). Mon souci est que j’ai de grosses pertes de framerate lors de l’affichage de mes coéquipiers et des ennemis avec le pilote libre. Ainsi, le pilote propriétaire me permettra de mieux exploiter les performances de la carte graphique et d’avoir moins de pertes.

Avant de vous faire part des informations de mon pc, je vous précise que j’ai installé nvidia-detect. Ce dernier m’a recommandé d’installer :
NVIDIA Corporation GF116M [GeForce GT 555M/635M] (rev a1) Your card is only supported up to the 390 legacy drivers series. It is recommended to install the nvidia-legacy-390xx-driver

J’ai mis à jour le Linux-header :
4.19.0-9-amd64 #1 SMP Debian 4.19.118-2 (2020-04-29) x86_64 GNU/Linux

J’ai un chipset graphique intégré Intel, et une carte graphique dédiée Nvidia GT555M.
Je suis actuellement sous Debian 10 Buster Stable avec
Ci-dessous, je vous détaille les informations sur ces deux composants :

lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) 01:00.0 VGA compatible controller: NVIDIA Corporation GF116M [GeForce GT 555M/635M] (rev a1)

lspci -v -s 00:02.0
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller]) Subsystem: ASUSTeK Computer Inc. 2nd Generation Core Processor Family Integrated Graphics Controller Flags: bus master, fast devsel, latency 0, IRQ 35 Memory at dc400000 (64-bit, non-prefetchable) [size=4M] Memory at b0000000 (64-bit, prefetchable) [size=256M] I/O ports at e000 [size=64] [virtual] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit- Capabilities: [d0] Power Management version 2 Capabilities: [a4] PCI Advanced Features Kernel driver in use: i915 Kernel modules: i915

lspci -v -s 01:00.0
01:00.0 VGA compatible controller: NVIDIA Corporation GF116M [GeForce GT 555M/635M] (rev a1) (prog-if 00 [VGA controller]) Subsystem: ASUSTeK Computer Inc. GeForce GT 555M Flags: bus master, fast devsel, latency 0, IRQ 16 Memory at da000000 (32-bit, non-prefetchable) [size=32M] Memory at c0000000 (64-bit, prefetchable) [size=256M] Memory at d0000000 (64-bit, prefetchable) [size=64M] I/O ports at d000 [size=128] [virtual] Expansion ROM at dc000000 [disabled] [size=512K] Capabilities: [60] Power Management version 3 Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [78] Express Endpoint, MSI 00 Capabilities: [b4] Vendor Specific Information: Len=14 <?> Capabilities: [100] Virtual Channel Capabilities: [128] Power Budgeting <?> Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?> Kernel driver in use: nvidia Kernel modules: nvidia

Sur les drivers installés :
apt search nvidia | grep installé
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

glx-alternative-nvidia/stable,now 1.0.0 amd64  [installé, automatique]
libegl-nvidia-legacy-390xx0/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
libgl1-nvidia-legacy-390xx-glvnd-glx/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
libgles-nvidia-legacy-390xx1/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
libgles-nvidia-legacy-390xx2/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
libglx-nvidia-legacy-390xx0/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
libnvidia-legacy-390xx-cfg1/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
libnvidia-legacy-390xx-eglcore/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
libnvidia-legacy-390xx-glcore/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
libnvidia-legacy-390xx-ml1/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
libvdpau1/stable,now 1.1.1-10 amd64  [installé, automatique]
nvidia-detect/stable,now 418.113-1 amd64  [installé]
nvidia-egl-common/stable,now 418.113-1 amd64  [installé, automatique]
nvidia-installer-cleanup/stable,now 20151021+9 amd64  [installé, automatique]
nvidia-kernel-common/stable,now 20151021+9 amd64  [installé, automatique]
nvidia-legacy-390xx-alternative/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
nvidia-legacy-390xx-driver/stable,now 390.132-3~deb10u1 amd64  [installé]
nvidia-legacy-390xx-driver-bin/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
nvidia-legacy-390xx-driver-libs/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
nvidia-legacy-390xx-driver-libs-i386/stable,now 390.132-3~deb10u1 i386  [installé, automatique]
nvidia-legacy-390xx-egl-icd/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
nvidia-legacy-390xx-kernel-dkms/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
nvidia-legacy-390xx-kernel-support/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
nvidia-legacy-390xx-vdpau-driver/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
nvidia-legacy-390xx-vulkan-icd/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]
nvidia-modprobe/stable,now 418.56-1 amd64  [installé, automatique]
nvidia-persistenced/stable,now 418.56-1 amd64  [installé, automatique]
nvidia-settings-legacy-390xx/stable,now 390.116-1 amd64  [installé, automatique]
nvidia-support/stable,now 20151021+9 amd64  [installé, automatique]
nvidia-vulkan-common/stable,now 418.113-1 amd64  [installé, automatique]
vdpau-driver-all/stable,now 1.1.1-10 amd64  [installé, automatique]
xserver-xorg-video-nouveau/stable,now 1:1.0.16-1 amd64  [installé, automatique]
xserver-xorg-video-nvidia-legacy-390xx/stable,now 390.132-3~deb10u1 amd64  [installé, automatique]`

Ci-dessous, les retours de la requête glxinfo avec les pilotes Nouveau (sans driver Nvidia), puis avec les pilotes Nvidia (propriétaire) :

glxinfo -b avec Nouveau :
name of display: :0 display: :0 screen: 0 direct rendering: Yes Extended renderer info (GLX_MESA_query_renderer): Vendor: Intel Open Source Technology Center (0x8086) Device: Mesa DRI Intel(R) Sandybridge Mobile (0x116) Version: 18.3.6 Accelerated: yes Video memory: 1536MB Unified memory: yes Preferred profile: core (0x1) Max core profile version: 3.3 Max compat profile version: 3.0 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 3.0 OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.3.6 OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL version string: 3.0 Mesa 18.3.6 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.3.6 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

glxinfo -b après installation des drivers Nvidia :
name of display: :0 Xlib: extension "GLX" missing on display ":0". Xlib: extension "GLX" missing on display ":0". Xlib: extension "GLX" missing on display ":0". Xlib: extension "GLX" missing on display ":0". Xlib: extension "GLX" missing on display ":0". Xlib: extension "GLX" missing on display ":0". Xlib: extension "GLX" missing on display ":0". Error: couldn't find RGB GLX visual or fbconfig Xlib: extension "GLX" missing on display ":0". Xlib: extension "GLX" missing on display ":0". Xlib: extension "GLX" missing on display ":0".

J’ai lu les sujets portant sur ce message d’erreur. Je n’ai pas trouvé de solutions convenables, car les technologies sont différentes et je ne maîtrise pas tous les termes associés à la technologie des cartes graphiques. Je n’ai aucune certitude puisque je cerne mal le souci que je rencontre, mais je pense que cela doit venir d’un conflit avec les pilotes propriétaires et le pilote Nouveau (mais votre diagnostic invalidera peut-être cette intuition). J’ai pu lire également que certains utilisateurs utilisent Prime ou Bubblebee, mais je ne connais pas leur utilité, ni leur apport concernant mon problème.

Je vous remercie par avance.

EDIT : En lançant Steam à partir du terminal, ce dernier me renvoie l’erreur

Running Steam on debian 10 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Steam client’s requirements are satisfied
/home/elicio/.local/share/Steam/ubuntu12_32/steam
WARNING: setlocale(‹ en_US.UTF-8 ›) failed, using locale: ‹ C ›. International characters may not work.
[2020-05-13 12:45:17] Startup - updater built Apr 27 2020 21:53:21
Installing breakpad exception handler for appid(steam)/version(1588032389)
Xlib: extension « GLX » missing on display « :0 ».
Installing breakpad exception handler for appid(steam)/version(1588032389)
[2020-05-13 12:45:18] Verifying installation…
[2020-05-13 12:45:19] Verification complete
Xlib: extension « GLX » missing on display « :0 ».
OpenGL GLX extension not supported by display
OpenGL GLX extension not supported by display/data/src/steamUI/Main.cpp (333) : Assertion Failed: Fatal Error: OpenGL GLX extension not supported by display
/data/src/steamUI/Main.cpp (333) : Assertion Failed: Fatal Error: OpenGL GLX extension not supported by display
Installing breakpad exception handler for appid(steam)/version(1588032389)
crash_20200513124520_4.dmp[4582]: Uploading dump (out-of-process)
/tmp/dumps/crash_20200513124520_4.dmp
crash_20200513124520_4.dmp[4582]: Finished uploading minidump (out-of-process): success = yes
crash_20200513124520_4.dmp[4582]: response: CrashID=bp-7841e951-2132-481f-89f2-0b8c12200513
crash_20200513124520_4.dmp[4582]: file ‹  ›/tmp/dumps/crash_20200513124520_4.dmp’’, upload yes: ‹ ‹ CrashID=bp-7841e951-2132-481f-89f2-0b8c12200513 › ›

Architecture typique Nvidia Optimus ; direction le projet Bumblebee en espérant que l’astuce fonctionne toujours ; mais installer seulement le pilote nvidia n’est pas la réponse.

tout est expliqué patiemment, simplement là :
https://debian-facile.org/doc:materiel:cartes-graphique:nvidia:optimus

Bon courage.

PS : sincèrement, préférez utiliser une *Buntu - telle une Linux Mint -, au moins il y a le projet prime qui permet de ne pas avoir à s’enquiquiner la vie avec cette astuce bien réelle et pratique, qu’est le projet Bumblebee, mais foireuse dans le temps.

PS2 : N’ayant plus d’architecture Bumblebee, je pourrais difficilement vous aider plus, et encore moins tester le bon fonctionnement steam.

1 J'aime

Bonjour @pedrito

Tes GPUs sont en fait liés en un système hybride - propre à nVidia et à ta GT555M - nommé Optimus.
Le réglage de l’affichage avec un système hybride Optimus reste problématique sous GNU/Linux.
Voir : [Doc] Nvidia Optimus + Bumblebee : Dans quel état gère... [Infos]

Je peux te dire qu’il faut d’abord configurer ce système hybride d’affichage pour pouvoir utiliser les capacités du GPU nVidia pour penser ensuite à utiliser Steam avec.

Il y a quelques membres du forum - joueurs avec Steam - qui ont eu le même problème de configuration de leurs GPUs nVidia Optimus ; J’espère que tu vas être aidé.

Je ne suis pas en mesure de le faire davantage.

Pour la documentation officielle
https://wiki.debian.org/fr/NvidiaGraphicsDrivers#Identification

La série ou le nom de code du processeur graphique NVIDIA d’une carte graphique peut être identifié habituellement avec la commande lspci. Par exemple :

$ lspci -nn | egrep -i "3d|display|vga"
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G80 [GeForce 8800 GTS] [10de:0193] (rev a2)

Voir la page fr/HowToIdentifyADevice/PCI pour plus d’informations.
On peut utiliser l’ID PCI pour vérifier la prise en charge d’un périphérique.

Note : si cette commande lspci renvoie en sortie plus d’une ligne, vous avez une puce graphique Optimus (hybrid), et les instructions sur cette page ne s’appliquent pas à vous.

Veuillez plutôt consulter la page NVIDIA Optimus (en anglais).

ps : il s’agit de bumblebee et non de Bubblebee
ps : j’ai dû rédiger pendant la réponse de @PengouinPdt

2 J'aime

Bonjour,

@PengouinPdt t @anon61356901,
Merci beaucoup pour vos réponses qui me sont forts utiles. J’apprends quelque chose dont je ne me doutais pas.

Je ne saisis pas encore très bien les raisons pour lesquelles Bumblebee va être emmerdant sur le temps mais je suis d’accord avec toi sur un éventuel changement à l’avenir d’OS… Plusieurs fois, j’ai pensé à revenir sur un mix *buntu/debian (je pense à deux distros précisément ^^). Mais ça doit faire trois ou quatre mois que je suis sur Debian stable, et j’avoue m’y être fait pour sa fiabilité et sa stabilité (Debian a été la solution par rapport à une mise à jour foireuse d’une autre distro provoquant des fuites de mémoires et de la chauffe inutile (mon pc devient vieux également)).

Je vais lire vos liens à tête reposé pour mieux comprendre. Je reviens vers vous si j’ai des questions.

Note : je joue vraiment de manière très occasionnel, donc la mobilisation de bumble et de la carte graphique est plutôt rare :slight_smile:
Note 2 : D’ici peu, je vais abandonner cet ordi pour un autre, et je cherche nouvel ordi avec une Radeon ( <3 )

Je vous remercie encore !

Après avoir suivi scrupuleusement le tutoriel pour installer Bumblebee, lors du test de l’application, je rencontre une erreur :

[ 997.844885] [ERROR]Cannot access secondary GPU - error: Could not load GPU driver
[ 997.845040] [ERROR]Aborting because fallback start is disabled.

J’ai suivi la solution figurant à la fin de la page consistant à substituer KernelDriver=nvidia » par « KernelDriver=nvidia-current ». J’ai également modifié la ligne DRIVER=nvidia-current.
Au test :
modinfo nvidia modinfo nvidia-current
J’ai les bons retours pour la requête modinfo nvidia-current. Toutefois, le code erreur s’affiche toujours lorsque je souhaite faire le test avec la requête « optirun glxgears -info ».

En consultant d’autres forums, des personnes préconisent de changer plusieurs lignes :

  • KernelDriver=nvidia-352
  • LibraryPath=/usr/lib/nvidia-current:/usr/lib32/nvidia-current to LibraryPath=/usr/lib/nvidia-352:/usr/lib32/nvidia-352
  • XorgModulePath=/usr/lib/nvidia-current/xorg,/usr/lib/xorg/modules to XorgModulePath=/usr/lib/nvidia-352/xorg,/usr/lib/xorg/modules

EDIT : toutes mes excuses, je réalise juste maintenant la valeur de ce propos :

PS2 : N’ayant plus d’architecture Bumblebee, je pourrais difficilement vous aider plus, et encore moins tester le bon fonctionnement steam.

J’ai lu votre sujet sur l’évolution perpétuelle de Nvidia et les erreurs « LibGL.so.1 » et votre migration vers BSD. Je réfléchis sérieusement à revenir sur l’ancienne distribution.
Je vais essayé de chercher la solution par moi-même et si je n’y parviens, je formaterai sur un coup de tête. J’ai sauvegardé les données dont j’ai besoin et je n’ai pas tant d’applications que cela.

Et en testant avec : primusrun glxgears plutôt ?


est pour moi une erreur que je n’ai jamais rencontré. :frowning:

J’ai également essayé avec la requête primsrun glxgears, ça ne donne rien. J’ai pataugé, réfléchi et j’ai finalement abandonné.

Vous avez été très réactif et vos réponses m’ont beaucoup appris sur la technologie optimus. Je suis un peu dégoûté de laisser vos réponses et votre aide sans résultat, mais je ne suis pas un expert, bien au contraire. Je jouerai sur Debian quand j’aurai une technologie (éventuellement) moins prise de tête -> Radeon.

Je suis parti sur une autre distri pour utiliser Primus. On verra ce que cela donne.

Bonne soirée et merci encore pour votre aide.