Nvidia driver breaks vncserver on CentOS 7.4, is there a work around?libGL error: dlopen /usr/lib64/dri/nouveau_dri.so failed on CentOS 6.6CentOS 7 on Amazon ec2 hangs on rebootCreating profiles in WAS 8559 on CentOS 7CentOS 7 w/Gnome hangs on boot after Nvidia driver installation?OpenLDAP as proxy to Active Directory does not bind with bindDN from slapd.confvncserver for individual user doesn't workPXE boot CentOS 7.2 diskless fails with “Failed to start Switch Root”After CentOS 7.4 upgrade samba panicCan't get VNC server to work in CentOS 7.4NVIDIA-SMI can't communicate with NVIDIA driver

CSV how to trim values to 2 places in multiple columns using UNIX

Why are trash cans referred to as "zafacón" in Puerto Rico?

How come the nude protesters were not arrested?

Is it possible to have a wealthy country without a middle class?

Is it possible for a vehicle to be manufactured without a catalytic converter?

Bb13b9 confusion

Are there any important biographies of nobodies?

How to hide rifle during medieval town entrance inspection?

English word for "product of tinkering"

What is the maximum number of net attacks that one can make in a round?

GroupBy operation using an entire dataframe to group values

Why does Sin[b-a] simplify to -Sin[a-b]?

Why does logistic function use e rather than 2?

Second (easy access) account in case my bank screws up

How to ensure color fidelity of the same file on two computers?

Longest bridge/tunnel that can be cycled over/through?

What ways have you found to get edits from non-LaTeX users?

Let M and N be single-digit integers. If the product 2M5 x 13N is divisible by 36, how many ordered pairs (M,N) are possible?

Interval of parallel 5ths in the resolution of a German 6th chord

LuaLaTex - how to use number, computed later in the document

How to communicate to my GM that not being allowed to use stealth isn't fun for me?

How to decline a wedding invitation from a friend I haven't seen in years?

Artificer Creativity

How do you say "homebrewer" in Spanish?



Nvidia driver breaks vncserver on CentOS 7.4, is there a work around?


libGL error: dlopen /usr/lib64/dri/nouveau_dri.so failed on CentOS 6.6CentOS 7 on Amazon ec2 hangs on rebootCreating profiles in WAS 8559 on CentOS 7CentOS 7 w/Gnome hangs on boot after Nvidia driver installation?OpenLDAP as proxy to Active Directory does not bind with bindDN from slapd.confvncserver for individual user doesn't workPXE boot CentOS 7.2 diskless fails with “Failed to start Switch Root”After CentOS 7.4 upgrade samba panicCan't get VNC server to work in CentOS 7.4NVIDIA-SMI can't communicate with NVIDIA driver






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








2















CentOS Linux release 7.4.1708 (Core) 
uname -r output: 3.10.0-693.2.2.el7.x86_64
NVidia driver: NVIDIA-Linux-x86_64-375.66.run


When using the Nvidia graphics card driver with the Nvidia GeForce GT 720 graphics card on CentOS 7.4 it works fine for the wired computer monitor on the console. However, when attempting to connect to the vncserver, you only get a blank black screen on connection. I have removed the Nvidia driver, and VNC works again. Apparently I just recently found out that the Nouveau driver works with VNC, but it doesn't with the wired computer monitor on the console.



Is there a work around for using the Nvidia driver and be able to get VNC to work? Possible configuration files changes or a simpler GUI to use with Gnome? Currently I'm using metacity in the ~user/.vnc/xstartup file. Or is there another good alternative to using the vncserver/tigervnc?










share|improve this question






















  • What about SSH with X11 forwarding?

    – gf_
    Oct 26 '17 at 16:50











  • How would I set this up to try it?

    – Edward_178118
    Oct 30 '17 at 11:37






  • 1





    Actually, I'm quite sure you're able to find out on your own, but as a starting point, have a look at this question, for example.

    – gf_
    Oct 30 '17 at 12:00






  • 1





    What are you trying to achieve? Control the :0 display of X with VNC (the one displayed on your monitor by default)? If you open a separate session (like :1), display driver should have nothing to do with VNC, because in this case VNC works as a virtual X display, thus no driver is needed. Is this a solution for you?

    – sam_pan_mariusz
    Oct 31 '17 at 19:35












  • I'm trying to use this system with the Nvidia driver installed to be accessible by VNC. If I remove the Nvidia driver, then VNC works. With the Nvidia driver installed and working for the wired console, VNC just gets a blank black screen.

    – Edward_178118
    Nov 1 '17 at 15:45

















2















CentOS Linux release 7.4.1708 (Core) 
uname -r output: 3.10.0-693.2.2.el7.x86_64
NVidia driver: NVIDIA-Linux-x86_64-375.66.run


