AMD 7800XT GPU 直通 Virt-manager Ubuntu 22.04LTS 无法正常工作

AMD 7800XT GPU 直通 Virt-manager Ubuntu 22.04LTS 无法正常工作

介绍:

您好,我有两个 GPU,一个是 NVIDIA 3060,另一个是 AMD 7800XT。我想将 nvidia 连接到主机本身,并将 amd GPU 直通到 virt-manager 中的 W11 VM。我已经进行了直通,但只是展示我所经历的。

查找 GPU、Passthru 并启用 IOMMU

我首先在 UEFI 中启用 IOMMU,并检查它是否正常工作,结果确实如此。还找到了 AMD GPU 的 PCIe 地址,并记下它以粘贴到默认 grub 中

03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:747e] (rev c8)
    Kernel driver in use: vfio-pci
03:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:ab30]
    Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:ab30]
    Kernel driver in use: vfio-pci

(这里是“正在使用的内核驱动程序:”中的原始内容“amdgpu”)以下是 /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt vfio.pci.ids=1002:747e,1002:ab30"

并重新启动。

总的来说,IOMMU 可以正常工作并直通。

修复 GPU 主机接管:

现在我制作并编辑了 /etc/modprobe.d/vfio.conf 文件。

options vfio-pci ids=1002:747e,1002:ab30
softdep amdgpu pre: vfio-pci

之后我跑了:

sudo update-initramfs -u

并重新启动。

证明我做对了:

03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:747e] (rev c8)
    Subsystem: ASUSTeK Computer Inc. Device [1043:05fd]
    Kernel driver in use: vfio-pci
    Kernel modules: amdgpu
03:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:ab30]
    Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:ab30]
    Kernel driver in use: vfio-pci
    Kernel modules: snd_hda_intel

虚拟管理器

芯片组和固件以及 pcie 直通:

芯片组: Q35

固件:UEFI x86_64:/usr/share/OVMF/OVMF_CODE_4M.fd

通过 AMD 7800 XT 的声音和 VGA

(我使用 PRO 设置了 VM 和 Windows 11 标准安装)

在 W11 VM 中

一切正常,我继续安装 virtio 驱动程序。之后我重新启动以确保更加安全。

现在我安装我需要的 AMD GPU 驱动程序。

我安装了 amdsoftware 安装程序并运行它。 第一次运行出错我只需按“确定”并继续。

现在出现推荐的驱动程序(AMD Radeon RX 7800 XT),我只需单击确定并继续。

启动下载驱动程序后出现第二个错误,我只需按确定,它就会运行并开始下载。

驱动程序下载完成后,现在看来我的驱动程序没有问题,一切都很好,但如果我将 GPU HDMI 物理插入其中一个屏幕,它只是一个黑屏...此外,如果我现在重新启动 VMGPU 将提示错误代码 43

这也是肾上腺素软件

我尝试过的事情:

  1. 我首先尝试的是使用相同方法通过 NVIDIA 卡。这种方法很完美,但 AMD 卡更好。

  2. 我跟着这个reddit(记得按“查看更多回复”)

该链接指向提供 ROM 文件和如何绕过视频卡驱动程序检测的操作指南。

结论

我一直在寻找解决方案,但实际上我不知道现在该做什么,但我最确定的是,由于 NVIDIA passthru 的成功,在较新的 AMD GPU 上存在一种用于 VM 的检测类型,而且我记得我读过一些东西,它正在与旧版本的 AMD GPU 一起工作。所以我可能必须进行某种类型的绕过,但我真的不知道从哪里开始。

我真的希望得到任何帮助。如果有什么不清楚或解释得不好,请评论,以便我可以改进。

感谢您的关注。

相关内容