title: Intel GPU passthrough - i915 fails
body: <p>I am trying to set up a virtualbox with Intel GPU passed through.
  I set up my host machine and already catched the i915 driver with pci_stub. I also was able to bind the GPU to the VM.
  More or less I followed this (and some other) tutorials:</p>
  
  <p><a href="https://davidyat.es/2016/09/08/gpu-passthrough/" rel="nofollow noreferrer">https://davidyat.es/2016/09/08/gpu-passthrough/</a></p>
  
  <p>I attached the GPU with </p>
  
  <pre><code>VBoxManage modifyvm "my-vm" --pciattach 00:02.0@01:05.0
  </code></pre>
  
  <p>Now inside the machine the output of lspci -nnk contains: </p>
  
  <pre><code>01:05.0 Display controller [0380]: Intel Corporation Skylake Integrated Graphics [8086:1912] (rev 06)
  Subsystem: ASRock Incorporation Device [1849:1912]
  Kernel modules: i915
  </code></pre>
  
  <p>And lshw -c video</p>
  
  <pre><code>  *-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)
  </code></pre>
  
  <p>So the GPU seems to be mapped but no driver is used. </p>
  
  <p>In dmesg I see the following error:</p>
  
  <pre><code>[drm:i915_driver_load [i915]] *ERROR* bridge device not found
  </code></pre>
  
  <p>I assume this might be the reason why I can't get the driver loaded.</p>
  
  <p>Does anyone know how to fix this or can point me in the right direction? My host is Ubuntu and the guest machine is openSUSE Leap 42.3.</p>
  
  <p>One thing I could not get working on my host machine was this output mentioned in the tutorial:</p>
  
  <pre><code>dmesg | grep -e "Directed I/O"
  </code></pre>
  
  <p>which should show something like:</p>
  
  <pre><code>DMAR: Intel(R) Virtualization Technology for Directed I/O
  </code></pre>
  
  <p>This I could not get on my host. But following this guide
  <a href="http://vfio.blogspot.de/2015/05/vfio-gpu-how-to-series-part-3-host.html" rel="nofollow noreferrer">http://vfio.blogspot.de/2015/05/vfio-gpu-how-to-series-part-3-host.html</a>
  I should be fine using IOMMU.
  Also kvm-ok outputs</p>
  
  <pre><code>INFO: /dev/kvm exists
  KVM acceleration can be used
  </code></pre>
  
  <p>So any ideas or help would be appriciated. If there is some information missing I can provide it!</p>
  
  <p>But I also found a blog post from 2015 where it says that passing a integrated GPU is not possible at the moment but is worked on. Does anyone know if this is still valid?</p>
  
  <blockquote>
    <p>Another frequent misconception is that integrated graphics devices, 
    like Intel IGD graphics, are just another graphics device and should 
    work with GPU assignment.  Unfortunately IGD is not only non-discrete from the aspect of being integrated into the processor, but it's also non-discrete in that the drivers for IGD depend on various registers and operations regions and firmware tables spread across the chipset.  Thus, while we can attach the IGD GPU to the guest, it doesn't work due to driver requirements.  This issue is being worked and will hopefully have a solution in the near future.</p>
  </blockquote>
  
  <p>The post is here: <a href="http://vfio.blogspot.de/2015/05/vfio-gpu-how-to-series-part-2.html" rel="nofollow noreferrer">http://vfio.blogspot.de/2015/05/vfio-gpu-how-to-series-part-2.html</a></p>
  
  <p>Thanks in advance.</p>