protonscr

Steam fails to start after running it with Open drivers, then switching to propietary drivers

steamclosed NVIDIA driversDistro Family: Ubuntu
ValveSoftware/steam-for-linux#5516 · opened 2018-06-04 by ghost · updated 2018-06-05 · 10 comments · github
?ghost 2018-06-04 github

Steam fails to start after running it with open drivers, then switching to proprietary drivers. Steam successfully installs and runs if you installed proprietary drivers beforehand.

Purging Steam and deleting its directories and then reinstalling had no effect.

System Info

Distro: elementaryOS Loki (0.4). Based on Ubuntu 16.04
Video Drivers: nvidia 390.59

Steps for reproducing this issue:

  1. Install Linux Distro
  2. Install Steam
  3. Wait for the first time dependency setup
  4. Run Steam
  5. Install proprietary drivers

What was not tested:

Running the first time setup script again, since I can't find it.

Kkisak-valve maintainer 2018-06-04 github

Hello @LucesEnBabel, does any 32 bit opengl application work like glxinfo from mesa-utils:i386?

Kkisak-valve maintainer 2018-06-04 github

Since glxinfo is trying to use swrast, which is mesa's slower software renderer, that indicates that mesa's libGL.so.1 is being used and 32 bit opengl is misconfigured or incomplete on your system. Steam needs a working 32 bit opengl stack.

?ghost 2018-06-05 github

How can I run the first run script again?

Kkisak-valve maintainer 2018-06-05 github

First run script of what? The closest thing Steam would have is steam --reset, which re-bootstraps the client as if it's the first run or make sure steam is not running, move ~/.steam and ~/.local/share/Steam somewhere out of the way and re-run steam.

It should be noted that it's a waste of time to try those until after you've confirmed that the 32 bit OpenGL driver is in a working state.

?ghost 2018-06-05 github

I'm talking about the dependency setup when Steam runs for the first time in the distro, where it install the i386 dependencies of (mesa?) and other libraries. I want to try reinstalling them.

Kkisak-valve maintainer 2018-06-05 github

For Debian and derivatives, that would be something like sudo apt purge steam (and maybe also steam-launcher), then re-install the package with whatever method you used before.

OOvermindDL1 2018-06-05 github

I'm talking about the dependency setup when Steam runs for the first time in the distro, where it install the i386 dependencies of (mesa?) and other libraries. I want to try reinstalling them.

At this point that doesn't even matter if glxinfo is showing https://gist.github.com/LucesEnBabel/aa4cde16fdb64f8ca7769d4c04699946 as that shows that you don't even have 3D accelerated drivers setup with your hardware. 3D acceleration has to be working on its own first before most games will work.

As an example, here is my glxinfo on my really ancient old video card:

╰─➤  glxinfo | head -n 70
name of display: localhost:12.0
display: localhost:12  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_import_context, GLX_EXT_libglvnd, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 
    GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_make_current_read
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness, 
    GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, 
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, 
    GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
    GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
    GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, 
    GLX_ARB_get_proc_address, GLX_ARB_multisample, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, 
    GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
    GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_make_current_read
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: VMware, Inc. (0xffffffff)
    Device: llvmpipe (LLVM 7.0, 128 bits) (0xffffffff)
    Version: 18.1.0
    Accelerated: no
    Video memory: 16045MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 3.3
    Max compat profile version: 3.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 7.0, 128 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.1.0-devel - padoka PPA
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:
    GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend, 
    GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_stencil_export, 
    GL_AMD_shader_trinary_minmax, GL_AMD_vertex_shader_layer, 
    GL_AMD_vertex_shader_viewport_index, GL_ANGLE_texture_compression_dxt3, 
    GL_ANGLE_texture_compression_dxt5, GL_ARB_ES2_compatibility, 
    GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance, 
    GL_ARB_blend_func_extended, GL_ARB_buffer_storage, 
    GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, 
    GL_ARB_compressed_texture_pixel_storage, 

Or on my wife's desktop:

$ glxinfo | head -n 70
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_import_context, GLX_EXT_libglvnd, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, 
    GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGIS_multisample, 
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness, 
    GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, 
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, 
    GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
    GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
    GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, 
    GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile, 
    GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, 
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
    GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
    GLX_SGI_swap_control, GLX_SGI_video_sync
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: X.Org (0x1002)
    Device: Radeon RX 570 Series (POLARIS10 / DRM 3.23.0 / 4.16.11-041611-generic, LLVM 6.0.0) (0x67df)
    Version: 18.0.0
    Accelerated: yes
    Video memory: 4073MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 4073 MB, largest block: 4073 MB
    VBO free aux. memory - total: 4092 MB, largest block: 4092 MB
    Texture free memory - total: 4073 MB, largest block: 4073 MB
    Texture free aux. memory - total: 4092 MB, largest block: 4092 MB
    Renderbuffer free memory - total: 4073 MB, largest block: 4073 MB
    Renderbuffer free aux. memory - total: 4092 MB, largest block: 4092 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 4073 MB
    Total available memory: 8166 MB
    Currently available dedicated video memory: 4073 MB

Currently your's looks like:

~$ glxinfo
name of display: :0
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Error: couldn't find RGB GLX visual or fbconfig
?ghost 2018-06-05 github

I double checked my installation, and apparently nvidia-390 fails to correctly set up a proper 32 bit environment.

Fixed it by running find -L /etc/ld.so.conf.d -type f | xargs grep -i nvidia. Steam runs correctly now.

Please mark this issue as invalid.

Kkisak-valve maintainer 2018-06-05 github

Closing per the last comment.

Nothing extracted yet.