仅当通过 ssh 建立 X 隧道时视频驱动程序才会出现问题

仅当通过 ssh 建立 X 隧道时视频驱动程序才会出现问题

我是一名不情愿的系统管理员,继承了配置 RHEL 6.7 服务器(在 VMware 虚拟机内运行)以替换旧物理服务器的责任。

在此新服务器上,当用户通过 ssh 和隧道 X 协议远程登录到该服务器时,某些 X11 应用程序无法正常工作。具体来说,自由冲浪者神经科学应用程序套件不能通过 ssh 远程工作。但是,如果用户在服务器上的本地会话中使用与同一用户相同的选项运行相同的程序(通过 NoMachine 而不是 ssh 远程访问),则它运行得很好。

例如,以下命令根据 MRI 数据中包含的数据显示大脑的右半球我的主题文件夹使用指定的大脑区域颜色aparc.annot文件:

tksurfer mySubject rh pial -annotation aparc.annot

在服务器上的本地会话中,它运行没有错误。如果用户通过(将 X 显示器通过隧道连接到 CentOS 6 PC)远程登录ssh -Y user@hostname,用户会收到以下错误:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

我在网上进行了一些挖掘,发现这些错误消息通常与需要安装 Nvidia 驱动程序的应用程序相关。我一直不愿意安装 Nvidia 驱动程序,因为担心可能会搞砸 X 服务器。

有人在安装了 Nvidia 驱动程序的 VMware 环境中成功运行 RHEL 吗?如果是这样,您以保持与虚拟机环境兼容性的方式安装驱动程序的过程是什么?

当我lspci | grep VGA在此服务器上运行时,我得到以下输出:

00:0f.0 VGA compatible controller: VMware SVGA II Adapter

答案1

您想要远程渲染应用程序,并将结果流式传输到您的节点。
一种解决方案是使用虚拟GL(可能与涡轮数控为简单起见): https://cdn.rawgit.com/VirtualGL/virtualgl/2.5/doc/index.html https://cdn.rawgit.com/TurboVNC/turbovnc/2.0.x/doc/index.html

基本上,您需要安装 virtualgl、安装turbovnc,然后按照中的过程进行操作https://cdn.rawgit.com/TurboVNC/turbovnc/2.0.x/doc/index.html#hd009:

程序

Follow 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 User’s Guide for additional vglconnect options.
In the SSH session, set the VGL_COMPRESS environment variable to rgb

Passing 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}

一种完全不同的方法是使用 GPU-PASSTHROUGH 将 nvidia pci 设备传递到虚拟机。这需要 BIOS 和主机操作系统 IIRC 的支持,但允许您直接在虚拟机内使用 nvidia 驱动程序。
请注意,vmware 对 nvidia 直通的支持似乎仅适用于 Grid 产品,而不是其消费级 Geforce 产品。
此类解决方案的一些链接:

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/

还有其他的,我只是不确定您的用例是否适合这种方法。

相关内容