OpenGL apps use llvmpipe instead of nvidia drivers (GTX 1060 + Ubuntu 18.04)

Hi!

I have issues with Nvidia 1060 GTX not being used by OpenGl apps in Ubuntu 18.04. This has started after a recent regular update. I use recommended Nvidia drivers 435. Attaching nvidia-bug-report.

Thanks in advance!

Output of inxi -G

Graphics:  Card: NVIDIA GP106 [GeForce GTX 1060 6GB]
           Display Server: x11 (X.Org 1.20.5 ) drivers: nvidia (unloaded: modesetting,fbdev,vesa)
           Resolution: 1920x1080@60.00hz
           OpenGL: renderer: llvmpipe (LLVM 7.0, 256 bits) version: 3.3 Mesa 19.1.4 (git-b84ffa028d)

Output of glxinfo -B

name of display: :0
display: :0  screen: 0
direct rendering: Yes
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 7.0, 256 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 19.1.4 (git-b84ffa028d)
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.1 Mesa 19.1.4 (git-b84ffa028d)
OpenGL shading language version string: 1.40
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 19.1.4 (git-b84ffa028d)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

nvidia-bug-report.log (1.5 MB)

There’s something wrong with your glvnd library install:
libGL.so.1 => /usr/local/lib/libGL.so.1
Did you compile anything yourself?
Please post the output of
ls -l /usr/lib/x86_64-linux-gnu/libGL*

Thanks for the reply!
No, I didn’t compile libraries myself.

Here is the output:

lrwxrwxrwx 1 root root      22 мая 10  2019 /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 -> libGLdispatch.so.0.0.0
-rw-r--r-- 1 root root  612792 мая 10  2019 /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
lrwxrwxrwx 1 root root      29 окт 23  2019 /usr/lib/x86_64-linux-gnu/libGLESv1_CM_nvidia.so.1 -> libGLESv1_CM_nvidia.so.435.21
-rw-r--r-- 1 root root   61136 авг 25  2019 /usr/lib/x86_64-linux-gnu/libGLESv1_CM_nvidia.so.435.21
lrwxrwxrwx 1 root root      26 окт 23  2019 /usr/lib/x86_64-linux-gnu/libGLESv2_nvidia.so.2 -> libGLESv2_nvidia.so.435.21                                                                    
-rw-r--r-- 1 root root  110904 авг 25  2019 /usr/lib/x86_64-linux-gnu/libGLESv2_nvidia.so.435.21                                                                                             
lrwxrwxrwx 1 root root      18 мая 10  2019 /usr/lib/x86_64-linux-gnu/libGLESv2.so.2 -> libGLESv2.so.2.0.0                                                                                   
-rw-r--r-- 1 root root   72000 мая 10  2019 /usr/lib/x86_64-linux-gnu/libGLESv2.so.2.0.0                                                                                                     
lrwxrwxrwx 1 root root      16 авг 24  2017 /usr/lib/x86_64-linux-gnu/libGLEW.so.2.0 -> libGLEW.so.2.0.0                                                                                     
-rw-r--r-- 1 root root  587816 авг 24  2017 /usr/lib/x86_64-linux-gnu/libGLEW.so.2.0.0                                                                                                       
lrwxrwxrwx 1 root root      14 мая 10  2019 /usr/lib/x86_64-linux-gnu/libGL.so.1 -> libGL.so.1.0.0                                                                                           
-rw-r--r-- 1 root root  567624 мая 10  2019 /usr/lib/x86_64-linux-gnu/libGL.so.1.0.0                                                                                                         
lrwxrwxrwx 1 root root      15 апр 19 18:22 /usr/lib/x86_64-linux-gnu/libGLU.so.1 -> libGLU.so.1.3.1                                                                                         
-rw-r--r-- 1 root root  453352 мая 22  2016 /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1                                                                                                        
lrwxrwxrwx 1 root root      16 фев 19 08:09 /usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0 -> libGLX_mesa.so.0
lrwxrwxrwx 1 root root      20 фев 19 08:09 /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0 -> libGLX_mesa.so.0.0.0
-rw-r--r-- 1 root root  488344 фев 19 08:09 /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0
lrwxrwxrwx 1 root root      23 окт 23  2019 /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0 -> libGLX_nvidia.so.435.21
-rw-r--r-- 1 root root 1147776 авг 25  2019 /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.435.21
lrwxrwxrwx 1 root root      15 мая 10  2019 /usr/lib/x86_64-linux-gnu/libGLX.so.0 -> libGLX.so.0.0.0
-rw-r--r-- 1 root root   68144 мая 10  2019 /usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0

