Thanks for your interests in GVT-g.
My reply inline.
Tel: +86-21-6116 7445
MP: +86-1364 1793 689
From: iGVT-g [mailto:email@example.com] On Behalf Of Rich Persaud
Sent: Friday, May 19, 2017 4:29 AM
Subject: [iGVT-g] XenGT/KVMGT roadmap questions
After reviewing https://01.org/sites/default/files/downloads/igvt-g/gvtflyer.pdf
and a few
conference presentations, I have a few questions related to Xen client virtualization
(Qubes, OpenXT) use cases.
1. Will GVT-g support Linux, Windows 7, Windows 8 and Windows 10 guests?
[Hongbo] Yes, we support Guest Linux, Win7/32bit, Win8/64, Win10. Need to install
appropriate Intel Graphics driver in Guest OS to match the hardware platform.
2. Could GVT-g present a "Skylake" vGPU to a VM on a Kaby Lake host?
[Hongbo] Yes. The Kabylake platform supporting patches have been upstreamed in kernel
4.12. But we have limited the feature for Kabylake E3 server platform only because we
haven’t fully verified the patches on Kabylake client machines, like Core i3/i5/i7.
Technically the same patch should work on client.
With the patch, you’ll see “Kabylake” vGPU in Guest OS, not Skylake.
3. Could Intel Skylake GPU drivers work with VT-d passthrough of a Kaby Lake GPU that
was identified/presented to the guest as a "Skylake GPU"? This would be similar
to CPU masking, i.e. only the Skylake subset of GPU features would be attempted by the
[Hongbo] You’re asking GPU passthrough (we call it GVT-d, direct passthrough).
Yes, GPU passthrough is supported on BDW/SKL/KBL. You may need some config to enable it.
No need GVT-g patches.
The same native Kabylake GPU driver can be used and installed in GVT-d environment. We’ll
suggest you to use appropriate Kabylake driver for Kabylake platform.
4. Will GVT-g work on an Intel CPU that has VT-x + EPT, but no VT-d?
[Hongbo] Our GVT-g code can work without VT-d enabling. I remember that our validation
team can test GVT-g with VT-d off.
5. Will gaming (DirectX/OpenGL/Vulkan) and media (H.264/H.265/VP8/VP9) workloads be
[Hongbo] You’re right. That’s one of advantages of GVT-g full GPU virtualization. Most of
applications and usages can be supported by GVT-g, like latest DirectX, OpenCL and media.
GVT-g implementation is transparent to applications.
6. How many concurrent GVT-g VMs could P530/P630 support with gaming / media
[Hongbo] For workstation level users, I would suggest to create <= 3 VMs (Windows) to
achieve good graphics performance in order to support heavy gfx workloads like games,
AutoCad, etc. For office users, It’s OK to create maximum 7 VMs (Windows) to support
concurrent 7 VDI users.
If the Guest VM is Linux, we can double the maximum support VMs number to 14.
We also have a trial code to support maximum 13 Guest Win8, but it’s evaluation code not
in our upstream.
7. On an Intel GPU that supports multiple (e.g. three or four) display outputs, could
GVT-g show one full-screen VM per monitor / display output? Or would one VM own all three
[Hongbo] It’s doable but need code change.
Our latest upstream code in kernel 4.12 can only support remove display, not direct
display to 3~4 physical monitors. Because our main usage is targeting for Server VDI
(Virtual Desktop Infrastructure), that’s why we support remote display first.
Regarding to direct display support (each VM can show up per monitor), it needs additional
code change to support this feature. Our old GVT-g architecture code can support it, but
not new architecture GVT-g.
8. Is each VM limited to full screen, or could a custom compositor be developed to show
scaled VMs in "windows" on the screen, or in dual/quad sections of the screen?
[Hongbo] It’s doable to show a full Dom0 desktop with each VM rendering its content in its
QEMU window. We call it compositor display. We already have sample codes, maybe we can
share this feature to community soon.(it may take longer time to upstream)
9. In theory, could GVT-g work on an Optimus system that has both Intel and Nvidia
[Hongbo] It’s possible. Our new architecture GVT-g is using MDEV framework, NV GPU can use
MDEV framework too.