When using the Nvidia graphics card driver with the Nvidia GeForce GT 720 graphics card on CentOS 7.4 it works fine for the wired computer monitor on the console. However, when attempting to connect to the vncserver, you only get a blank black screen on connection. I have removed the Nvidia driver, and VNC works again. Apparently I just recently found out that the Nouveau driver works with VNC, but it doesn't with the wired computer monitor on the console.



Is there a work around for using the Nvidia driver and be able to get VNC to work? Possible configuration files changes or a simpler GUI to use with Gnome? Currently I'm using metacity in the ~user/.vnc/xstartup file. Or is there another good alternative to using the vncserver/tigervnc?










share|improve this question






















  • What about SSH with X11 forwarding?

    – gf_
    Oct 26 '17 at 16:50











  • How would I set this up to try it?

    – Edward_178118
    Oct 30 '17 at 11:37






  • 1





    Actually, I'm quite sure you're able to find out on your own, but as a starting point, have a look at this question, for example.

    – gf_
    Oct 30 '17 at 12:00






  • 1





    What are you trying to achieve? Control the :0 display of X with VNC (the one displayed on your monitor by default)? If you open a separate session (like :1), display driver should have nothing to do with VNC, because in this case VNC works as a virtual X display, thus no driver is needed. Is this a solution for you?

    – sam_pan_mariusz
    Oct 31 '17 at 19:35












  • I'm trying to use this system with the Nvidia driver installed to be accessible by VNC. If I remove the Nvidia driver, then VNC works. With the Nvidia driver installed and working for the wired console, VNC just gets a blank black screen.

    – Edward_178118
    Nov 1 '17 at 15:45













2












2








2


2






CentOS Linux release 7.4.1708 (Core) 
uname -r output: 3.10.0-693.2.2.el7.x86_64
NVidia driver: NVIDIA-Linux-x86_64-375.66.run


When using the Nvidia graphics card driver with the Nvidia GeForce GT 720 graphics card on CentOS 7.4 it works fine for the wired computer monitor on the console. However, when attempting to connect to the vncserver, you only get a blank black screen on connection. I have removed the Nvidia driver, and VNC works again. Apparently I just recently found out that the Nouveau driver works with VNC, but it doesn't with the wired computer monitor on the console.



Is there a work around for using the Nvidia driver and be able to get VNC to work? Possible configuration files changes or a simpler GUI to use with Gnome? Currently I'm using metacity in the ~user/.vnc/xstartup file. Or is there another good alternative to using the vncserver/tigervnc?










share|improve this question














CentOS Linux release 7.4.1708 (Core) 
uname -r output: 3.10.0-693.2.2.el7.x86_64
NVidia driver: NVIDIA-Linux-x86_64-375.66.run


When using the Nvidia graphics card driver with the Nvidia GeForce GT 720 graphics card on CentOS 7.4 it works fine for the wired computer monitor on the console. However, when attempting to connect to the vncserver, you only get a blank black screen on connection. I have removed the Nvidia driver, and VNC works again. Apparently I just recently found out that the Nouveau driver works with VNC, but it doesn't with the wired computer monitor on the console.



Is there a work around for using the Nvidia driver and be able to get VNC to work? Possible configuration files changes or a simpler GUI to use with Gnome? Currently I'm using metacity in the ~user/.vnc/xstartup file. Or is there another good alternative to using the vncserver/tigervnc?







centos7 vnc nvidia






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Oct 15 '17 at 9:23









Edward_178118Edward_178118

4431721




4431721












  • What about SSH with X11 forwarding?

    – gf_
    Oct 26 '17 at 16:50











  • How would I set this up to try it?

    – Edward_178118
    Oct 30 '17 at 11:37






  • 1





    Actually, I'm quite sure you're able to find out on your own, but as a starting point, have a look at this question, for example.

    – gf_
    Oct 30 '17 at 12:00






  • 1





    What are you trying to achieve? Control the :0 display of X with VNC (the one displayed on your monitor by default)? If you open a separate session (like :1), display driver should have nothing to do with VNC, because in this case VNC works as a virtual X display, thus no driver is needed. Is this a solution for you?

    – sam_pan_mariusz
    Oct 31 '17 at 19:35












  • I'm trying to use this system with the Nvidia driver installed to be accessible by VNC. If I remove the Nvidia driver, then VNC works. With the Nvidia driver installed and working for the wired console, VNC just gets a blank black screen.

    – Edward_178118
    Nov 1 '17 at 15:45

















  • What about SSH with X11 forwarding?

    – gf_
    Oct 26 '17 at 16:50











  • How would I set this up to try it?

    – Edward_178118
    Oct 30 '17 at 11:37






  • 1





    Actually, I'm quite sure you're able to find out on your own, but as a starting point, have a look at this question, for example.

    – gf_
    Oct 30 '17 at 12:00






  • 1





    What are you trying to achieve? Control the :0 display of X with VNC (the one displayed on your monitor by default)? If you open a separate session (like :1), display driver should have nothing to do with VNC, because in this case VNC works as a virtual X display, thus no driver is needed. Is this a solution for you?

    – sam_pan_mariusz
    Oct 31 '17 at 19:35












  • I'm trying to use this system with the Nvidia driver installed to be accessible by VNC. If I remove the Nvidia driver, then VNC works. With the Nvidia driver installed and working for the wired console, VNC just gets a blank black screen.

    – Edward_178118
    Nov 1 '17 at 15:45
















