Sorry, you need to enable JavaScript to visit this website.

Feedback

Your feedback is important to keep improving our website and offer you a more reliable experience.

INTEL GVT-G (KVMGT) PUBLIC RELEASE - Q2'2017

BY Hongbo Wang ON Jun 23, 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.

 

Repositories:

-    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:

https://github.com/01org/gvt-linux/wiki/GVTg_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:

https://01.org/igvt-g/documentation/intel-gvt-g-new-architecture-introduction

 

Please subscribe to join the mailing list if you want to learn more about GVT-g project:

https://lists.01.org/mailman/listinfo/igvt-g

Please subscribe to join the mailing list if you want to contribute/review latest GVT-g upstream patches:

https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev

 

Official GVT-g portal:

https://01.org/igvt-g

 

More information about background, architecture and others about Intel GVT-g, can be found at:

http://www.linux-kvm.org/images/f/f3/01x08b-KVMGT-a.pdf

https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian

 

Note:

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.