英特尔GPU直通 - i915失败

时间:2018-01-31 15:29:51

标签: virtualbox gpu intel kvm

我正在尝试设置一个通过Intel GPU的虚拟机。 我设置了我的主机,并已经用pci_stub捕获了i915驱动程序。我还能够将GPU绑定到VM。 或多或少我遵循了这个(和其他一些)教程:

https://davidyat.es/2016/09/08/gpu-passthrough/

我用

附加了GPU
const test = encodeURIComponent(equation);
axios.post(`${this.state.rootUrl}/integrate`, { equation: test })

// or

axios.post(`${this.state.rootUrl}/integrate`, { equation: encodeURIComponent(equation) })

现在在机器内部,lspci -nnk的输出包含:

VBoxManage modifyvm "my-vm" --pciattach 00:02.0@01:05.0

和lshw -c video

01:05.0 Display controller [0380]: Intel Corporation Skylake Integrated Graphics [8086:1912] (rev 06)
Subsystem: ASRock Incorporation Device [1849:1912]
Kernel modules: i915

因此GPU似乎已映射但未使用驱动程序。

在dmesg中,我看到以下错误:

  *-display                 
   description: VGA compatible controller
   product: VirtualBox Graphics Adapter
   vendor: InnoTek Systemberatung GmbH
   physical id: 2
   bus info: pci@0000:00:02.0
   version: 00
   width: 32 bits
   clock: 33MHz
   capabilities: vga_controller bus_master rom
   configuration: driver=vboxvideo latency=0
   resources: irq:18 memory:e0000000-e7ffffff
  *-display UNCLAIMED
   description: Display controller
   product: Skylake Integrated Graphics
   vendor: Intel Corporation
   physical id: 5
   bus info: pci@0000:01:05.0
   version: 06
   width: 64 bits
   clock: 33MHz
   capabilities: pciexpress pm cap_list
   configuration: latency=0
   resources: iomemory:10-f memory:e9000000-e9ffffff memory:130000000-13fffffff ioport:e000(size=64)

我认为这可能是我无法加载驱动程序的原因。

有谁知道如何解决这个问题,还是能指出正确的方向?我的主机是Ubuntu,客户机是openSUSE Leap 42.3。

我无法在主机上工作的一件事是教程中提到的输出:

[drm:i915_driver_load [i915]] *ERROR* bridge device not found

应显示如下内容:

dmesg | grep -e "Directed I/O"

我无法登录我的主持人。但遵循本指南 http://vfio.blogspot.de/2015/05/vfio-gpu-how-to-series-part-3-host.html 我应该没问题使用IOMMU。 还有kvm-ok输出

DMAR: Intel(R) Virtualization Technology for Directed I/O

所以任何想法或帮助都会得到满足。如果缺少某些信息,我可以提供!

但是我还发现了一篇2015年的博客文章,其中表示目前无法通过集成GPU,但仍在努力。有谁知道这是否仍然有效?

  

另一个常见的误解是集成图形设备,   像英特尔IGD图形,只是另一个图形设备应该   使用GPU分配。不幸的是,IGD不仅从集成到处理器的方面是非离散的,而且它也是非离散的,因为IGD的驱动器依赖于遍布芯片组的各种寄存器和操作区域以及固件表。因此,虽然我们可以将IGD GPU连接到客户端,但由于驱动程序要求,它不起作用。这个问题正在发挥作用,希望在不久的将来能够找到解决方案。

帖子在这里:http://vfio.blogspot.de/2015/05/vfio-gpu-how-to-series-part-2.html

提前致谢。

0 个答案:

没有答案