Ok, the libraries are in the correct place, so it’s only a matter of the path the loader looks in and why you have libGL in /usr/local.
Please post the output of
cat /etc/ld.so.conf
and
ls -l /usr/local/lib

Here is the output:

cat /etc/ld.so.conf

include /etc/ld.so.conf.d/*.conf

ls -l /usr/local/lib

total 60180
lrwxrwxrwx 1 root root        10 апр 21 13:59 libGL.so -> libGL.so.1
lrwxrwxrwx 1 root root        14 апр 21 13:59 libGL.so.1 -> libGL.so.1.5.0
-rwxr-xr-x 1 root root  14370024 авг 14  2019 libGL.so.1.5.0
lrwxrwxrwx 1 root root        24 апр 21 12:42 libopencv_calib3d.so -> libopencv_calib3d.so.2.4
lrwxrwxrwx 1 root root        27 апр 21 12:42 libopencv_calib3d.so.2.4 -> libopencv_calib3d.so.2.4.13
-rw-r--r-- 1 root root    906424 фев 16 22:14 libopencv_calib3d.so.2.4.13
lrwxrwxrwx 1 root root        24 апр 21 12:42 libopencv_contrib.so -> libopencv_contrib.so.2.4
lrwxrwxrwx 1 root root        27 апр 21 12:42 libopencv_contrib.so.2.4 -> libopencv_contrib.so.2.4.13
-rw-r--r-- 1 root root   1123168 фев 16 22:18 libopencv_contrib.so.2.4.13
lrwxrwxrwx 1 root root        21 апр 21 12:42 libopencv_core.so -> libopencv_core.so.2.4
lrwxrwxrwx 1 root root        24 апр 21 12:42 libopencv_core.so.2.4 -> libopencv_core.so.2.4.13
-rw-r--r-- 1 root root   2938112 фев 16 22:11 libopencv_core.so.2.4.13
lrwxrwxrwx 1 root root        27 апр 21 12:42 libopencv_features2d.so -> libopencv_features2d.so.2.4
lrwxrwxrwx 1 root root        30 апр 21 12:42 libopencv_features2d.so.2.4 -> libopencv_features2d.so.2.4.13
-rw-r--r-- 1 root root    738512 фев 16 22:14 libopencv_features2d.so.2.4.13
lrwxrwxrwx 1 root root        22 апр 21 12:42 libopencv_flann.so -> libopencv_flann.so.2.4
lrwxrwxrwx 1 root root        25 апр 21 12:42 libopencv_flann.so.2.4 -> libopencv_flann.so.2.4.13
-rw-r--r-- 1 root root    562464 фев 16 22:11 libopencv_flann.so.2.4.13
lrwxrwxrwx 1 root root        24 апр 21 12:42 libopencv_highgui.so -> libopencv_highgui.so.2.4
lrwxrwxrwx 1 root root        27 апр 21 12:42 libopencv_highgui.so.2.4 -> libopencv_highgui.so.2.4.13
-rw-r--r-- 1 root root    302784 фев 16 22:13 libopencv_highgui.so.2.4.13
lrwxrwxrwx 1 root root        24 апр 21 12:42 libopencv_imgproc.so -> libopencv_imgproc.so.2.4
lrwxrwxrwx 1 root root        27 апр 21 12:42 libopencv_imgproc.so.2.4 -> libopencv_imgproc.so.2.4.13
-rw-r--r-- 1 root root   2704440 фев 16 22:13 libopencv_imgproc.so.2.4.13
lrwxrwxrwx 1 root root        23 апр 21 12:42 libopencv_legacy.so -> libopencv_legacy.so.2.4
lrwxrwxrwx 1 root root        26 апр 21 12:42 libopencv_legacy.so.2.4 -> libopencv_legacy.so.2.4.13
-rw-r--r-- 1 root root   1351880 фев 16 22:20 libopencv_legacy.so.2.4.13
lrwxrwxrwx 1 root root        19 апр 21 12:42 libopencv_ml.so -> libopencv_ml.so.2.4
lrwxrwxrwx 1 root root        22 апр 21 12:42 libopencv_ml.so.2.4 -> libopencv_ml.so.2.4.13
-rw-r--r-- 1 root root    648640 фев 16 22:15 libopencv_ml.so.2.4.13
lrwxrwxrwx 1 root root        24 апр 21 12:42 libopencv_nonfree.so -> libopencv_nonfree.so.2.4
lrwxrwxrwx 1 root root        27 апр 21 12:42 libopencv_nonfree.so.2.4 -> libopencv_nonfree.so.2.4.13
-rw-r--r-- 1 root root    260376 фев 16 22:17 libopencv_nonfree.so.2.4.13
lrwxrwxrwx 1 root root        26 апр 21 12:42 libopencv_objdetect.so -> libopencv_objdetect.so.2.4
lrwxrwxrwx 1 root root        29 апр 21 12:42 libopencv_objdetect.so.2.4 -> libopencv_objdetect.so.2.4.13
-rw-r--r-- 1 root root    558456 фев 16 22:15 libopencv_objdetect.so.2.4.13
lrwxrwxrwx 1 root root        20 апр 21 12:42 libopencv_ocl.so -> libopencv_ocl.so.2.4
lrwxrwxrwx 1 root root        23 апр 21 12:42 libopencv_ocl.so.2.4 -> libopencv_ocl.so.2.4.13
-rw-r--r-- 1 root root   1968672 фев 16 22:17 libopencv_ocl.so.2.4.13
lrwxrwxrwx 1 root root        22 апр 21 12:42 libopencv_photo.so -> libopencv_photo.so.2.4
lrwxrwxrwx 1 root root        25 апр 21 12:42 libopencv_photo.so.2.4 -> libopencv_photo.so.2.4.13
-rw-r--r-- 1 root root    149680 фев 16 22:20 libopencv_photo.so.2.4.13
lrwxrwxrwx 1 root root        26 апр 21 12:42 libopencv_stitching.so -> libopencv_stitching.so.2.4
lrwxrwxrwx 1 root root        29 апр 21 12:42 libopencv_stitching.so.2.4 -> libopencv_stitching.so.2.4.13
-rw-r--r-- 1 root root    556704 фев 16 22:20 libopencv_stitching.so.2.4.13
lrwxrwxrwx 1 root root        25 апр 21 12:42 libopencv_superres.so -> libopencv_superres.so.2.4
lrwxrwxrwx 1 root root        28 апр 21 12:42 libopencv_superres.so.2.4 -> libopencv_superres.so.2.4.13
-rw-r--r-- 1 root root    253520 фев 16 22:20 libopencv_superres.so.2.4.13
lrwxrwxrwx 1 root root        22 апр 21 12:42 libopencv_video.so -> libopencv_video.so.2.4
lrwxrwxrwx 1 root root        25 апр 21 12:42 libopencv_video.so.2.4 -> libopencv_video.so.2.4.13
-rw-r--r-- 1 root root    386336 фев 16 22:15 libopencv_video.so.2.4.13
lrwxrwxrwx 1 root root        26 апр 21 12:42 libopencv_videostab.so -> libopencv_videostab.so.2.4
lrwxrwxrwx 1 root root        29 апр 21 12:42 libopencv_videostab.so.2.4 -> libopencv_videostab.so.2.4.13
-rw-r--r-- 1 root root    287160 фев 16 22:21 libopencv_videostab.so.2.4.13
-rw-r--r-- 1 root root    649544 июн 19  2018 libOpenMeshCore.so
-rw-r--r-- 1 root root    649544 июн 19  2018 libOpenMeshCore.so.7.1
-rw-r--r-- 1 root root     85808 июн 19  2018 libOpenMeshTools.so
-rw-r--r-- 1 root root     85808 июн 19  2018 libOpenMeshTools.so.7.1
lrwxrwxrwx 1 root root        14 апр 21 13:59 libOSMesa.so -> libOSMesa.so.8
lrwxrwxrwx 1 root root        18 апр 21 13:59 libOSMesa.so.8 -> libOSMesa.so.8.0.0
-rwxr-xr-x 1 root root  14340416 авг 14  2019 libOSMesa.so.8.0.0
lrwxrwxrwx 1 root root        15 апр 21 13:59 libswrAVX2.so -> libswrAVX2.so.0
lrwxrwxrwx 1 root root        19 апр 21 13:59 libswrAVX2.so.0 -> libswrAVX2.so.0.0.0
-rwxr-xr-x 1 root root   7656736 авг 14  2019 libswrAVX2.so.0.0.0
lrwxrwxrwx 1 root root        14 апр 21 13:59 libswrAVX.so -> libswrAVX.so.0
lrwxrwxrwx 1 root root        18 апр 21 13:59 libswrAVX.so.0 -> libswrAVX.so.0.0.0
-rwxr-xr-x 1 root root   8021144 авг 14  2019 libswrAVX.so.0.0.0
drwxr-xr-x 2 root root      4096 авг 14  2019 pkgconfig
drwxrwsr-x 4 root staff     4096 апр 23 22:35 python2.7
drwxrwsr-x 3 root staff     4096 фев 10  2019 python3.6

I guess, I’m starting to understand.
This has to do with my colleague’s repo. I checked the installation script and it puts some osmesa libs to /usr/local.
Looks like I’ve messed the system myself.

Should be sufficient if you remove
/usr/local/lib/libGL.so
/usr/local/lib/libGL.so.1
/usr/local/lib/libGL.so.1.5.0
or you check the contents of /etc/ld.so.conf.d/*.conf and change the library path search order so that /usr/lib/x86_64-linux-gnu is searched before /usr/local/lib

1 Like

Thanks a lot generix!
This works.
You’ve saved me several millions of nerve cells and upgraded my Linux knowledge a bit.
I will bookmark this conversation in case future me gets similarly reckless.

Hello, sir! I bought a new ASUS laptop(named 天选), it has amd 4700H cpu, and nvidia RTX 2060 for gpu, I installed ubuntu on this pc, I successfully install nvidia-driver and I can run deep learning programme with cuda properly.
However, when I plugged in a HDMI wire and try to use a second screen, I found that my ubuntu’s graphics is "llvmpipe (LLVM 10.0.0, 128 bits)"

When I run xrandr to check have the pc found the second screen, I got
////////////////////////////////////
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1920 x 1080, current 1920 x 1080, maximum 1920 x 1080
default connected primary 1920x1080+0+0 0mm x 0mm
1920x1080 77.00*
////////////////////////////////////
Usually It should be many outputs and should have 2 screen providers, but I only found one.
Could you help me to fix this problem? Thank you very much!!!

Your AMD Ryzen 4xxx needs at least kernel 5.6 but Ubuntu 18.04 only provides kernel 5.4. Any reason not using Ubuntu 20.04?