我读到,只要有正确的硬件类型,Linux(ubuntu/mint)上的 GPU 直通是可能的。我正在寻找直通的具体用例,并想知道技术是否已经足够先进以允许它发生。
我有一台 Linux Mint 主机,想要一台 Windows 8/10 客户机。CPU/主板支持 vt-d(i7-5820k、华硕 x99-a)。GPU 是一对 gtx970。我想要:1) 设置客户机,使其在主机上的窗口内运行,从而允许我使用类似统一模式的东西 2) 将其中一个 GPU 传递给客户机 3) 当我关闭客户机 VM 时,我希望传递的 GPU 返回到主机,这样我就可以使用这对 GPU 来执行计算/cuda 繁重的任务
有时我想玩游戏(因此需要直通),但当我实际工作时,我经常需要访问两个 GPU 上的 cuda 核心。我读过的许多关于此问题的旧帖子都表明 1 张卡完全从主机上消失,有没有办法在不重启的情况下使其恢复运行?
通常情况下,您需要 2 个显示器才能完成此类任务,每个显示器都插入单独的 GPU。但是,是否可以使用第二个 GPU 在主机内渲染窗口化 VM,而不是使用第二个显示器?
关于窗口模式,我确实在 virtualbox 网站上看到了这一点,但我不确定在这种情况下虚拟机是否仍然是窗口模式:https://www.virtualbox.org/manual/ch09.html#pcipassthrough
我搜索过这个问题,但一无所获,但话虽如此,大多数搜索结果都是好几年前的,所以这并不能说明从那时起技术有什么进步。我唯一找到的是 YouTube 上的一个视频,它表明这可能是可能的,因为它看起来像是在窗口模式下运行的 VM 上通过的 GPU:https://www.youtube.com/watch?v=XY1zDgCxARw
答案1
我尝试获取窗口 GPU 直通的方法:
- 我尝试使用 Remmina 作为客户端的 Microsoft Remote Desktop 来执行此操作,但播放视频和玩游戏时速度有点太慢。
- 我也尝试过 Splashtop,但不知何故,当我设法让它工作时,客户端只显示混乱的画面。我认为这可能是 Wine 中与 DirectX 相关的问题。我无法让 Splashtop 的 AUR 版本工作,每次尝试登录时它总是提示密码错误。
- 我尝试过 Steam 家庭共享,但我发现它有点笨重,因为它不是设计为真正的远程桌面,只能运行某些游戏,而且你需要运行大屏幕模式。我使用了一些技巧将其用作远程桌面,但仍然觉得不方便。
- 我尝试使用 Moonlight 客户端来运行 Nvidia Shield Streaming,但我记得当时看到的只是黑屏。
我可以尝试编写软件来实现这一点,但是一个人需要花费大量的时间来调查和编写代码。