RTX 3070 with 455.45 drivers: OpenGL not working in Ubuntu 20.04 with kernel 5.9.12

Hello, I’m having problems with OpenGL in my system since I upgraded to 20.04 and installed an RTX 3070. I updated BIOS and chipset driver, as well as NVIDIA driver to the latest available with no success.

I’m trying KDE Plasma, and if I select OpenGL 2.0 or OpenGL 3.1 as Compositor, then the system lags A LOT in desktop effects (like desktop grid) or moving windows around. If I select XRender as compositor then everything works fine.

Also I tried to play Dota 2 on Steam (which uses OpenGL) and got 1-5 FPS, when before I was able to get 144FPS with a GTX970 and an older driver.

I attach the bug report and nvidia-smi output:

Thu Dec  3 13:57:28 2020       
| NVIDIA-SMI 455.45.01    Driver Version: 455.45.01    CUDA Version: 11.1     |
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|   0  GeForce RTX 3070    Off  | 00000000:09:00.0  On |                  N/A |
|  0%   44C    P8    21W / 220W |    210MiB /  7974MiB |      3%      Default |
|                               |                      |                  N/A |
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|    0   N/A  N/A      1669      G   /usr/lib/xorg/Xorg                208MiB |

Also glxinfo says I am not using NVIDIA to render OpenGL drivers. I saw another posts about this topic but I didn’t know how to apply the other answers to my case.

glxinfo | grep render
direct rendering: Yes
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
    GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: llvmpipe (LLVM 10.0.0, 128 bits)
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, 
    GL_MESA_ycbcr_texture, GL_NV_conditional_render, GL_NV_depth_clamp, 
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, 
    GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_fog_distance, 
    GL_EXT_polygon_offset_clamp, GL_EXT_read_format_bgra, GL_EXT_render_snorm, 
    GL_MESA_shader_integer_functions, GL_NV_conditional_render, 
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, 

Please help me to fix this. I am noob so if you need more information just tell me. Thanks in advanced for your time!

nvidia-bug-report.log.gz (1.1 MB)

It looks like some driver components are not installed correctly. From /var/log/Xorg.0.log:

[     3.975] (EE) Failed to load /usr/lib/x86_64-linux-gnu/nvidia/xorg/libglxserver_nvidia.so: libnvidia-tls.so.455.45.01: cannot open shared object file: No such file or directory
[     3.975] (EE) NVIDIA: Failed to load module "glxserver_nvidia" (loader failed, 0)

This prevents OpenGL from working correctly and it’s falling back to software rendering.

If you’re going to install the driver from the .run package, please make sure that all Ubuntu NVIDIA driver packages have been uninstalled first and then try installing from the .run installer again.

Hi @aplattner,

I uninstalled all nvidia drivers and manually installed again the .run package, and everything works fine now.

Thanks a lot for your help and have a nice day!