protonscr

nvidia update 450.66 from 450.57 broke CS:GO - Failed to create GL context

steamclosed NVIDIA driversDistro Family: Fedora
ValveSoftware/steam-for-linux#7329 · opened 2020-08-22 by the-cli · updated 2020-08-22 · 5 comments · github
Tthe-cli 2020-08-22 github

Your system information

  • Steam client version: Built: Jul 31 2020
  • Distribution: Fedora 32 with X (No DE or Display Manager)
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Run sudo dnf update last night before I went to sleep. This morning trying to start CS:GO with launch option
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia %command%
it throw me an error
Failed to create GL context: Could not create GL context: BadValue (interger parameter out of range for operation)
It works perfectly fine with 450.57 until this morning. So i tried to debug with __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia steam the output is below

https://pastebin.com/piuP6Jkq

Steps for reproducing this issue:

  1. sudo dnf update
  2. launch steam
  3. Select CS:GO and click Play
Kkisak-valve maintainer 2020-08-22 github

Hello @the-cli, the nVidia proprietary driver requires that nVidia's running kernel module version, 32 bit userspace version, and 64 bit userspace version must match in order to work properly.

Have you rebooted since updating the nVidia driver? I'd expect that the 450.57 kernel module is loaded and the version mismatch is what's caused your issue.

Tthe-cli 2020-08-22 github

Hi @kisak-valve, Thank you for the info. However, I did reboot the machine for couple of times for debugging purpose but to no avail. Other steps i tried was remove nvidia driver and install again. Is there away for me to debug further and check which version of nvidia kernel module is loaded ?

Kkisak-valve maintainer 2020-08-22 github

I'd check if any 32 bit OpenGL application like glxinfo32 from glx-utils.i686 works. That should at least narrow the scope of the issue to the video driver and remove Steam / CS:GO from the picture.

I'd expect running the tool would be something like
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo32 -B
to make it use the same render path as Steam. Also, glxinfo and glxinfo64 from glx-utils.x86_64 would be for testing the 64 bit render path.


I take it https://www.reddit.com/r/linux_gaming/comments/ieco29/fedora_prime_failed_to_create_gl_context_could/ is this issue as well. Check that the version of nvidia-driver-libs.i686 matches the rest of the driver set.

Tthe-cli 2020-08-22 github

Yes, I posted on reddit too. I ran the commands you suggested and output is not looking good.

The output for gxlinfo

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo               
                                                                                   
name of display: :0                                                                
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  151 (GLX)                                       
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)                      
  Value in failed request:  0x0                                                    
  Serial number of failed request:  39                                             
  Current serial number in output stream:  40                                      
                                                                                   

The output for glxinfo64

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo64             
                                                                                   
name of display: :0                                                                
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  151 (GLX)                                       
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)                      
  Value in failed request:  0x0                                                    
  Serial number of failed request:  39                                             
  Current serial number in output stream:  40              

I can't find glx-utils.i686 by running sudo dnf search glx-utils.i686.
Really appreciate for the help man !

Tthe-cli 2020-08-22 github

I am not exactly sure how I solved it but I removed the launch option and reboot the machine and put back the launch option and it's working now.