OSX-KVM GPU直通配置3步把物理显卡交给macOS虚拟机告别卡顿渲染【免费下载链接】OSX-KVMRun macOS on QEMU/KVM. With OpenCore Monterey Ventura Sonoma support now! Only commercial (paid) support is available now to avoid spammy issues. No Mac system is required.项目地址: https://gitcode.com/GitHub_Trending/os/OSX-KVM在虚拟机里跑 macOS剪辑视频掉帧、3D 渲染慢得像蜗牛多半是因为还在用 QEMU 自带的虚拟显卡。OSX-KVM 支持把宿主机上的物理 GPU 直通进 KVM 虚拟机让你的 macOS 虚拟机直接驱动真显卡图形性能一步到位。IOMMU、VFIO、PCI 分组30秒看懂三个词IOMMUCPU 旁边的一层硬件内存防火墙把每个设备能访问的内存圈起来虚拟机才不会越权读写宿主机内存。Intel 叫 VT-dAMD 叫 AMD-Vi。VFIOLinux 内核里的一个驱动框架。它把某个 PCIe 设备从内核手里没收原封不动交给虚拟机独占使用这就是直通的实现方式。PCI 分组IOMMU Group主板把互相绑定的设备编在一组里。同一个组内的设备必须一起直通混着分给不同系统就会打架。环境自检一条命令判断能不能直通在终端执行项目自带的诊断脚本sudo ./run-diagnostics.sh盯住 Loaded Modules 那一节出现amd_iommu或intel_iommu就说明硬件支持已开启顺带看qemu是否装好、ignore_msrs有没有报警。硬件上你需要两块显卡——一块给宿主机桌面一块给虚拟机——并且主板 BIOS 里 VT-d / AMD-Vi 处于开启状态。三步把显卡交给虚拟机第一步找到显卡的PCI地址./scripts/list_iommu_groups.sh它会按 IOMMU 分组列出所有设备。在输出里找你的显卡比如 RX 580 会显示成01:00.0 VGA compatible controller: AMD/ATI Ellesmere [Radeon RX ... 580] 01:00.1 Audio device: AMD/ATI Ellesmere HDMI Audio记下01:00.0显示核心和01:00.1HDMI 声卡这两个地址后面的配置全靠它们。第二步改内核参数与grub绑定VFIO打开/etc/default/grub找到GRUB_CMDLINE_LINUX_DEFAULT在末尾追加intel_iommuon iommupt vfio-pci.ids1002:67df,1002:aaf0第一个参数打开 IOMMUiommupt让直通平台性能最佳vfio-pci.ids后跟的是显卡和声卡的 厂商:设备 IDlspci -nn可查AMD 显卡前缀是1002:Intel 是8086:。再确认 vfio-kvm.rules 里有一行SUBSYSTEMvfio, OWNERroot, GROUPkvm作用是让 kvm 用户组有权操作 vfio 设备省得每次启动都 sudo。改完执行sudo update-grub或grub2-mkconfig -o ...然后重启不重启等于没改。第三步启动脚本里加两行编辑 boot-passthrough.sh在参数区确认已有-vga none禁用虚拟显卡避免和真卡抢显示输出再加上-device vfio-pci,host01:00.0,multifunctionon,x-no-kvm-intxon -device vfio-pci,host01:00.1第一行直通显卡本体multifunctionon告诉 QEMU 这是多功能卡x-no-kvm-intxon关掉中断透传能少踩一个坑第二行直通 HDMI 声卡不需要音频输出就删掉。把01:00.0/01:00.1换成你第一步查到的地址。翻车自救手册现象→原因→药方显示器黑屏、反复重启AMD 卡→ AMD 卡有著名的 reset bug宿主机把卡还给虚拟机时复位失败。药方内核参数加pcie_acs_overridedownstream或给内核打 vendor-reset 补丁脚本里保留x-no-kvm-intxon。提示 Device is in use by driver→ 显卡还被内核驱动占着。药方用项目工具先解绑再重绑sudo ./scripts/vfio-ungroup.sh 1 sudo ./scripts/vfio-group.sh 1参数是 IOMMU 组号ls /sys/kernel/iommu_groups/可查。启动报 ignore_msrs 警告→ KVM 参数没开执行一次echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs即可。Group X is not isolated 报错→ 同组里塞了不想直通的设备比如板载声卡。药方整组一起直通或加pcie_acs_overridedownstream把组拆开。验证直通是否生效虚拟机装进系统后打开关于本机 → 系统报告 → 图形/显卡看到物理显卡的完整型号例如 Radeon RX 580而不是 Display 或 vmware svga就成功了。两个快速性能测试跑一轮 Cinebench R23GPU 分数应该和裸机接近虚拟显卡基本是零分用 iMovie 导出同一段 4K 视频对比直通前后耗时差距通常是一个数量级。最硬核的验证把显示器直接插到直通显卡的输出口画面能亮、拖窗口不掉帧说明硬件输出链路完整。写在最后到这里你的 macOS 虚拟机已经用上真显卡渲染、建模、视频导出都能满血输出。接下来可以继续玩给不同虚拟机各直通一张独立 GPU用scripts/vfio-group.sh、scripts/vfio-ungroup.sh把设备绑定写成自动化流程或者再直通一个 USB 控制器让外设完整进虚拟机。【免费下载链接】OSX-KVMRun macOS on QEMU/KVM. With OpenCore Monterey Ventura Sonoma support now! Only commercial (paid) support is available now to avoid spammy issues. No Mac system is required.项目地址: https://gitcode.com/GitHub_Trending/os/OSX-KVM创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考