我在 VirtualBox 中安装了 Ubuntu 13.10 x64 作为客户机(在 Windows 8.1 主机下),并将虚拟机设置为使用 2 个显示器、128MB 视频内存和启用 3D 加速运行。我在客户机中安装了 Virtual Box 附加组件(这使我能够拥有两个 1920x1080 屏幕)。
这是我的虚拟机设置的屏幕截图:
我的笔记本电脑是华硕 N550JV,它同时配备了英特尔 HD Graphics 4600 GPU 和 Nvidia GeForce GT 750M。但默认情况下,我相信英特尔 GFX 卡用于渲染虚拟机。
当我启动虚拟机时,它可以在双屏幕上完美加载,但是每当我将鼠标从一个屏幕移动到另一个屏幕时(我有一台通过 HDMI 连接运行的 Dell S2340L 作为第二个屏幕),屏幕就会闪烁。
我尝试在 Ubuntu 和 VM 设置中更改各种设置,但似乎无法停止这种屏幕闪烁。
我还使用 Windows 中的 NVidia 控制面板强制始终使用专用显卡,但发现显示驱动程序有时会在 VM 中工作时崩溃,导致我的 VM 会话被破坏,所以我认为最好坚持使用 Intel GFX,因为它看起来更稳定。我也尝试过不使用 3D 加速,但情况更糟,如果我用较少的图形内存运行 VM,它真的很吃力。
这是我的 dmesg 输出:http://pastebin.com/1LJuYWMj(不确定在这种情况下这是否有帮助)。
我读了一些建议更改 /etc/X11/xorg.conf 的帖子,但我似乎没有 xorg.conf 文件。还有一些帖子(虽然与 Synergy 有关)建议运行,xset -dpms
但这个命令似乎对我没有任何效果。
另外,我发现客户机中的窗口绘制有点滞后/故障。例如,快速滚动网页可能会导致视口的某些部分显示原始内容。当然,我最关注的是 Web 浏览器中的绘制问题,但它也会影响其他软件,例如,在 Thunderbird 中切换帐户时,窗口的某些部分无法绘制。
非常感谢您的任何建议!
答案1
实际上,通过使用 nVidia 控制面板强制 virtualbox.exe 始终使用集成的英特尔显卡,可以解决这个问题。
答案2
我遇到了同样的问题,不过是在台式电脑上。似乎 Nvidia 驱动程序中没有可用的设置来强制使用集成 GPU,这应该是可能的,因为我有一个带集成显卡的 Intel i5 CPU。我也尝试了 Nvidia 驱动程序 3D 设置中的不同设置,但都不起作用。
但我发现,这是由 VirtualBox 的 3D 加速引起的:在此线程的第一篇帖子中显示的屏幕上(VM-Settings > Display),禁用3D 加速并检查2D 视频加速反而。
我的测试显示 3D 和 2D 之间没有区别。我认为,这只会在您使用游戏等图形密集型应用程序时产生影响。但如果您使用 VM 进行工作,例如软件开发(就我而言),这似乎是一个快速有效的解决方案,可以消除闪烁。
答案3
您是否安装了Oracle VM VirtualBox 扩展包?
我相信您可能能够调整 Xorg 配置并希望解决您的问题。
默认情况下,这不再是 xorg.conf。相反,默认情况下它会自动检测设置。因此,我建议你让系统为你创建一个 xorg.conf,而不是从在线资源中复制一个。
为此,您需要运行
# X -configure
如果您在使用 WM 时执行此操作,您将收到类似这样的错误。
Fatal server error: Server is already active for display 0
您有 2 个选择。
- 启动到 Linux 恢复模式(它是引导加载程序中的一个选项)并运行上述命令。
- 按下Ctrl+ Alt+F1并正常关闭窗口管理器并运行上述命令。
运行 X -configure 后,将新的 xorg.conf 复制到/etc/X11/
。新的 xorg.conf 将会存在,/root/
因为您已启动到恢复模式并且是 root 用户。
dmesg 没问题,但显示 lspci 的输出也会有帮助。
答案4
我遇到了类似的问题,并找到了另一个解决方案。我的设置:
主持人:
- Windows 10,64 位
- 2x 24 英寸屏幕运行@
1920x1080
- 英特尔 i5
- AMD GPU
客人:
- Linux Mint 18,Cinnamon
- 3D 硬件加速开启
- 屏幕运行@
1920x975
由于一件不相关的事情,我想将客户机分辨率提高到更常见的1920x1080
。这样做之后,闪烁就开始了。闪烁只发生在执行某些操作时,例如右键单击打开上下文菜单,或在桌面上进行拖动选择。所以它似乎与图形处理或桌面管理器(Cinnamon)有关。
我按照这里的建议关闭了 3D 加速。这样做确实有效,因为闪烁消失了,但导致系统速度有所下降,大概是因为它必须使用软件渲染,而这需要大量 CPU。
我将客户机分辨率重新设置为1920x975
,关闭客户机,再次启用 3D 加速,然后重新启动客户机。闪烁现象消失了。
因此,如果出现闪烁,请考虑尝试其他分辨率,看看是否适合您。
略低的垂直分辨率实际上非常有用,因为它允许虚拟计算机处于全窗口(而非全屏)模式,而无需垂直滚动条。如果您像我一样经常在主机和客户机之间切换,这将非常有用。