I am a reluctant sysadmin who inherited the responsibility for configuring a RHEL 6.7 server (operating inside a VMware virtual machine) to replace an old physical server.On this new server, certain X11 applications do not work correctly when the user is logged in to this server remotely via ssh and tunneling X protocol. Specifically, the FreeSurfer suite of neuroscience applications do not work remotely through ssh. However, if the user runs the same program with the same options as the same user in a local session on the server (accessed remotely via NoMachine instead of ssh), it runs just fine.For example, the following command displays the right hemisphere of the brain from MRI data contained in the mySubject folder using the brain region colors designated in the aparc.annot file:tksurfer mySubject rh pial -annotation aparc.annotIn a local session on the server, it runs without error. If the user logs in remotely via ssh -Y user@hostname (tunneling the X display to their CentOS 6 PC), the user gets the following error:libGL error: No matching fbConfigs or visuals foundlibGL error: failed to load driver: swrastI did some digging on the net and found that these error messages are typically associated with an application that requires Nvidia drivers to be installed. I have been reluctant to install Nvidia drivers for fear of potentially screwing up the X server.Is anyone out there running RHEL inside a VMware environment successfully with Nvidia drivers installed? If so, what was your procedure for installing the drivers in a way that maintains compatibility with the virtual machine environment?When I run lspci | grep VGA on this server, I get the following output:00:0f.0 VGA compatible controller: VMware SVGA II Adapter
Video drivers problem only when tunneling X through ssh
ssh;rhel;drivers;nvidia;vmware
You want to render the app remotely, and just stream the result to your node.One solution would be to use virtualgl (possibly with turbovnc for simplicity):https://cdn.rawgit.com/VirtualGL/virtualgl/2.5/doc/index.htmlhttps://cdn.rawgit.com/TurboVNC/turbovnc/2.0.x/doc/index.htmlBasically you would want to install virtualgl, install turbovnc, and follow the procedure in https://cdn.rawgit.com/TurboVNC/turbovnc/2.0.x/doc/index.html#hd009 :ProcedureFollow the procedure described in Chapter 6 for starting a TurboVNC session and connecting to it.Open a new terminal inside the TurboVNC desktop.In the same terminal window, open a Secure Shell (SSH) session into the VirtualGL server:/opt/VirtualGL/bin/vglconnect {user}@{server}Replace {user} with your username on the VirtualGL server and {server} with the hostname or IP address of that server. Refer to the VirtualGL Users Guide for additional vglconnect options.In the SSH session, set the VGL_COMPRESS environment variable to rgbPassing an argument of -c rgb to vglrun achieves the same effect.In the SSH session, start a 3D application using VirtualGL:/opt/VirtualGL/bin/vglrun [vglrun options] {application_executable_or_script} {arguments}A completely different approach would be to pass the nvidia pci device through to the vm using GPU-PASSTHROUGH. This requires support from both the bios and the host OS IIRC, but would allow you to use the nvidia drivers directly inside the VM.Please note vmware support for nvidia passthrough seems to be only for grid products, not their consumer-grade geforce products.A few links to such solutions:  https://www.citrix.com/content/dam/citrix/en_us/documents/go/reviewers-guide-remote-3d-graphics-apps-part-2-vsphere-gpu-passthrough.pdf https://www.pugetsystems.com/labs/articles/Multi-headed-VMWare-Gaming-Setup-564/There are others, I'm just not sure your use case is appropriate for this approach.