Intel GVT-G questions

nontii

New Member
Jan 9, 2021
15
2
3
40
Hi!
I have got GVT-g working in my proxmox server, MSI Z490-A Pro, Intel Core i3 10100 (with Intel UHD 630)

In Windows 10 guest my Intel UHD 630 shows up in Device Manager. Windows installed
the drivers without any problems, and after that I have also tried to install the latest drivers
from Intel.

However, In the console, when starting Windows 10 guest I guet the following message:
"Detected your guest driver doesn't support GVT-g."
"Now vGPU 1 will enter failsafe mode."

How can i solve this?
Do I need any specific drivers from Intel where GTV-g is enabled? (I used the latest "normal"
drivers for the gpu)
As said, the gpu works and I can remote in with RDP to the machine and can see a working
Intel UHD630. The performance is however pretty poor via RDP.
Pretty laggish and slow via RDP, not used to that with my other machines. I have also enabled
hardware acceleration on RDP. I have also tried NoMachine, a bit faster, but also pretty slow.

Can this be related to the message above? Maybe the configuration isn't top knotch yet?
Can I do anything more? What?

(I have gigabit network between the windows 10 guest and my workstation that I RDP from.)

Thanks in advance for all response! Would appreciate to get GVT-g working, and fast! :)
 
Last edited:
I wish I could help you, but I'm stuck trying to get GVT-g working at the kernel level. I can't seem to get the kvmgt module loaded, so I don't have the mdev_supported_devices folder.

Would you mind sharing your configuration and whether/how you had to overcome any roadblocks to get as far as you did?
 
I wish I could help you, but I'm stuck trying to get GVT-g working at the kernel level. I can't seem to get the kvmgt module loaded, so I don't have the mdev_supported_devices folder.

Would you mind sharing your configuration and whether/how you had to overcome any roadblocks to get as far as you did?
Hi there!
This is the steps I took to get GVT-g working on my machine.

Code:
nano /etc/default/grub

Find the line that starts with GRUB_CMDLINE_LINUX_DEFAULT and make that line to look like this:

Code:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1"

Update the grub config:

Code:
update-grub

After that add the following modules to /etc/modules:

Code:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
kvmgt

Regenerate initramfs:
Code:
update-initramfs -u -k all

Reboot the server.

After reboot check if you get any output with this command again:

Code:
ls /sys/bus/pci/devices/0000\:00\:02.0/mdev_supported_types/

Should show something like:
i915-GVTg_V5_4 i915-GVTg_V5_8

If it does, now you can add a new PCI device to your vm from the gui and the GPU will show as a mediated device.

I think that you need to run a Q35 vm machine with ovmf bios to get it working properly. I can be wrong on this one, but anyway, that is what I'm running. :)
Also make sure all virtualization options is enabled in your bios such VT-d and that virtualization is enabled, but that have you already proably done. :)

This steps worked for me on my I3 10100 and also on my I7 10700K. :)
Hope it helps!
Tell me the outcome!
 
Last edited:
  • Like
Reactions: Owdious
Thank you so much for all the detail. What pve version and kernel are you running?

Unfortunately I have done all of these things, but the kvmgt module is not loading and I think that's (at least part of) what's causing the mdev_supported_types folder to be missing.

I'm running pve version 6.3-3 and kernel 5.4.78-2-pve on an MSI Z390M Gaming Edge AC with an 9th gen i9-9900k.

Kernel command line:

Code:
root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on video=efifb:off quiet i915.enable_gvt=1 i915.enable_guc=0 i915.modeset=0 kvm.ignore_msrs=1 drm.debug=0x02

Modules (/etc/initramfs-tools/modules):

Code:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
kvmgt
vfio_mdev

Conf files (/etc/modprobe.d):

Code:
options kvm ignore_msrs=1
blacklist nvidiafb
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist nouveau
blacklist i915
options vfio_iommu_type1 allow_unsafe_interrupts=1

All modules appear to be loaded except kvmgt:

Code:
# lsmod | grep vfio
vfio_mdev              16384  0
mdev                   24576  1 vfio_mdev
vfio_pci               53248  0
vfio_virqfd            16384  1 vfio_pci
irqbypass              16384  2 vfio_pci,kvm
vfio_iommu_type1       32768  0
vfio                   32768  3 vfio_mdev,vfio_iommu_type1,vfio_pci

I get an error when I try to load kvmgt manually:

Code:
# modprobe -v kvmgt
insmod /lib/modules/5.4.78-2-pve/kernel/drivers/gpu/drm/i915/gvt/kvmgt.ko
modprobe: ERROR: could not insert 'kvmgt': No such device

IOMMU is enabled and my groups are fine.

