INTEL GVT-G (KVMGT) PUBLIC RELEASE - Q3'2017
We are pleased to announce an update of Intel GVT-g for KVM.
Intel GVT-g for KVM (a.k.a. KVMGT) is a full GPU virtualization solution with mediated pass-through, starting from 5th generation Intel Core(TM) processors with Intel processor graphics. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability.
- Kernel: https://github.com/01org/gvt-linux/ (tag: 2017-q3-gvt-stable-4.12)
- Qemu: https://github.com/01org/igvtg-qemu (tag: 2017-q3-stable-2.9.0)
This update consists of:
- Kernel version upgraded to 4.12 from 4.11.
- Live migration feature preliminary supported.
- QoS feature preliminary supported.
- IOMMU feature supported.
- OVMF feature supported.
- VGPU reset feature optimization, with related issues be fixed.
- Supported server platforms: Intel(r) Xeon(r) E3_v4, E3_v5 and E3_v6 with Intel Graphics processor, the E3_v6 is new supported platform.
- Supported client platforms: Intel(r) Core(tm) 5th generation (code name: Broadwell), 6th generation (code name: Skylake) and 7th generation (code name: Kabylake), the 7th generation is new supported platform.
- Validated Guest OS: Windows7 32bit, Window7 64bit, Windows8.1 64bit, Windows10 64bit and Linux.
- GVT-g only supports remote display not local display by this release.
- Remote protocol: only guest-side remoting protocol is supported, host-side remoting connection like SPICE is working in progress. For example, user can use X11VNC for Guest Linux VM or TightVNC for Guest Windows VM.
Limitation or known issues:
- GVT-g can support maximum 7 Guest VMs due to host graphics resource limitation. When user runs 7 VMs simultaneously, host OS can only run in text mode.
- In order to support Guest Windows7 32bit VM, user can only uses vGPU type1, type2, type4 not type8 because Guest Windows7 32bit VM needs more graphics resource than other Guest VM.
- Some 3rd party applications/tools like GPU_Z, Passmark 9.0 may read/write GPU MSR directly, it will trigger Guest VM BSOD since those MSRs are unhandled registers in KVMGT. The workaround is to set MSR read /write ignore flag to 1 in host grub file by adding "kvm.ignore_msrs=1".
- Some 3rd party applications/tools like 3DMark which including special DirectX12 feature test ,it will trigger Guest VM GPU reset.
- In corner case, Linux Guest VM may GPU hang while running special Intel-GPU-Tools test case on it.
- In corner case, for live migration feature, the fake GPU reset happening while migrating Linux Guest VM which Guest VM running 3D workload.
- Guest Windows VM often GPU hang while the IOMMU feature enabled. This issues happens only on a few Broadwell platforms due to the hardware problem. The workaround is to turn off the integrated graphics engine on IOMMU in hot grub file by adding "intel_iommu=igfx_off".
This is the first GVT-g community release based on new Upstream architecture design, refer to the following document for new architecture introduction:
Please subscribe to join the mailing list if you want to learn more about GVT-g project:
Please subscribe to join the mailing list if you want to contribute/review latest GVT-g upstream patches:
Official GVT-g portal:
More information about background, architecture and others about Intel GVT-g, can be found at:
The KVMGT project should be considered a work in progress. As such it is not a complete product nor should it be considered one. Extra care should be taken when testing and configuring a system to use the KVMGT project.