我认为我已将大部分基于 iommu 的 PCI 直通与 kvm 配合使用,并为主机和客户机使用全新安装的 22.04。
在我的客户机中,我已成功安装nvidia-driver-535
,并且可以看到 nvidia 显卡,但它似乎不是活动卡。这让我认为至少主机正在正确传递 nvidia 卡。
我原本希望在显卡的 HDMI 输出上看到信号,但当我将显示器连接到它时,它显示“无信号”。此外,当通过 KVM Spice 控制台连接时,我可以设置的最高分辨率是 2560x1600,这似乎也不正确。
问题
- 我假设如果 KVM 客户机使用 nvidia 卡,我将只能在 nvidia 显示器输出上看到输出,而不会在 KVM spice 控制台上看到输出。这是有效的假设吗?
- 我们可以确认我的 nvidia 卡已正确通过吗?
- 如果它正确通过,为什么虚拟机不能正确/充分地使用它?
细节
这表明它至少在某种程度上起到了作用:
但不知为何它不使用 NVIDIA 卡(OpenGL: renderer: llvmpipe
):
$ inxi -G
Graphics:
Device-1: Red Hat QXL paravirtual graphic card driver: qxl
v: kernel
Device-2: NVIDIA GP104 [GeForce GTX 1080] driver: nvidia
v: 535.171.04
Display: x11 server: X.Org v: 1.21.1.4 driver: X:
loaded: nvidia unloaded: fbdev,modesetting,nouveau,vesa
gpu: qxl resolution: 1920x1080~60Hz
OpenGL: renderer: llvmpipe (LLVM 15.0.7 256 bits)
v: 4.5 Mesa 23.2.1-1ubuntu3.1~22.04.2
$ glxinfo | egrep '^Open'
OpenGL vendor string: Mesa
OpenGL renderer string: llvmpipe (LLVM 15.0.7, 256 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 23.2.1-1ubuntu3.1~22.04.2
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5 (Compatibility Profile) Mesa 23.2.1-1ubuntu3.1~22.04.2
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.2.1-1ubuntu3.1~22.04.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
这Xorg.0.log我觉得不错。
这可能是时间问题吗?当我启动虚拟机时,显示器电缆已连接到主机,因此 nvidia 卡的 HDMI 输出上没有连接的显示器。(我需要查看启动虚拟机时正在做什么......)