How to repair OpenGL on Ubuntu 19.10?

7,797

Well, after additional hours of searching and pulling together bits from all over, here's how I solved it. Clues in a number of places pointed to the nvidia drivers as a likely culprit. So I did this:

# dpkg -l | grep nvidia
ii  libnvidia-cfg1-390:amd64                   390.129-0ubuntu2                     amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-common-390                       390.129-0ubuntu2                     all          Shared files used by the NVIDIA libraries
ii  libnvidia-compute-390:amd64                390.129-0ubuntu2                     amd64        NVIDIA libcompute package
ii  libnvidia-compute-390:i386                 390.129-0ubuntu2                     i386         NVIDIA libcompute package
ii  libnvidia-decode-390:amd64                 390.129-0ubuntu2                     amd64        NVIDIA Video Decoding runtime libraries
ii  libnvidia-decode-390:i386                  390.129-0ubuntu2                     i386         NVIDIA Video Decoding runtime libraries
ii  libnvidia-encode-390:amd64                 390.129-0ubuntu2                     amd64        NVENC Video Encoding runtime library
ii  libnvidia-encode-390:i386                  390.129-0ubuntu2                     i386         NVENC Video Encoding runtime library
ii  libnvidia-fbc1-390:amd64                   390.129-0ubuntu2                     amd64        NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-fbc1-390:i386                    390.129-0ubuntu2                     i386         NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-gl-390:amd64                     390.129-0ubuntu2                     amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-gl-390:i386                      390.129-0ubuntu2                     i386         NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-ifr1-390:amd64                   390.129-0ubuntu2                     amd64        NVIDIA OpenGL-based Inband Frame Readback runtime library
ii  libnvidia-ifr1-390:i386                    390.129-0ubuntu2                     i386         NVIDIA OpenGL-based Inband Frame Readback runtime library
ii  nvidia-compute-utils-390                   390.129-0ubuntu2                     amd64        NVIDIA compute utilities
ii  nvidia-dkms-390                            390.129-0ubuntu2                     amd64        NVIDIA DKMS package
ii  nvidia-driver-390                          390.129-0ubuntu2                     amd64        NVIDIA driver metapackage
ii  nvidia-kernel-common-390                   390.129-0ubuntu2                     amd64        Shared files used with the kernel module
ii  nvidia-kernel-source-390                   390.129-0ubuntu2                     amd64        NVIDIA kernel source package
ii  nvidia-prime                               0.8.13                               all          Tools to enable NVIDIA's Prime
ii  nvidia-settings                            435.21-0ubuntu2                      amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-390                           390.129-0ubuntu2                     amd64        NVIDIA driver support binaries
ii  screen-resolution-extra                    0.18                                 all          Extension for the nvidia-settings control panel
ii  xserver-xorg-video-nvidia-390              390.129-0ubuntu2                     amd64        NVIDIA binary Xorg driver

Ok, I got plenty of nvidia. The "metapackage" is usually a good place to start...

# apt purge nvidia-driver-390
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  dkms libnvidia-cfg1-390 libnvidia-common-390 libnvidia-compute-390 libnvidia-compute-390:i386 libnvidia-decode-390 libnvidia-decode-390:i386 libnvidia-encode-390 libnvidia-encode-390:i386
  libnvidia-fbc1-390 libnvidia-fbc1-390:i386 libnvidia-gl-390 libnvidia-gl-390:i386 libnvidia-ifr1-390 libnvidia-ifr1-390:i386 libxnvctrl0 nvidia-compute-utils-390 nvidia-dkms-390
  nvidia-kernel-common-390 nvidia-kernel-source-390 nvidia-prime nvidia-settings nvidia-utils-390 screen-resolution-extra xserver-xorg-video-nvidia-390
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  nvidia-driver-390*

Sure enough, looks like getting rid of that one will get rid of all the squatters too, so, ran that command. Followed by...

# apt autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  dkms libnvidia-cfg1-390 libnvidia-common-390 libnvidia-compute-390 libnvidia-compute-390:i386 libnvidia-decode-390 libnvidia-decode-390:i386 libnvidia-encode-390 libnvidia-encode-390:i386
  libnvidia-fbc1-390 libnvidia-fbc1-390:i386 libnvidia-gl-390 libnvidia-gl-390:i386 libnvidia-ifr1-390 libnvidia-ifr1-390:i386 libxnvctrl0 nvidia-compute-utils-390 nvidia-dkms-390
  nvidia-kernel-common-390 nvidia-kernel-source-390 nvidia-prime nvidia-settings nvidia-utils-390 screen-resolution-extra xserver-xorg-video-nvidia-390
0 upgraded, 0 newly installed, 25 to remove and 3 not upgraded.
After this operation, 366 MB disk space will be freed.

Now to see how things look:

