intel / gvt-linux

Other
509 stars 95 forks source link

Coffee Lake support #14

Closed vmbuilder00x0 closed 5 years ago

vmbuilder00x0 commented 6 years ago

Hi,

Can you clarify if Coffee Lake processors are supported and if it is, which kernel version already have it upstream (ubuntu), or do we need to compile one ourselves if we're using one of 4.13.x.

Thanks and regards!

TerrenceXu commented 6 years ago

No, we are not support Coffee Lake processors, thanks. ☺

Thanks Terrence

From: vmbuilder00x0 [mailto:notifications@github.com] Sent: Tuesday, January 23, 2018 11:35 AM To: intel/gvt-linux gvt-linux@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [intel/gvt-linux] Coffee Lake support (#14)

Hi,

Can you clarify if Coffee Lake processors are supported and if it is, which kernel version already have it upstream (ubuntu), or do we need to compile one ourselves if we're using one of 4.13.x.

Thanks and regards!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/intel/gvt-linux/issues/14, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AYv0NN-bxFuWNDkpkAxAw4TKBqvW9__dks5tNVNZgaJpZM4RpBCI.

ghost commented 6 years ago

@TerrenceXu Hello! Are there any plans to support Coffee Lake or even Cannon Lake in the foreseeable future? I am building a PC now, so it would be great to know if I should stop on KBL or there is some hope. Thanks!

TerrenceXu commented 6 years ago

Hello, now we only support Skylake and Kabylake, and next plan is support Icelake but not Coffee Lake or Cannon Lake. ☺

From: Unb9rn [mailto:notifications@github.com] Sent: Saturday, March 3, 2018 7:03 PM To: intel/gvt-linux gvt-linux@noreply.github.com Cc: Xu, Terrence terrence.xu@intel.com; Comment comment@noreply.github.com Subject: Re: [intel/gvt-linux] Coffee Lake support (#14)

Hello! Are there any plans to support Coffee Lake or even Cannon Lake in the foreseeable future? I am building a PC now, so it would be great to know if I should stop on KBL or there is some hope. Thanks!

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/intel/gvt-linux/issues/14#issuecomment-370139009, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AYv0NPu8U2DCfKTi4QdV8T9T5QlB57U-ks5tanh3gaJpZM4RpBCI.

zerotri commented 6 years ago

In relation to microarchitecture support, are there plans to support Kaby Lake R? Everything I've seen seems to indicate that this is largely compatible with Kaby Lake in terms of feature set. Would extending the driver to support the R series graphics be a considerable amount of work?

TerrenceXu commented 6 years ago

Yes, the R is also working. ☺

From: Wynter Woods [mailto:notifications@github.com] Sent: Tuesday, March 6, 2018 7:51 AM To: intel/gvt-linux gvt-linux@noreply.github.com Cc: Xu, Terrence terrence.xu@intel.com; Mention mention@noreply.github.com Subject: Re: [intel/gvt-linux] Coffee Lake support (#14)

In relation to microarchitecture support, are there plans to support Kaby Lake R? Everything I've seen seems to indicate that this is largely compatible with Kaby Lake in terms of feature set. Would extending the driver to support the R series graphics be a considerable amount of work?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/intel/gvt-linux/issues/14#issuecomment-370609527, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AYv0NLCghYW_Q6Aipu_H8--Ea7__U2oZks5tbc9mgaJpZM4RpBCI.

chp-io commented 6 years ago

Could you please also confirm support for i9 Skylake-X 7900x series? Thank you

Edit: Nevermind, they don't have integrated graphics

TerrenceXu commented 6 years ago

@chp-io, yes, we support all Skylake platforms.

Enverex commented 6 years ago

Can I ask why? It seems weird to have a hole in support. Old processors aren't supported (which is fair enough), old-ish processors are supported, current processors aren't supported, but future processors will be supported? Missing the current generation seems like a strange choice.

zerotri commented 5 years ago

Hello,

With the upcoming Coffee Lake chips releasing soon, I wanted to inquire about this further. Are Coffee Lake chips missing key functionality necessary for GVT-g support or could they be made to work through proper software configuration of the hardware?

Would anyone investing in Coffee Lake be entirely out of luck or is this just a matter of someone adding the support for enumerating the newer chips? The GPUs look to be mostly the same series across Kaby Lake and Coffee Lake families.

TerrenceXu commented 5 years ago

Hello,

With the upcoming Coffee Lake chips releasing soon, I wanted to inquire about this further. Are Coffee Lake chips missing key functionality necessary for GVT-g support or could they be made to work through proper software configuration of the hardware?

Would anyone investing in Coffee Lake be entirely out of luck or is this just a matter of someone adding the support for enumerating the newer chips? The GPUs look to be mostly the same series across Kaby Lake and Coffee Lake families.

Until now we have no plan on investigate Coffee Lake.

CuriousTommy commented 5 years ago

Until now we have no plan on investigating Coffee Lake.

I hope that this "investigation" leads to GVT support for Coffee Lake. I am planning to buy an i9-9900k processor for a future build. I would love to mess around with this very interesting feature on that hardware.

polarathene commented 5 years ago

Until now we have no plan on investigate Coffee Lake.

@TerrenceXu Could you please clarify that? Do you mean Coffee Lake may get support? Or misunderstanding and Coffee Lake will not get support as mentioned earlier?

TerrenceXu commented 5 years ago

At least until now we pay no effort on Coffee Lake, it depends on whether any customer want to support use Coffee Lake in the future.

CuriousTommy commented 5 years ago

it depends on whether any customer want to support use Coffee Lake in the future.

@TerrenceXu So how do you want us to show our desire for Coffee Lake support?

vmbuilder00x0 commented 5 years ago

I think, hardware wise, the coffeelake is a much better choice as a virtualization platform since it have more cores than the previous gen (I speak of the i5's 8xxx) and for people considering using these might use the current gen hw instead.

I guess it's understandable if there's some hw limitations that prevents these being used in coffeelake arch (which is what I assumed when first you replied), but if it's actually possible I think more people will test/use it with buying new coffeelake setup (rather than repurposing their current pc/setup).

Just my opinion. Great works though, still working out to seek prev gens setups (second hand, not buying new I guess).

hyuan3 commented 5 years ago

GVT was initialized to support Intel data center processors. But we are glad to see GVT used in client processors as well and would like to provide support as much as we can. On the request for GVT to support more platforms, besides talking here, you could tell Intel contact if you have. This will help to improve the work's priority.

vmbuilder00x0 commented 5 years ago

Can't speak for others, but I knew a handful of people who will use (and test) these religiously (hint: homelab/vfio communities). Will also request them to write to Intel. Thanks for the explanations!

slis commented 5 years ago

+1

kbrons commented 5 years ago

+1

ryandward commented 5 years ago

Not to be recalcitrant but the dev comments here are totally circular in logic. There are people here asking for Coffee Lake support, and the devs are saying they won't support it because consumers don't want it.

hyuan3 commented 5 years ago

CFL is not supported now but it doesn't mean it will not be supported in the future. We are planning the work.

TerrenceXu commented 5 years ago

Hi all , tell you a good news, the first Coffee Lake test version is ready, the tag is: gvt-staging-2019y-01m-10d-11h-40m-01s, you can check out to the latest gvt-staging branch code for a try.

klausenbusk commented 5 years ago

Hi all , tell you a good news, the first Coffee Lake test version is ready, the tag is: gvt-staging-2019y-01m-10d-11h-40m-01s, you can check out to the latest gvt-staging branch code for a try.

I just tried with kernel 5.1.6 on my Arch Linux i7-8550U laptop, but I can't get it working. virt-manager just shows "Guest has not initialized the display (yet)". Do you have any ideas?

Intel driver 26.20.100.6912

Libvirt XML:

<domain type='kvm' id='2'>
  <name>win10</name>
  <uuid>e8f0c7e5-b047-4354-829f-ec706bc4b9e7</uuid>
  <metadata>
    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
      <libosinfo:os id="http://microsoft.com/win/10"/>
    </libosinfo:libosinfo>
  </metadata>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-4.0'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/ovmf/x64/OVMF_CODE.fd</loader>
    <nvram>/var/lib/libvirt/qemu/nvram/win10_VARS.fd</nvram>
    <bootmenu enable='no'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
    </hyperv>
    <vmport state='off'/>
  </features>
  <cpu mode='host-passthrough' check='partial'/>
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
    <timer name='hypervclock' present='yes'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/win10.qcow2'/>
      <backingStore/>
      <target dev='sda' bus='scsi'/>
      <boot order='1'/>
      <alias name='scsi0-0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/tmp/virtio-win-0.1.171.iso'/>
      <backingStore/>
      <target dev='sdc' bus='sata'/>
      <readonly/>
      <alias name='sata0-0-2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <controller type='usb' index='0' model='qemu-xhci' ports='15'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x12'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x14'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0x15'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
    </controller>
    <controller type='pci' index='7' model='pcie-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <alias name='pci.7'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </controller>
    <controller type='pci' index='8' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='8' port='0x16'/>
      <alias name='pci.8'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </controller>
    <controller type='scsi' index='0' model='virtio-scsi'>
      <alias name='scsi0'/>
      <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
    </controller>
    <interface type='network'>
      <mac address='52:54:00:dd:08:d5'/>
      <source network='default' bridge='virbr0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/2'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/2'>
      <source path='/dev/pts/2'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <graphics type='spice'>
      <listen type='none'/>
      <gl enable='yes' rendernode='/dev/dri/renderD128'/>
    </graphics>
    <sound model='ich9'>
      <alias name='sound0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/>
    </sound>
    <video>
      <model type='none'/>
      <alias name='video0'/>
    </video>
    <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-pci' display='on'>
      <source>
        <address uuid='b84b6911-dda9-4f27-be19-9fc3c2f407ea'/>
      </source>
      <alias name='hostdev0'/>
      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
    </hostdev>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir0'/>
      <address type='usb' bus='0' port='2'/>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir1'/>
      <address type='usb' bus='0' port='3'/>
    </redirdev>
    <memballoon model='virtio'>
      <stats period='5'/>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+65534:+992</label>
    <imagelabel>+65534:+992</imagelabel>
  </seclabel>
</domain>

Result in the following qemu command:

/usr/bin/qemu-system-x86_64 -name guest=win10,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-2-win10/master-key.aes -machine pc-q35-4.0,accel=kvm,usb=off,vmport=off,dump-guest-core=off -cpu host,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff -drive file=/usr/share/ovmf/x64/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on -drive file=/var/lib/libvirt/qemu/nvram/win10_VARS.fd,if=pflash,format=raw,unit=1 -m 4096 -overcommit mem-lock=off -smp 2,sockets=2,cores=1,threads=1 -uuid e8f0c7e5-b047-4354-829f-ec706bc4b9e7 -no-user-config -nodefaults -chardev socket,id=charmonitor,fd=26,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=delay -no-hpet -no-shutdown -global ICH9-LPC.disable_s3=1 -global ICH9-LPC.disable_s4=1 -boot menu=off,strict=on -device pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 -device pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 -device pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 -device pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 -device pcie-root-port,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 -device pcie-root-port,port=0x15,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5 -device pcie-pci-bridge,id=pci.7,bus=pci.5,addr=0x0 -device pcie-root-port,port=0x16,chassis=8,id=pci.8,bus=pcie.0,addr=0x2.0x6 -device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.2,addr=0x0 -device virtio-scsi-pci,id=scsi0,bus=pci.8,addr=0x0 -device virtio-serial-pci,id=virtio-serial0,bus=pci.3,addr=0x0 -drive file=/var/lib/libvirt/images/win10.qcow2,format=qcow2,if=none,id=drive-scsi0-0-0-0 -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,device_id=drive-scsi0-0-0-0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1 -drive file=/tmp/virtio-win-0.1.171.iso,format=raw,if=none,id=drive-sata0-0-2,readonly=on -device ide-cd,bus=ide.2,drive=drive-sata0-0-2,id=sata0-0-2 -netdev tap,fd=28,id=hostnet0,vhost=on,vhostfd=29 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:dd:08:d5,bus=pci.1,addr=0x0 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -device usb-tablet,id=input0,bus=usb.0,port=1 -spice port=0,disable-ticketing,gl=on,rendernode=/dev/dri/renderD128,seamless-migration=on -device ich9-intel-hda,id=sound0,bus=pcie.0,addr=0x1b -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0,bus=usb.0,port=2 -chardev spicevmc,id=charredir1,name=usbredir -device usb-redir,chardev=charredir1,id=redir1,bus=usb.0,port=3 -device vfio-pci,id=hostdev0,sysfsdev=/sys/bus/mdev/devices/b84b6911-dda9-4f27-be19-9fc3c2f407ea,display=on,bus=pci.6,addr=0x0 -device virtio-balloon-pci,id=balloon0,bus=pci.4,addr=0x0 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny -msg timestamp=on
klausenbusk commented 5 years ago

dmesg:

[ 1611.956298] gvt: vgpu(1) Invalid FORCE_NONPRIV write 28a0 at offset 24ec
[ 1611.956314] gvt: vgpu(1) Invalid FORCE_NONPRIV write 2754 at offset 24f0
klausenbusk commented 5 years ago

dmesg:

Fixed by: https://github.com/torvalds/linux/commit/1fd45b09b10f8ea56b14c0cf128c21ad5dd3c496, but updating to 5.2 didn't solve the "Guest has not initialized the display (yet)" issue.

renne commented 5 years ago

@TerrenceXu We're going to use Celeron G4900 in NASes with multimedia VMs (KVM/QEMU). Will KVMGT work with Celeron G4900? Does iGPU passthrough to KVM/QEMU VM work with Celeron G4900 and Debian 4.19 kernel?

TerrenceXu commented 5 years ago

@renne, what is the corresponding GPU generation of G4900? Intel® UHD Graphics 610? If it is 610, it is Coffee Lake, both KVMGT and GPU passthrough (GVT-d KVM) are supported it in the latest kernel.

KVMGT supported from 5.1, GVT-d depend on which version introduced the i915 support for Coffee Lake.

renne commented 5 years ago

@TerrenceXu

renne@cloud:~$ cat /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 158
model name  : Intel(R) Celeron(R) G4900 CPU @ 3.10GHz
stepping    : 11
microcode   : 0xb4
cpu MHz     : 1600.061
cache size  : 2048 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 22
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust smep erms invpcid mpx rdseed smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds
bogomips    : 6192.00
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:
renne@cloud:~$ lspci -knn
...
00:02.0 Display controller [0380]: Intel Corporation UHD Graphics 610 [8086:3e93]
    Subsystem: Fujitsu Technology Solutions UHD Graphics 610 [1734:124a]
    Kernel driver in use: vfio-pci
    Kernel modules: i915
...
00:1f.3 Audio device [0403]: Intel Corporation Cannon Lake PCH cAVS [8086:a348] (rev 10)
    Subsystem: Fujitsu Technology Solutions Cannon Lake PCH cAVS [1734:1247]
    Kernel driver in use: vfio-pci
    Kernel modules: snd_hda_intel
...
03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208 [GeForce GT 710B] [10de:128b] (rev a1)
    Subsystem: ZOTAC International (MCO) Ltd. GK208B [GeForce GT 710] [19da:5360]
    Kernel driver in use: nouveau
    Kernel modules: nouveau
03:00.1 Audio device [0403]: NVIDIA Corporation GK208 HDMI/DP Audio Controller [10de:0e0f] (rev a1)
    Subsystem: ZOTAC International (MCO) Ltd. GK208 HDMI/DP Audio Controller [19da:5360]
    Kernel modules: snd_hda_intel
...
renne@cloud:~$ uname -a
Linux cloud 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64 GNU/Linux

Is there any way to get iGPU passthrough working with KVM on Debian 10? The goal is to run Libreelec in a KVM virtual machine on the iGPU with HDMI audio/video output.

TerrenceXu commented 5 years ago

@renne, it depends on your GPU generation, you can check GPU version by "glxinfo|grep Mesa"

renne commented 5 years ago

@TerrenceXu The Debian 10 KVM host doesn't have a X11-server or wayland. It is console only. Is there any other tool besides glxinfo to get info about the GPU generation of Intel devices? The only information I could find is "Intel Corporation UHD Graphics 610" from the lscpi output.

TerrenceXu commented 5 years ago

@renne, OK, this GPU is supported in KVMGT from kernel 5.1.

woulf commented 4 years ago

Hello, i can see the core series referenced up to the 9th generation, does it also apply to "Workstation" Xeon (E-21XX, E-22XX)? For instance is the Xeon E-2288G, with an Intel® UHD P630, supported?