I have done some googling but have not been able to find a solution. I wasn't able to get PCIe passthrough to work either (error 43 on Intel 630 driver in Win10 guest), but I would prefer to use GVT-g.
 
Thank you so much for all the detail. What pve version and kernel are you running?

Unfortunately I have done all of these things, but the kvmgt module is not loading and I think that's (at least part of) what's causing the mdev_supported_types folder to be missing.

I'm running pve version 6.3-3 and kernel 5.4.78-2-pve on an MSI Z390M Gaming Edge AC with an 9th gen i9-9900k.

Kernel command line:

Code:
root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on video=efifb:off quiet i915.enable_gvt=1 i915.enable_guc=0 i915.modeset=0 kvm.ignore_msrs=1 drm.debug=0x02

Modules (/etc/initramfs-tools/modules):

Code:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
kvmgt
vfio_mdev

Conf files (/etc/modprobe.d):

Code:
options kvm ignore_msrs=1
blacklist nvidiafb
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist nouveau
blacklist i915
options vfio_iommu_type1 allow_unsafe_interrupts=1

All modules appear to be loaded except kvmgt:

Code:
# lsmod | grep vfio
vfio_mdev              16384  0
mdev                   24576  1 vfio_mdev
vfio_pci               53248  0
vfio_virqfd            16384  1 vfio_pci
irqbypass              16384  2 vfio_pci,kvm
vfio_iommu_type1       32768  0
vfio                   32768  3 vfio_mdev,vfio_iommu_type1,vfio_pci

I get an error when I try to load kvmgt manually:

Code:
# modprobe -v kvmgt
insmod /lib/modules/5.4.78-2-pve/kernel/drivers/gpu/drm/i915/gvt/kvmgt.ko
modprobe: ERROR: could not insert 'kvmgt': No such device

IOMMU is enabled and my groups are fine.

I have done some googling but have not been able to find a solution. I wasn't able to get PCIe passthrough to work either (error 43 on Intel 630 driver in Win10 guest), but I would prefer to use GVT-g.
No problems!
I hade very few problems to get it working, thought it should be much more hard than it was.
I'm running the same version as you (the latest) and also same kernel version.


I have tried it on both an MSI Z490-A Pro board (with I3 10100) and on an Asus board (Rog Strix Z490F Gaming or something like that) with an I7 10700K.
Both have the same UHD 630 gpu.


We have similar gear with MSI and as far as I know it should be working fine on you cpu as well. Your cpu are one generation behind mine, but I think it should work as good on that cpu as on mine..
 
Good to know - I was wondering whether it had something to do with the kernel version but it sounds (unsurprisingly) like something I'm doing / not doing instead. Appreciate the help - I pinged a few other threads that were along the same lines so fingers crossed.
 
Hey nontii, sorry to wake up this old thread, but did you ever figure out why the performance wasn't great via RDP? I'm pretty much in the same boat and some google showed me this thread, which made me hopeful, but then no responses :confused:
 
Hey nontii, sorry to wake up this old thread, but did you ever figure out why the performance wasn't great via RDP? I'm pretty much in the same boat and some google showed me this thread, which made me hopeful, but then no responses :confused:

Hey zenhaeus! Unfortunately I did not figure this out. Probably the intel gpu isn't better than this when it is "splitted" up in more pieces.
I also tried GVT-D, passing the entire gpu to to a machine and as I recall the performance was a little better. With GVT-D I also tried to output to a external monitor but with no luck, just a black screen. To output to a exernal monitor worked much better with an Nvidia Quadro card that I have.

Sorry to not be able to answer a more positive response.
 
Hey zenhaeus! Unfortunately I did not figure this out. Probably the intel gpu isn't better than this when it is "splitted" up in more pieces.
I also tried GVT-D, passing the entire gpu to to a machine and as I recall the performance was a little better. With GVT-D I also tried to output to a external monitor but with no luck, just a black screen. To output to a exernal monitor worked much better with an Nvidia Quadro card that I have.

Sorry to not be able to answer a more positive response.
No worries at all, thanks for replying! I figured I might as well ask for all that come after me as well. It seems Intel is dropping GVT-g anyway, as far as I am aware the newer cpu architectures (11th gen onwards) don't even support it any more. If I happen to stumble upon an answer I'll post it here.
 
No worries at all, thanks for replying! I figured I might as well ask for all that come after me as well. It seems Intel is dropping GVT-g anyway, as far as I am aware the newer cpu architectures (11th gen onwards) don't even support it any more. If I happen to stumble upon an answer I'll post it here.

That was really sad news. I think gvt-g has a lot of potential and very sad to hear that Intel is dropping the support in newer cpu:s. I hope they keep it in their new arc cards. They are much more performant and there gvt-g maybe can work really good.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!