为 VMware Fusion 中的 macOS 虚拟机开启 3D 加速

在上一篇博文中,我已经安装并配置好了macOS Sonoma的虚拟机,但是由于无法在设置中开启3D加速,就会显得非常卡顿,甚至一个窗口缩放动画就能硬控虚拟机10秒,这显然不能忍。在谷歌一番之后,我在官网找到了一个通过修改vmx文件来开启3D加速的方法。

请确保虚拟机中的macOS已经安装了最新的VMware Tools。宿主机与虚拟机系统版本不低于macOS 11 Big Sur。

苹果在macOS 11 Big Sur中引入了半虚拟化图形框架(Paravirtualized Graphics framework),这意味着macOS的虚拟机终于能够用真正的显卡进行运算,而不是全靠CPU吭哧吭哧的模拟画面,虚拟机的流畅度可以得到很大提升。这个功能在Parallels Desktop中是自动开启的,但是在Vmware Fusion中,由于稳定性原因,并没有提供相关的设置选项,而是需要我们通过修改.vmx文件手动开启它。(至于为什么不直接用PD,还不是因为它太贵了,哪有白嫖的VMware香)

操作步骤如下

  1. 打开VMware Fusion,但是不要启动虚拟机。
  2. 在宿主机的顶部菜单栏中点击窗口打开下拉菜单。
  3. 点击虚拟机资源库
  4. 在相应虚拟机上右键单击,选择在访达中显示
  5. 在访达中右键单击虚拟机文件,选择显示包内容
  6. 右键单击xxx.vmx文件,xxx是你的虚拟机名称,打开方式选择文本编辑
  7. 在文件中添加下面两行配置,加在哪里都行,无所谓。
    1
    2
    appleGPU0.present = "TRUE"  
    svga.present = "FALSE"
  8. 保存并启动虚拟机,在锁屏界面可以看到背景视频已经可以播放了,进入桌面后可以看到程序坞和顶部菜单栏的半透明效果已经开启,说明3D加速已经成功启用。
在宿主机的顶部菜单栏中点击窗口打开下拉菜单,点击虚拟机资源库
在相应虚拟机上右键单击,选择在访达中显示
在访达中右键单击虚拟机文件,选择显示包内容
右键单击xxx.vmx文件,xxx是你的虚拟机名称,打开方式选择文本编辑
3D加速已经成功启用

此方法当前仍存在缺陷,包括:

  • 不支持基于 OpenGL 的应用程序。
  • 某些基于 Metal 的应用程序可能无法正常运行,因为虚拟机中当前只支持部分 Metal API。
  • 在某些特定的硬件中,可能会出现渲染崩溃、宿主机崩溃、虚拟机崩溃等问题。