我意识到几年过去了,但想回答,因为这个帖子显示相当高,当你谷歌 “virtualbox 3d多GPU"。在过去的时间里,事情已经变得简单和更好。
偶然发现这个帖子的人很可能会来到这里,因为他们有一台笔记本电脑或PC,有两个GPU,这是相当普遍的这些天–特别是在游戏笔记本电脑上。板载的英特尔GPU用于渲染窗口和一般的应用程序,但使用GPU 3D功能的应用程序应该通过性能更高的Nvidia GPU来实现。
今天,我在笔记本上搭建了一个Ubuntu虚拟机,进行跨平台开发,除了客座虚拟机速度极慢外,其他一切正常,而且没有任何解释,因为CPU、内存、磁盘都显示利用率很低。
没多久就发现是视频性能的问题。启动应用程序,最大化/最小化窗口 - 任何我们在2019年认为理所当然但需要3D加速以任何合理的速度工作的东西 - 正在使用GPU 0.
很容易确定这一点,因为Windows 10现在能够使用 "任务管理器 "查看GPU利用率,然后是 "性能 "标签。而且我可以看到,当我移动窗口,最大化,最小化,那是通过主机上的GPU来完成的。主机上的那个GPU是集成的Intel HD GPU,而我想用的是NVidia GTX-1050ti,也就是GPU1。
找了一圈,我真的没有找到任何地方可以指定使用哪个GPU。但是这个帖子和其他一些帖子提醒了我,在这些设置中,你必须进入NVidia控制面板,然后是 "管理3D设置",然后是 "程序设置 "标签。
你不可能在列表中找到 "Virtualbox"。但你可以按 "添加 "按钮,然后添加virtualbox.exe。你可能需要钻研你的virtualbox安装所在的驱动器/路径。一旦你添加了它,在下面的设置中,确保第2项。"Select the preferred graphics processor for this program” is set to the GPU that you want it to use, which in my case was “HIgh-performance NVIDIA processor”.
不要设置为自动,当然也不要设置为集成。当然,你需要在虚拟机设置中勾选3D加速框,并且你需要在主机上安装客人添加。但是,当你按照上面的方法设置了主机视频3D设置后,关闭客座虚拟机,退出虚拟盒,然后重新启动虚拟盒和虚拟机。
如果你使用任务管理器|performacne,并查看 “virtualbox管理器 "进程,并观察当你浏览客人虚拟机的用户界面时,会使用什么GPU,你应该看到它现在使用更好的GPU。请看下面粘贴的图片。
说了这么多,不要指望能在客人虚拟机中运行游戏。3D加速通关仍然没有那么深入。但你可以期望在你的客座中拥有一个现代的操作系统和用户界面,并有一个可接受的体验。一个人将能够在客人虚拟机中玩旧的游戏,就像任何基于DirectX9的游戏一样。不幸的是,随着GPU虚拟化能力的发展,3D游戏技术的发展也越来越快。