[GVT-g] [Intel-gfx] [ANNOUNCE] 2017-Q2 release of KVMGT (Intel GVT-g for KVM)

From: Xu, Terrence
Date: Wed Jun 21 2017 - 01:02:33 EST

Hi all,

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-q2-gvt-stable-4.11)
- Qemu: https://github.com/01org/igvtg-qemu (tag: 2017-q2-stable-2.9.0)

This update consists of:
- GVT-g upgraded to new architecture which has been upstreamed from kernel 4.10.
- QEMU version upgraded to 2.9 from 2.3 (There is no any specific code changes in QEMU for KVMGT, so people could directly use upstream QEMU as an alternative).
- Supported server platforms: Intel(r) Xeon(r) E3_v4 and E3_v5 with Intel Graphics processor.
- Supported client platforms: Intel(r) Core(tm) 5th generation (code name: Broadwell) and 6th generation (code name: Skylake).
- 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 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".
- In corner case, Guest Linux VM virtual display screen may freeze and not be able to recover when Guest VM runs into a TDR, but the Guest VM is still running and alive which can be accessed through SSH.

Setup guide:

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.

Tel: +86-21-6116 5390
MP: +86-1356 4367 024
Mail: terrence.xu@xxxxxxxxx

iGVT-g mailing list