Ssh

僅當通過 ssh 隧道 X 時出現影片驅動程序問題

  • April 4, 2016

我是一個不情願的系統管理員,繼承了配置 RHEL 6.7 伺服器(在 VMware 虛擬機內執行)以替換舊物理伺服器的責任。

在這個新伺服器上,當使用者通過 ssh 和隧道 X 協議遠端登錄到這個伺服器時,某些 X11 應用程序無法正常工作。具體來說,FreeSurfer神經科學應用程序套件不能通過 ssh 遠端工作。但是,如果使用者在伺服器上的本地會話中使用與同一使用者相同的選項執行相同的程序(通過 NoMachine 而不是 ssh 遠端訪問),它執行得很好。

例如,以下命令使用 aparc.annot 文件中指定的大腦區域顏色從 mySubject 文件夾中包含的 MRI 數據顯示大腦半球

tksurfer mySubject rh pial -annotation aparc.annot

在伺服器上的本地會話中,它執行沒有錯誤。如果使用者通過遠端登錄ssh -Y user@hostname(將 X 顯示器連接到他們的 CentOS 6 PC),使用者會收到以下錯誤:

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

您想遠端渲染應用程序,並將結果流式傳輸到您的節點。

一種解決方案是使用virtualgl(為簡單起見,可能使用turbovnc): 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 設備傳遞到 vm。這需要 bios 和主機 OS IIRC 的支持,但允許您直接在 VM 內使用 nvidia 驅動程序。

請注意 vmware 對 nvidia passthrough 的支持似乎僅適用於網格產品,而不是其消費級 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/

還有其他的,我只是不確定您的案例是否適合這種方法。

引用自:https://unix.stackexchange.com/questions/272020