What about SSH with X11 forwarding?

– gf_
Oct 26 '17 at 16:50





What about SSH with X11 forwarding?

– gf_
Oct 26 '17 at 16:50













How would I set this up to try it?

– Edward_178118
Oct 30 '17 at 11:37





How would I set this up to try it?

– Edward_178118
Oct 30 '17 at 11:37




1




1





Actually, I'm quite sure you're able to find out on your own, but as a starting point, have a look at this question, for example.

– gf_
Oct 30 '17 at 12:00





Actually, I'm quite sure you're able to find out on your own, but as a starting point, have a look at this question, for example.

– gf_
Oct 30 '17 at 12:00




1




1





What are you trying to achieve? Control the :0 display of X with VNC (the one displayed on your monitor by default)? If you open a separate session (like :1), display driver should have nothing to do with VNC, because in this case VNC works as a virtual X display, thus no driver is needed. Is this a solution for you?

– sam_pan_mariusz
Oct 31 '17 at 19:35






What are you trying to achieve? Control the :0 display of X with VNC (the one displayed on your monitor by default)? If you open a separate session (like :1), display driver should have nothing to do with VNC, because in this case VNC works as a virtual X display, thus no driver is needed. Is this a solution for you?

– sam_pan_mariusz
Oct 31 '17 at 19:35














I'm trying to use this system with the Nvidia driver installed to be accessible by VNC. If I remove the Nvidia driver, then VNC works. With the Nvidia driver installed and working for the wired console, VNC just gets a blank black screen.

– Edward_178118
Nov 1 '17 at 15:45





I'm trying to use this system with the Nvidia driver installed to be accessible by VNC. If I remove the Nvidia driver, then VNC works. With the Nvidia driver installed and working for the wired console, VNC just gets a blank black screen.

– Edward_178118
Nov 1 '17 at 15:45










4 Answers
4






active

oldest

votes


















1














TurboVNC + VirtualGL is a good alternative.



Pros:




  • Good performance.

  • Works with desktop environments, that require 3D acceleration (like Gnome3), with -3dwm.

  • Remote 3D rendering works even with headless GPUs.

