Laptop IGD passthrough (2.7.0)

Here are a few possible approaches:

VFIO

Although I still dabble with VFIO passthrough, I haven’t really been closely following developments since the time that I posted to nbhs' thread on the Arch Linux forums several years ago. So please forgive me if this is a silly suggestion, and I haven't tried it myself, but...

Have you considered running TightVNC Server in "service mode" (system-wide server running in the background) within the Windows guest (with passthrough to the Nvidia card), and then viewing the accelerated graphics remotely (on the host), similar to what is being done here or here?

Alex Williamson briefly discusses the TightVNC Server approach (and identifies many drawbacks, and mentions a few alternatives) in his blog here (See fourth paragraph.)

Also, and this is getting even further out there, but have you considered installing Windows Server as your guest, passing Windows Server through to the Nvidia card, and then running Windows applications on your Linux laptop using RemoteApp?

Kevin Lin discusses running Windows applications on Linux using RemoteApp here. He runs Windows Server as a VM on a separate machine, and accesses the applications (running in the VM) from his laptop using rdesktop. So provided you can get passthrough to work, this may be another alternative to the TightVNC approach. (But I’d try the TightVNC approach first.)

If the RemoteApp approach looks to be of any interest, MS offers a free 180 day evaluation on Windows Server 2012.

Or as an alternative to Windows Server, some claim that some desktop versions of Windows can be tweaked to host RemoteApps. But I haven’t tried hosting RemoteApp on non-server version of Windows, nor do I recommend it, and so I don’t know whether such an approach would offer any advantages over using TightVNC Server.

iGVT-g

Although not exactly what you are requesting, you may be able to (sort of) accomplish what you want to do with iGVT-g, which allows the host and multiple VMs to share a single integrated Intel GPU.

iGVT-g is still under development, and hasn't been upstreamed yet. But hopefully, it will find its way into kernel 4.10. See http://www.phoronix.com/scan.php?page=news_item&px=Linux-4.10-Intel-DRM-3

The documentation for iGVT-g is still sparse. If you have questions, you can ask them here: https://lists.01.org/mailman/listinfo/igvt-g

Here's a link to an old flyer that gives a nice overview: https://01.org/sites/default/files/documentation/gvt_flyer_final.pdf

Here's a link to a page that claims iGVT-g works on an Optimus laptop (Lenovo Y50) with Nvidia GeForce GTX860M & Intel HD 4600: https://www.redhat.com/archives/vfio-users/2016-July/msg00047.html

And here's a link to an old iGVT-g demo video: https://www.youtube.com/watch?v=V2i8HCcAnY8

iGVT-g worked reasonably well on my laptop (with an integrated Intel GPU (Skylake), and with no Nvidia) when I followed the instructions found here: https://01.org/igvt-g/blogs/wangbo85/2016/kvmgt-environment-setup-guide-using-gvt-g-installation-iso But that build is pretty old, or at least it was when I tried it. Hopefully everything will be upstreamed in a few months.

/r/VFIO Thread