相当于虚拟机端运行 Linux 的 Looking Glass?

相当于虚拟机端运行 Linux 的 Looking Glass?

镜子是一个开源应用程序,允许使用配置有直通 GPU 的 KVM,而无需连接物理显示器、键盘或鼠标。

在Looking Glass 术语中,主机软件是在虚拟机中运行的 Looking Glass 的术语客人(使用 GPU 的 VM)。这客户端软件是在 Linux 上运行的部分的术语主持人,显示渲染的帧。

Looking Glass 主机目前仅支持 Windows,并涵盖了主要用例:在 Windows VM 中运行仅限 Windows 的 GPU 密集型软件,并在 Linux 主机上显示结果。

我有一个稍微不同的用例:我将更强大的无头 GPU 从 Linux 主机传递到Linux虚拟机访客。它在基于 OpenCL 或 CUDA 或其他的 GPU 计算上运行良好。我还希望能够在该 Linux VM 来宾上运行 3D 软件,并在我的 Linux 主机上显示结果。

因此:Linux 主机上的 Linux 来宾是否有等效的技术?或者,是否有适用于 Linux 的 Looking Glass 主机?

答案1

我是《镜子》的作者。

该项目已经拥有 Linux 来宾支持,因为主机应用程序是不可知的并且可以为两者构建。请注意,目前对 Linux 客户机的支持缺乏光标支持等功能。

答案2

虽然不是共享内存设备解决方案,但从 Linux 上的无头卡获得出色性能和加速图形的一种选择是使用无人机器。在我看来,NoMachine 比 RDP 和 VNC 等其他解决方案效果更好,并且支持大多数设备 Linux/MacOS/Windows/Android 等...

例如,要使用 NVIDIA 无头 Tesla 卡加速并支持 CUDA 应用程序,请先安装 NVIDIA 驱动程序,然后使用VirtualGL 中的这些说明用于配置 Xorg 以使用无头卡

运行nvidia-xconfig --query-gpu-info获取GPU的总线ID。例子:

GPU #0:
  Name      : Tesla M60
  ...
  PCI BusID : PCI:136:0:0

xorg.conf为无头操作创建适当的文件:

sudo nvidia-xconfig -a --allow-empty-initial-configuration --use-display-device=None --virtual=1920x1200 --busid {busid}

替换为您在步骤 1 中获得的总线 ID 。如果 GPU 是无头的,即没有显示输出,则{busid}省略。--use-display-device=None如果您使用的是 440.xx 或更高版本的 NVIDIA 专有驱动程序,请在“设备”或“屏幕”部分下进行编辑xorg.conf和添加。Option "HardDPMS" "false"

然后安装 NoMachine,如果运行,nvidia-smi您应该会看到 Xorg 正在 NVIDIA GPU 上运行。如果您不想使用 NoMachine 您的另一个选择是使用虚拟GLXRDP、VNC 或X普拉。并使用 启动您的桌面vglrun,例如vglrun xfce4-session我使用的,但 YMMV 使用其他桌面。

如果您不需要 CUDA 应用程序,我很幸运获得了开源驱动程序新风格开箱即用,加速 NoMachine。

相关内容