SSH経由でXトンネルを設定したときにのみビデオドライバに問題が発生する

SSH経由でXトンネルを設定したときにのみビデオドライバに問題が発生する

私は、古い物理サーバーを交換するためにRHEL 6.7サーバー(VMware仮想マシン内で実行)を構成する責任を受け継いだ、間違いなくシステム管理者です。

この新しいサーバーでは、ユーザーがSSHを介してリモートでサーバーにログインし、Xプロトコルをトンネリングすると、一部のX11アプリケーションは正しく機能しません。具体的には、フリーサーファーNeuroscience Application SuiteはSSH経由でリモートで動作しません。ただし、ユーザーが同じユーザー(sshではなくNoMachineを介してリモートでアクセス)と同じオプションを使用してサーバーのローカルセッションで同じプログラムを実行すると、正常に機能します。

たとえば、次のコマンドは、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ドライバのインストールが必要なアプリケーションに関連していることが判明しました。私はXサーバーを台無しにする恐れがあるため、Nvidiaドライバのインストールが消えてきました。

NvidiaドライバがインストールされているVMware環境でRHELを正常に実行した人はいますか?それでは、仮想マシン環境との互換性を維持する方法でドライバをインストールするプロセスは何ですか?

このサーバーでこれを実行すると、lspci | grep VGA次の結果が表示されます。

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

ベストアンサー1

アプリケーションをリモートでレンダリングし、結果をノードにストリーミングしようとしています。
1つの解決策は、次を使用することです。仮想GL(一緒にいるかもしれませんタービンCNC単純化のため): 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とホストOSがIIRCをサポートする必要がありますが、仮想マシン内で直接NVIDIAドライバを使用できます。
nvidiaパススルーに対するvmwareのサポートは、消費者のGeforce製品ではなく、Grid製品に固有のものと思われます。
そのソリューションへのいくつかのリンク:

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/

他にもありますが、あなたのユースケースがこのアプローチに適しているかどうかはわかりません。

おすすめ記事