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;
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
|
show 2 more comments
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
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
|
show 2 more comments
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
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
centos7 vnc nvidia
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
|
show 2 more comments
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
|
show 2 more comments
4 Answers
4
active
oldest
votes
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:
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).
I've used kmod-nvidia drivers from elrepo, blacklisting
nouveau
with two linesecho -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).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.Pay attention to the
xdpyinfo -display :0
sanity check there. If it's not working, try answeringn
/n
/n
invglserver_config
and disabling selinux. Also, personally, I ended up replacinggdm
withlightdm
.- 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).
add a comment |
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 " . "edString($desktopName);
$cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
$cmd .= " -auth $xauthorityFile";
--- 216,222 ----
# Now start the X VNC Server
! $cmd = $exedir."Xvnc :$displayNumber";
$cmd .= " -desktop " . "edString($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.
add a comment |
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 "$@"
add a comment |
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 $*
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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:
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).
I've used kmod-nvidia drivers from elrepo, blacklisting
nouveau
with two linesecho -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).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.Pay attention to the
xdpyinfo -display :0
sanity check there. If it's not working, try answeringn
/n
/n
invglserver_config
and disabling selinux. Also, personally, I ended up replacinggdm
withlightdm
.- 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).
add a comment |
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:
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).
I've used kmod-nvidia drivers from elrepo, blacklisting
nouveau
with two linesecho -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).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.Pay attention to the
xdpyinfo -display :0
sanity check there. If it's not working, try answeringn
/n
/n
invglserver_config
and disabling selinux. Also, personally, I ended up replacinggdm
withlightdm
.- 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).
add a comment |
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:
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).
I've used kmod-nvidia drivers from elrepo, blacklisting
nouveau
with two linesecho -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).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.Pay attention to the
xdpyinfo -display :0
sanity check there. If it's not working, try answeringn
/n
/n
invglserver_config
and disabling selinux. Also, personally, I ended up replacinggdm
withlightdm
.- 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).
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:
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).
I've used kmod-nvidia drivers from elrepo, blacklisting
nouveau
with two linesecho -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).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.Pay attention to the
xdpyinfo -display :0
sanity check there. If it's not working, try answeringn
/n
/n
invglserver_config
and disabling selinux. Also, personally, I ended up replacinggdm
withlightdm
.- 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).
edited Feb 22 '18 at 17:28
answered Feb 21 '18 at 19:39
IgorIgor
1214
1214
add a comment |
add a comment |
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 " . "edString($desktopName);
$cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
$cmd .= " -auth $xauthorityFile";
--- 216,222 ----
# Now start the X VNC Server
! $cmd = $exedir."Xvnc :$displayNumber";
$cmd .= " -desktop " . "edString($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.
add a comment |
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 " . "edString($desktopName);
$cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
$cmd .= " -auth $xauthorityFile";
--- 216,222 ----
# Now start the X VNC Server
! $cmd = $exedir."Xvnc :$displayNumber";
$cmd .= " -desktop " . "edString($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.
add a comment |
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 " . "edString($desktopName);
$cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
$cmd .= " -auth $xauthorityFile";
--- 216,222 ----
# Now start the X VNC Server
! $cmd = $exedir."Xvnc :$displayNumber";
$cmd .= " -desktop " . "edString($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.
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 " . "edString($desktopName);
$cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
$cmd .= " -auth $xauthorityFile";
--- 216,222 ----
# Now start the X VNC Server
! $cmd = $exedir."Xvnc :$displayNumber";
$cmd .= " -desktop " . "edString($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.
answered Dec 8 '18 at 16:22
The Red Gator in VirginiaThe Red Gator in Virginia
112
112
add a comment |
add a comment |
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 "$@"
add a comment |
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 "$@"
add a comment |
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 "$@"
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 "$@"
answered Dec 9 '18 at 4:34
The Red Gator in VirginiaThe Red Gator in Virginia
112
112
add a comment |
add a comment |
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 $*
add a comment |
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 $*
add a comment |
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 $*
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 $*
answered May 23 at 19:42
TerryTerry
1
1
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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