# dpkg -l | grep nvidia
rc  libnvidia-compute-390:amd64                390.129-0ubuntu2                     amd64        NVIDIA libcompute package
rc  libnvidia-compute-390:i386                 390.129-0ubuntu2                     i386         NVIDIA libcompute package
rc  nvidia-compute-utils-390                   390.129-0ubuntu2                     amd64        NVIDIA compute utilities
rc  nvidia-dkms-390                            390.129-0ubuntu2                     amd64        NVIDIA DKMS package
rc  nvidia-kernel-common-390                   390.129-0ubuntu2                     amd64        Shared files used with the kernel module
rc  nvidia-prime                               0.8.13                               all          Tools to enable NVIDIA's Prime
rc  nvidia-settings                            435.21-0ubuntu2                      amd64        Tool for configuring the NVIDIA graphics driver
rc  screen-resolution-extra                    0.18                                 all          Extension for the nvidia-settings control panel

Everything pretty much gone.

Rebooted. And Yippie! AnyDesk, Google Earth Pro, and the Android Studio Emulator all now run. And glxinfo spews its pages of stuff.

P.S. Note that as I was doing this I saved all the above from my terminal session and stored it in a file as ~/nvidia.txt so that if my system wouldn't boot, I could hopefully get into a console and re-install everything manually. Thankfully I didn't need to.

Share:
7,797

Related videos on Youtube

Michael
Author by

Michael

Updated on September 18, 2022

Comments

  • Michael
    Michael almost 2 years

    My system has been upgraded 18.04 > 18.10 > 19.04 > 19.10. This problem started with the upgrade to 19.10.

    AnyDesk won't run, gives this error:

    GdkGLExt-WARNING **: 08:49:56.379: Window system doesn't support OpenGL.
    

    Android Studio won't run the emulator, gives these errors:

    8:51 AM Emulator: Warning: QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled ((null):0, (null))
    8:51 AM Emulator: queryConfigs: Could not query GLX version!
    8:51 AM Emulator: getGLES2ExtensionString: Could not find GLES 2.x config!
    8:51 AM Emulator: Failed to obtain GLES 2.x extensions string!
    8:51 AM Emulator: Could not initialize emulated framebuffer
    8:51 AM Emulator: emulator: ERROR: OpenGLES emulation failed to initialize.
    8:51 AM Emulator: Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
    

    Google Earth Pro won't run. It doesn't give an error msg but in the long stack trace the problem seems to begin here:

    /usr/lib/x86_64-linux-gnu/libGLX.so.0(glXCreateContext+0x33)[0x7fc3af903883]
    

    glxinfo won't run:

    $ glxinfo
    name of display: :0
    Error: couldn't find RGB GLX visual or fbconfig
    

    So I have concluded that my OpenGL is just horribly broken even tho this system seems to be running great otherwise.

    Graphics card: Intel® HD Graphics 530 (Skylake GT2)

    installed drivers:

    $ dpkg -l | grep xorg-video
    ii  xserver-xorg-video-all                     1:7.7+19ubuntu12                     amd64        X.Org X server -- output driver metapackage
    ii  xserver-xorg-video-amdgpu                  19.0.1-1ubuntu1                      amd64        X.Org X server -- AMDGPU display driver
    ii  xserver-xorg-video-ati                     1:19.0.1-1ubuntu1                    amd64        X.Org X server -- AMD/ATI display driver wrapper
    ii  xserver-xorg-video-fbdev                   1:0.5.0-1ubuntu1                     amd64        X.Org X server -- fbdev display driver
    ii  xserver-xorg-video-intel                   2:2.99.917+git20190815-1             amd64        X.Org X server -- Intel i8xx, i9xx display driver
    ii  xserver-xorg-video-nouveau                 1:1.0.16-1                           amd64        X.Org X server -- Nouveau display driver
    ii  xserver-xorg-video-nvidia-390              390.129-0ubuntu2                     amd64        NVIDIA binary Xorg driver
    ii  xserver-xorg-video-qxl                     0.1.5-2build2                        amd64        X.Org X server -- QXL display driver
    ii  xserver-xorg-video-radeon                  1:19.0.1-1ubuntu1                    amd64        X.Org X server -- AMD/ATI Radeon display driver
    ii  xserver-xorg-video-vesa                    1:2.4.0-2                            amd64        X.Org X server -- VESA display driver
    ii  xserver-xorg-video-vmware                  1:13.3.0-2build1                     amd64        X.Org X server -- VMware display driver
    

    Can anyone direct me how to fix/troubleshoot this?

  • user1315621
    user1315621 over 3 years
    Why did you had to remove the nvidia drivers? I need them :D
  • Дмитро Олександрович
    Дмитро Олександрович over 2 years
    I followed the steps and ended up with 640x480 resolution which I can't change :(