The cons is that it might be tricky to config. I've just finished setting it up on my CentOS 7 and NVidia K80. I doubt my config is perfect, but here's a set of points I'd like to highlight:



  1. Official guides (1,2,3,4) might look somewhat too long and scary at the first glance, but they are rather easy to follow. They do miss some important pieces of information, though (1,2,3,4).


  2. I've used kmod-nvidia drivers from elrepo, blacklisting nouveau with two lines echo -e "blacklist nouveaunoptions nouveau modeset=0" > /etc/modprobe.d/disable-nouveau.conf, not with one single-line, like suggested in many other guides (1,2).


  3. Checking the following logs is a good starting point, when something goes wrong: /var/log/messages, /var/log/Xorg.0.log, ~/.vnc/*.log. Most error messages I ran into are already discussed and rather easy to google.


  4. Pay attention to the xdpyinfo -display :0 sanity check there. If it's not working, try answering n/n/n in vglserver_config and disabling selinux. Also, personally, I ended up replacing gdm with lightdm.


  5. Although in general Gnome3 works OK, some weird errors do happen time-to-time (e.g. Firefox works, but opening downloaded archive with the built-in archive manager fails with an error like this). So, I ended up installing KDE Plasma, so that -3dwm is no longer needed. (But I still like TurboVNC server, cause it's fast).





share|improve this answer
































    1














    My understanding the root cause is NVIDIA installs its own GL libraries which break other X environments.



    $ ldd /usr/bin/Xvnc | egrep GL
    libGL.so.1 => /lib64/libGL.so.1 (0x00007f7ed8f5b000)


    A cheat is to jumper-out the NVIDIA libGL.so by directing vncserver to the /usr/lib64 BEFORE /usr/lib64/nvidia:



    $ diff -cbtw /usr/bin/vncserver*
    *** /usr/bin/vncserver 2018-12-08 11:07:14.871180204 -0500
    --- /usr/bin/vncserver.rhel71 2014-03-10 12:17:32.000000000 -0400
    ***************
    *** 216,223 ****

    # Now start the X VNC Server

    ! $cmd = "export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH ; ";
    ! $cmd .= $exedir."Xvnc :$displayNumber";
    $cmd .= " -desktop " . &quotedString($desktopName);
    $cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
    $cmd .= " -auth $xauthorityFile";
    --- 216,222 ----

    # Now start the X VNC Server

    ! $cmd = $exedir."Xvnc :$displayNumber";
    $cmd .= " -desktop " . &quotedString($desktopName);
    $cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
    $cmd .= " -auth $xauthorityFile";
    [merc_user@pair-1-host ~]$


    This is working for me with Red Hat 7.1 and CUDA 9-2.






    share|improve this answer






























      0














      To continue working around the NVIDIA vs native graphics problem with the NVIDIA libGL issue, I have made the following cheats:



      $ mv /usr/sbin/gdm /usr/sbin/gdm.bin
      $ mv /usr/bin/Xorg /usr/bin/Xorg.bin
      $ # make edits - show results
      $ cat /usr/sbin/gdm
      #!/bin/sh
      #
      # workaround for libGL issue
      #

      LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
      export LD_LIBRARY_PATH

      exec /usr/sbin/gdm.bin "$@"
      $ cat /usr/bin/Xorg
      #!/bin/sh
      #
      # workaround libGL issue
      #

      LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
      export LD_LIBRARY_PATH

      exec /usr/bin/Xorg.bin "$@"





      share|improve this answer






























        0














        Here is my solution on a fedora 29 machine.
        I believe this is a distribution independent issue.

        Move or copy the distribution versions of libGL to /usr/local/vnclib:



        $ ls -l /usr/local/vnclib
        total 596
        lrwxrwxrwx 1 root root 14 Feb 14 07:11 libGL.so -> libGL.so.1.7.0
        lrwxrwxrwx 1 root root 14 Feb 14 07:11 libGL.so.1 -> libGL.so.1.7.0
        -rwxr-xr-x 1 root root 610208 Feb 14 07:11 libGL.so.1.7.0
        $

        make a /usr/local/bin/vncserver:

        $ cat /usr/local/bin/vncserver
        #!/bin/bash
        # added because nvidia driver overwrites these
        export LD_LIBRARY_PATH=/usr/local/vnclib:$LD_LIBRARY_PATH
        /usr/bin/vncserver $*





        share|improve this answer























          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "2"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f878530%2fnvidia-driver-breaks-vncserver-on-centos-7-4-is-there-a-work-around%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          4 Answers
          4






          active

          oldest

          votes








          4 Answers
          4






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          TurboVNC + VirtualGL is a good alternative.



          Pros:




          • Good performance.

          • Works with desktop environments, that require 3D acceleration (like Gnome3), with -3dwm.

          • Remote 3D rendering works even with headless GPUs.

          The cons is that it might be tricky to config. I've just finished setting it up on my CentOS 7 and NVidia K80. I doubt my config is perfect, but here's a set of points I'd like to highlight:



          1. Official guides (1,2,3,4) might look somewhat too long and scary at the first glance, but they are rather easy to follow. They do miss some important pieces of information, though (1,2,3,4).


          2. I've used kmod-nvidia drivers from elrepo, blacklisting nouveau with two lines echo -e "blacklist nouveaunoptions nouveau modeset=0" > /etc/modprobe.d/disable-nouveau.conf, not with one single-line, like suggested in many other guides (1,2).


          3. Checking the following logs is a good starting point, when something goes wrong: /var/log/messages, /var/log/Xorg.0.log, ~/.vnc/*.log. Most error messages I ran into are already discussed and rather easy to google.


          4. Pay attention to the xdpyinfo -display :0 sanity check there. If it's not working, try answering n/n/n in vglserver_config and disabling selinux. Also, personally, I ended up replacing gdm with lightdm.


          5. Although in general Gnome3 works OK, some weird errors do happen time-to-time (e.g. Firefox works, but opening downloaded archive with the built-in archive manager fails with an error like this). So, I ended up installing KDE Plasma, so that -3dwm is no longer needed. (But I still like TurboVNC server, cause it's fast).





          share|improve this answer





























            1














            TurboVNC + VirtualGL is a good alternative.



            Pros:




            • Good performance.

            • Works with desktop environments, that require 3D acceleration (like Gnome3), with -3dwm.

            • Remote 3D rendering works even with headless GPUs.

            The cons is that it might be tricky to config. I've just finished setting it up on my CentOS 7 and NVidia K80. I doubt my config is perfect, but here's a set of points I'd like to highlight:



            1. Official guides (1,2,3,4) might look somewhat too long and scary at the first glance, but they are rather easy to follow. They do miss some important pieces of information, though (1,2,3,4).


            2. I've used kmod-nvidia drivers from elrepo, blacklisting nouveau with two lines echo -e "blacklist nouveaunoptions nouveau modeset=0" > /etc/modprobe.d/disable-nouveau.conf, not with one single-line, like suggested in many other guides (1,2).


            3. Checking the following logs is a good starting point, when something goes wrong: /var/log/messages, /var/log/Xorg.0.log, ~/.vnc/*.log. Most error messages I ran into are already discussed and rather easy to google.


            4. Pay attention to the xdpyinfo -display :0 sanity check there. If it's not working, try answering n/n/n in vglserver_config and disabling selinux. Also, personally, I ended up replacing gdm with lightdm.


            5. Although in general Gnome3 works OK, some weird errors do happen time-to-time (e.g. Firefox works, but opening downloaded archive with the built-in archive manager fails with an error like this). So, I ended up installing KDE Plasma, so that -3dwm is no longer needed. (But I still like TurboVNC server, cause it's fast).





            share|improve this answer



























              1












              1








              1







              TurboVNC + VirtualGL is a good alternative.



              Pros:




              • Good performance.

              • Works with desktop environments, that require 3D acceleration (like Gnome3), with -3dwm.

              • Remote 3D rendering works even with headless GPUs.

              The cons is that it might be tricky to config. I've just finished setting it up on my CentOS 7 and NVidia K80. I doubt my config is perfect, but here's a set of points I'd like to highlight:



              1. Official guides (1,2,3,4) might look somewhat too long and scary at the first glance, but they are rather easy to follow. They do miss some important pieces of information, though (1,2,3,4).


              2. I've used kmod-nvidia drivers from elrepo, blacklisting nouveau with two lines echo -e "blacklist nouveaunoptions nouveau modeset=0" > /etc/modprobe.d/disable-nouveau.conf, not with one single-line, like suggested in many other guides (1,2).


              3. Checking the following logs is a good starting point, when something goes wrong: /var/log/messages, /var/log/Xorg.0.log, ~/.vnc/*.log. Most error messages I ran into are already discussed and rather easy to google.


              4. Pay attention to the xdpyinfo -display :0 sanity check there. If it's not working, try answering n/n/n in vglserver_config and disabling selinux. Also, personally, I ended up replacing gdm with lightdm.


              5. Although in general Gnome3 works OK, some weird errors do happen time-to-time (e.g. Firefox works, but opening downloaded archive with the built-in archive manager fails with an error like this). So, I ended up installing KDE Plasma, so that -3dwm is no longer needed. (But I still like TurboVNC server, cause it's fast).





              share|improve this answer















              TurboVNC + VirtualGL is a good alternative.



              Pros:




              • Good performance.

              • Works with desktop environments, that require 3D acceleration (like Gnome3), with -3dwm.

              • Remote 3D rendering works even with headless GPUs.

              The cons is that it might be tricky to config. I've just finished setting it up on my CentOS 7 and NVidia K80. I doubt my config is perfect, but here's a set of points I'd like to highlight:



              1. Official guides (1,2,3,4) might look somewhat too long and scary at the first glance, but they are rather easy to follow. They do miss some important pieces of information, though (1,2,3,4).


              2. I've used kmod-nvidia drivers from elrepo, blacklisting nouveau with two lines echo -e "blacklist nouveaunoptions nouveau modeset=0" > /etc/modprobe.d/disable-nouveau.conf, not with one single-line, like suggested in many other guides (1,2).


              3. Checking the following logs is a good starting point, when something goes wrong: /var/log/messages, /var/log/Xorg.0.log, ~/.vnc/*.log. Most error messages I ran into are already discussed and rather easy to google.


              4. Pay attention to the xdpyinfo -display :0 sanity check there. If it's not working, try answering n/n/n in vglserver_config and disabling selinux. Also, personally, I ended up replacing gdm with lightdm.


              5. Although in general Gnome3 works OK, some weird errors do happen time-to-time (e.g. Firefox works, but opening downloaded archive with the built-in archive manager fails with an error like this). So, I ended up installing KDE Plasma, so that -3dwm is no longer needed. (But I still like TurboVNC server, cause it's fast).






              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Feb 22 '18 at 17:28

























              answered Feb 21 '18 at 19:39









              IgorIgor

              1214




              1214























                  1














                  My understanding the root cause is NVIDIA installs its own GL libraries which break other X environments.



                  $ ldd /usr/bin/Xvnc | egrep GL
                  libGL.so.1 => /lib64/libGL.so.1 (0x00007f7ed8f5b000)


                  A cheat is to jumper-out the NVIDIA libGL.so by directing vncserver to the /usr/lib64 BEFORE /usr/lib64/nvidia:



                  $ diff -cbtw /usr/bin/vncserver*
                  *** /usr/bin/vncserver 2018-12-08 11:07:14.871180204 -0500
                  --- /usr/bin/vncserver.rhel71 2014-03-10 12:17:32.000000000 -0400
                  ***************
                  *** 216,223 ****

                  # Now start the X VNC Server

                  ! $cmd = "export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH ; ";
                  ! $cmd .= $exedir."Xvnc :$displayNumber";
                  $cmd .= " -desktop " . &quotedString($desktopName);
                  $cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
                  $cmd .= " -auth $xauthorityFile";
                  --- 216,222 ----

                  # Now start the X VNC Server

                  ! $cmd = $exedir."Xvnc :$displayNumber";
                  $cmd .= " -desktop " . &quotedString($desktopName);
                  $cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
                  $cmd .= " -auth $xauthorityFile";
                  [merc_user@pair-1-host ~]$


                  This is working for me with Red Hat 7.1 and CUDA 9-2.






                  share|improve this answer



























                    1














                    My understanding the root cause is NVIDIA installs its own GL libraries which break other X environments.



                    $ ldd /usr/bin/Xvnc | egrep GL
                    libGL.so.1 => /lib64/libGL.so.1 (0x00007f7ed8f5b000)


                    A cheat is to jumper-out the NVIDIA libGL.so by directing vncserver to the /usr/lib64 BEFORE /usr/lib64/nvidia:



                    $ diff -cbtw /usr/bin/vncserver*
                    *** /usr/bin/vncserver 2018-12-08 11:07:14.871180204 -0500
                    --- /usr/bin/vncserver.rhel71 2014-03-10 12:17:32.000000000 -0400
                    ***************
                    *** 216,223 ****

                    # Now start the X VNC Server

                    ! $cmd = "export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH ; ";
                    ! $cmd .= $exedir."Xvnc :$displayNumber";
                    $cmd .= " -desktop " . &quotedString($desktopName);
                    $cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
                    $cmd .= " -auth $xauthorityFile";
                    --- 216,222 ----

                    # Now start the X VNC Server

                    ! $cmd = $exedir."Xvnc :$displayNumber";
                    $cmd .= " -desktop " . &quotedString($desktopName);
                    $cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
                    $cmd .= " -auth $xauthorityFile";
                    [merc_user@pair-1-host ~]$


                    This is working for me with Red Hat 7.1 and CUDA 9-2.






                    share|improve this answer

























                      1












                      1








                      1







                      My understanding the root cause is NVIDIA installs its own GL libraries which break other X environments.



                      $ ldd /usr/bin/Xvnc | egrep GL
                      libGL.so.1 => /lib64/libGL.so.1 (0x00007f7ed8f5b000)


                      A cheat is to jumper-out the NVIDIA libGL.so by directing vncserver to the /usr/lib64 BEFORE /usr/lib64/nvidia:



                      $ diff -cbtw /usr/bin/vncserver*
                      *** /usr/bin/vncserver 2018-12-08 11:07:14.871180204 -0500
                      --- /usr/bin/vncserver.rhel71 2014-03-10 12:17:32.000000000 -0400
                      ***************
                      *** 216,223 ****

                      # Now start the X VNC Server

                      ! $cmd = "export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH ; ";
                      ! $cmd .= $exedir."Xvnc :$displayNumber";
                      $cmd .= " -desktop " . &quotedString($desktopName);
                      $cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
                      $cmd .= " -auth $xauthorityFile";
                      --- 216,222 ----

                      # Now start the X VNC Server

                      ! $cmd = $exedir."Xvnc :$displayNumber";
                      $cmd .= " -desktop " . &quotedString($desktopName);
                      $cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
                      $cmd .= " -auth $xauthorityFile";
                      [merc_user@pair-1-host ~]$


                      This is working for me with Red Hat 7.1 and CUDA 9-2.






                      share|improve this answer













                      My understanding the root cause is NVIDIA installs its own GL libraries which break other X environments.



                      $ ldd /usr/bin/Xvnc | egrep GL
                      libGL.so.1 => /lib64/libGL.so.1 (0x00007f7ed8f5b000)


                      A cheat is to jumper-out the NVIDIA libGL.so by directing vncserver to the /usr/lib64 BEFORE /usr/lib64/nvidia:



                      $ diff -cbtw /usr/bin/vncserver*
                      *** /usr/bin/vncserver 2018-12-08 11:07:14.871180204 -0500
                      --- /usr/bin/vncserver.rhel71 2014-03-10 12:17:32.000000000 -0400
                      ***************
                      *** 216,223 ****

                      # Now start the X VNC Server

                      ! $cmd = "export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH ; ";
                      ! $cmd .= $exedir."Xvnc :$displayNumber";
                      $cmd .= " -desktop " . &quotedString($desktopName);
                      $cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
                      $cmd .= " -auth $xauthorityFile";
                      --- 216,222 ----

                      # Now start the X VNC Server

                      ! $cmd = $exedir."Xvnc :$displayNumber";
                      $cmd .= " -desktop " . &quotedString($desktopName);
                      $cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
                      $cmd .= " -auth $xauthorityFile";
                      [merc_user@pair-1-host ~]$


                      This is working for me with Red Hat 7.1 and CUDA 9-2.







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Dec 8 '18 at 16:22









                      The Red Gator in VirginiaThe Red Gator in Virginia

                      112




                      112





















                          0














                          To continue working around the NVIDIA vs native graphics problem with the NVIDIA libGL issue, I have made the following cheats:



                          $ mv /usr/sbin/gdm /usr/sbin/gdm.bin
                          $ mv /usr/bin/Xorg /usr/bin/Xorg.bin
                          $ # make edits - show results
                          $ cat /usr/sbin/gdm
                          #!/bin/sh
                          #
                          # workaround for libGL issue
                          #

                          LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
                          export LD_LIBRARY_PATH

                          exec /usr/sbin/gdm.bin "$@"
                          $ cat /usr/bin/Xorg
                          #!/bin/sh
                          #
                          # workaround libGL issue
                          #

                          LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
                          export LD_LIBRARY_PATH

                          exec /usr/bin/Xorg.bin "$@"





                          share|improve this answer



























                            0














                            To continue working around the NVIDIA vs native graphics problem with the NVIDIA libGL issue, I have made the following cheats:



                            $ mv /usr/sbin/gdm /usr/sbin/gdm.bin
                            $ mv /usr/bin/Xorg /usr/bin/Xorg.bin
                            $ # make edits - show results
                            $ cat /usr/sbin/gdm
                            #!/bin/sh
                            #
                            # workaround for libGL issue
                            #

                            LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
                            export LD_LIBRARY_PATH

                            exec /usr/sbin/gdm.bin "$@"
                            $ cat /usr/bin/Xorg
                            #!/bin/sh
                            #
                            # workaround libGL issue
                            #

                            LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
                            export LD_LIBRARY_PATH

                            exec /usr/bin/Xorg.bin "$@"





                            share|improve this answer

























                              0












                              0








                              0







                              To continue working around the NVIDIA vs native graphics problem with the NVIDIA libGL issue, I have made the following cheats:



                              $ mv /usr/sbin/gdm /usr/sbin/gdm.bin
                              $ mv /usr/bin/Xorg /usr/bin/Xorg.bin
                              $ # make edits - show results
                              $ cat /usr/sbin/gdm
                              #!/bin/sh
                              #
                              # workaround for libGL issue
                              #

                              LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
                              export LD_LIBRARY_PATH

                              exec /usr/sbin/gdm.bin "$@"
                              $ cat /usr/bin/Xorg
                              #!/bin/sh
                              #
                              # workaround libGL issue
                              #

                              LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
                              export LD_LIBRARY_PATH

                              exec /usr/bin/Xorg.bin "$@"





                              share|improve this answer













                              To continue working around the NVIDIA vs native graphics problem with the NVIDIA libGL issue, I have made the following cheats:



                              $ mv /usr/sbin/gdm /usr/sbin/gdm.bin
                              $ mv /usr/bin/Xorg /usr/bin/Xorg.bin
                              $ # make edits - show results
                              $ cat /usr/sbin/gdm
                              #!/bin/sh
                              #
                              # workaround for libGL issue
                              #

                              LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
                              export LD_LIBRARY_PATH

                              exec /usr/sbin/gdm.bin "$@"
                              $ cat /usr/bin/Xorg
                              #!/bin/sh
                              #
                              # workaround libGL issue
                              #

                              LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
                              export LD_LIBRARY_PATH

                              exec /usr/bin/Xorg.bin "$@"






                              share|improve this answer












                              share|improve this answer



                              share|improve this answer










                              answered Dec 9 '18 at 4:34









                              The Red Gator in VirginiaThe Red Gator in Virginia

                              112




                              112





















                                  0














                                  Here is my solution on a fedora 29 machine.
                                  I believe this is a distribution independent issue.

                                  Move or copy the distribution versions of libGL to /usr/local/vnclib:



                                  $ ls -l /usr/local/vnclib
                                  total 596
                                  lrwxrwxrwx 1 root root 14 Feb 14 07:11 libGL.so -> libGL.so.1.7.0
                                  lrwxrwxrwx 1 root root 14 Feb 14 07:11 libGL.so.1 -> libGL.so.1.7.0
                                  -rwxr-xr-x 1 root root 610208 Feb 14 07:11 libGL.so.1.7.0
                                  $

                                  make a /usr/local/bin/vncserver:

                                  $ cat /usr/local/bin/vncserver
                                  #!/bin/bash
                                  # added because nvidia driver overwrites these
                                  export LD_LIBRARY_PATH=/usr/local/vnclib:$LD_LIBRARY_PATH
                                  /usr/bin/vncserver $*





                                  share|improve this answer



























                                    0














                                    Here is my solution on a fedora 29 machine.
                                    I believe this is a distribution independent issue.

                                    Move or copy the distribution versions of libGL to /usr/local/vnclib:



                                    $ ls -l /usr/local/vnclib
                                    total 596
                                    lrwxrwxrwx 1 root root 14 Feb 14 07:11 libGL.so -> libGL.so.1.7.0
                                    lrwxrwxrwx 1 root root 14 Feb 14 07:11 libGL.so.1 -> libGL.so.1.7.0
                                    -rwxr-xr-x 1 root root 610208 Feb 14 07:11 libGL.so.1.7.0
                                    $

                                    make a /usr/local/bin/vncserver:

                                    $ cat /usr/local/bin/vncserver
                                    #!/bin/bash
                                    # added because nvidia driver overwrites these
                                    export LD_LIBRARY_PATH=/usr/local/vnclib:$LD_LIBRARY_PATH
                                    /usr/bin/vncserver $*





                                    share|improve this answer

























                                      0












                                      0








                                      0







                                      Here is my solution on a fedora 29 machine.
                                      I believe this is a distribution independent issue.

                                      Move or copy the distribution versions of libGL to /usr/local/vnclib:



                                      $ ls -l /usr/local/vnclib
                                      total 596
                                      lrwxrwxrwx 1 root root 14 Feb 14 07:11 libGL.so -> libGL.so.1.7.0
                                      lrwxrwxrwx 1 root root 14 Feb 14 07:11 libGL.so.1 -> libGL.so.1.7.0
                                      -rwxr-xr-x 1 root root 610208 Feb 14 07:11 libGL.so.1.7.0
                                      $

                                      make a /usr/local/bin/vncserver:

                                      $ cat /usr/local/bin/vncserver
                                      #!/bin/bash
                                      # added because nvidia driver overwrites these
                                      export LD_LIBRARY_PATH=/usr/local/vnclib:$LD_LIBRARY_PATH
                                      /usr/bin/vncserver $*





                                      share|improve this answer













                                      Here is my solution on a fedora 29 machine.
                                      I believe this is a distribution independent issue.

                                      Move or copy the distribution versions of libGL to /usr/local/vnclib:



                                      $ ls -l /usr/local/vnclib
                                      total 596
                                      lrwxrwxrwx 1 root root 14 Feb 14 07:11 libGL.so -> libGL.so.1.7.0
                                      lrwxrwxrwx 1 root root 14 Feb 14 07:11 libGL.so.1 -> libGL.so.1.7.0
                                      -rwxr-xr-x 1 root root 610208 Feb 14 07:11 libGL.so.1.7.0
                                      $

                                      make a /usr/local/bin/vncserver:

                                      $ cat /usr/local/bin/vncserver
                                      #!/bin/bash
                                      # added because nvidia driver overwrites these
                                      export LD_LIBRARY_PATH=/usr/local/vnclib:$LD_LIBRARY_PATH
                                      /usr/bin/vncserver $*






                                      share|improve this answer












                                      share|improve this answer



                                      share|improve this answer










                                      answered May 23 at 19:42









                                      TerryTerry

                                      1




                                      1



























                                          draft saved

                                          draft discarded
















































                                          Thanks for contributing an answer to Server Fault!


                                          • Please be sure to answer the question. Provide details and share your research!

                                          But avoid


                                          • Asking for help, clarification, or responding to other answers.

                                          • Making statements based on opinion; back them up with references or personal experience.

                                          To learn more, see our tips on writing great answers.




                                          draft saved


                                          draft discarded














                                          StackExchange.ready(
                                          function ()
                                          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f878530%2fnvidia-driver-breaks-vncserver-on-centos-7-4-is-there-a-work-around%23new-answer', 'question_page');

                                          );

                                          Post as a guest















                                          Required, but never shown





















































                                          Required, but never shown














                                          Required, but never shown












                                          Required, but never shown







                                          Required, but never shown

































                                          Required, but never shown














                                          Required, but never shown












                                          Required, but never shown







                                          Required, but never shown







                                          Popular posts from this blog

                                          Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

                                          Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

                                          What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company