Jason Sonnek
2011-Apr-26 13:50 UTC
[Xen-devel] Mixed results -- VGA Passthrough with Intel 82Q35 IGD
I have two workstations with Intel 82Q35 Integrated Graphics. The first is a Dell Optiplex 755 (Intel Core 2 Duo, latest Dell BIOS); the second is a custom-built machine (Intel Core 2 Quad Q9550, Intel DQ35JO motherboard, latest Intel BIOS rev. 1143). VGA Passthrough to a Windows 7 guest works flawlessly on the former. Using the exact same Xen/Dom0/DomU configuration on the latter, the monitor flickers when the guest is started and then goes blank. The monitor remains powered on while the guest is running, suggesting it is receiving some sort of signal, but no pixels are ever illuminated. I''m running OpenSUSE 11.3 in Dom0, along with the Xen 4.0.0 package distributed by SuSE. I''ve also tried OpenSUSE 11.4 in Dom0 with the Xen 4.0.2 package; same result in both cases. VT-d is enabled on both machines, and PCI passthrough of other devices works correctly on both workstations. With the exception of the memory ranges assigned to the two IGD devices, the messages emitted in the QEMU and xend logs on both workstations are more or less identical. I''ve tried updating the BIOS to various revs on the non-working machine. Using ''iommu=verbose'' on the Xen command-line, I don''t see anything in the ring buffer that would suggest a problem. Any suggestions on how I could further debug this issue? Below I''ve included hwinfo for the two IGD devices. I''d be happy to attach other logs if they would help. Thanks! Jason Working 82Q35: 17: PCI 02.0: 0300 VGA compatible controller (VGA) [Created at pci.318] Unique ID: _Znp.D6lJTogQStC SysFS ID: /devices/pci0000:00/0000:00:02.0 SysFS BusID: 0000:00:02.0 Hardware Class: graphics card Model: "Dell OptiPlex 755" Vendor: pci 0x8086 "Intel Corporation" Device: pci 0x29b2 "Q35" SubVendor: pci 0x1028 "Dell" SubDevice: pci 0x0211 "OptiPlex 755" Revision: 0x02 Driver: "pciback" Driver Modules: "pciback", "pciback" Memory Range: 0xfea00000-0xfea7ffff (rw,non-prefetchable) I/O Ports: 0xec90-0xec97 (rw) Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable) Memory Range: 0xfeb00000-0xfebfffff (rw,non-prefetchable) IRQ: 16 (30 events) I/O Ports: 0x3c0-0x3df (rw) Module Alias: "pci:v00008086d000029B2sv00001028sd00000211bc03sc00i00" Driver Info #0: XFree86 v4 Server Module: intel Driver Info #1: XFree86 v4 Server Module: intel 3D Support: yes Extensions: dri Config Status: cfg=new, avail=yes, need=no, active=unknown 18: PCI 02.1: 0380 Display controller [Created at pci.318] Unique ID: ruGf.kY6yMez4kU2 SysFS ID: /devices/pci0000:00/0000:00:02.1 SysFS BusID: 0000:00:02.1 Hardware Class: graphics card Model: "Dell OptiPlex 755" Vendor: pci 0x8086 "Intel Corporation" Device: pci 0x29b3 "82Q35 Express Integrated Graphics Controller" SubVendor: pci 0x1028 "Dell" SubDevice: pci 0x0211 "OptiPlex 755" Revision: 0x02 Driver: "pciback" Driver Modules: "pciback", "pciback" Memory Range: 0xfea80000-0xfeafffff (rw,non-prefetchable) Module Alias: "pci:v00008086d000029B3sv00001028sd00000211bc03sc80i00" Config Status: cfg=new, avail=yes, need=no, active=unknown Non-working 82Q35: 15: PCI 02.0: 0300 VGA compatible controller (VGA) [Created at pci.318] Unique ID: _Znp.9oGqrtGx1Y7 SysFS ID: /devices/pci0000:00/0000:00:02.0 SysFS BusID: 0000:00:02.0 Hardware Class: graphics card Model: "Intel Q35" Vendor: pci 0x8086 "Intel Corporation" Device: pci 0x29b2 "Q35" SubVendor: pci 0x8086 "Intel Corporation" SubDevice: pci 0x4f4a Revision: 0x02 Driver: "pciback" Driver Modules: "pciback", "pciback" Memory Range: 0xe0380000-0xe03fffff (rw,non-prefetchable,disabled) I/O Ports: 0x3458-0x345f (rw,disabled) Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable,disabled) Memory Range: 0xe0200000-0xe02fffff (rw,non-prefetchable,disabled) IRQ: 16 (no events) I/O Ports: 0x3c0-0x3df (rw) Module Alias: "pci:v00008086d000029B2sv00008086sd00004F4Abc03sc00i00" Driver Info #0: XFree86 v4 Server Module: intel Driver Info #1: XFree86 v4 Server Module: intel 3D Support: yes Extensions: dri Config Status: cfg=new, avail=yes, need=no, active=unknown 16: PCI 02.1: 0380 Display controller [Created at pci.318] Unique ID: ruGf.gEeSljZbJ9D SysFS ID: /devices/pci0000:00/0000:00:02.1 SysFS BusID: 0000:00:02.1 Hardware Class: graphics card Model: "Intel 82Q35 Express Integrated Graphics Controller" Vendor: pci 0x8086 "Intel Corporation" Device: pci 0x29b3 "82Q35 Express Integrated Graphics Controller" SubVendor: pci 0x8086 "Intel Corporation" SubDevice: pci 0x4f4a Revision: 0x02 Driver: "pciback" Driver Modules: "pciback", "pciback" Memory Range: 0xe0300000-0xe037ffff (rw,non-prefetchable) Module Alias: "pci:v00008086d000029B3sv00008086sd00004F4Abc03sc80i00" Config Status: cfg=new, avail=yes, need=no, active=unknown _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
chris
2011-Apr-26 14:11 UTC
Re: [Xen-devel] Mixed results -- VGA Passthrough with Intel 82Q35 IGD
I would guess something relating to the fact that dell modifies the vga bios if i remember. I think there is a way to extract that vga rom and supply it when starting the vm. Someone here could probably shed a little more light, I haven''t done it myself I just recall seeing it on this list in the past. On Tue, Apr 26, 2011 at 9:50 AM, Jason Sonnek <jsonnek@gmail.com> wrote:> I have two workstations with Intel 82Q35 Integrated Graphics. The > first is a Dell Optiplex 755 (Intel Core 2 Duo, latest Dell BIOS); the > second is a custom-built machine (Intel Core 2 Quad Q9550, Intel > DQ35JO motherboard, latest Intel BIOS rev. 1143). VGA Passthrough to a > Windows 7 guest works flawlessly on the former. Using the exact same > Xen/Dom0/DomU configuration on the latter, the monitor flickers when > the guest is started and then goes blank. The monitor remains powered > on while the guest is running, suggesting it is receiving some sort of > signal, but no pixels are ever illuminated. > > I''m running OpenSUSE 11.3 in Dom0, along with the Xen 4.0.0 package > distributed by SuSE. I''ve also tried OpenSUSE 11.4 in Dom0 with the > Xen 4.0.2 package; same result in both cases. VT-d is enabled on both > machines, and PCI passthrough of other devices works correctly on both > workstations. With the exception of the memory ranges assigned to the > two IGD devices, the messages emitted in the QEMU and xend logs on > both workstations are more or less identical. I''ve tried updating the > BIOS to various revs on the non-working machine. Using ''iommu=verbose'' > on the Xen command-line, I don''t see anything in the ring buffer that > would suggest a problem. > > Any suggestions on how I could further debug this issue? Below I''ve > included hwinfo for the two IGD devices. I''d be happy to attach other > logs if they would help. > > Thanks! > > Jason > > > Working 82Q35: > > 17: PCI 02.0: 0300 VGA compatible controller (VGA) > [Created at pci.318] > Unique ID: _Znp.D6lJTogQStC > SysFS ID: /devices/pci0000:00/0000:00:02.0 > SysFS BusID: 0000:00:02.0 > Hardware Class: graphics card > Model: "Dell OptiPlex 755" > Vendor: pci 0x8086 "Intel Corporation" > Device: pci 0x29b2 "Q35" > SubVendor: pci 0x1028 "Dell" > SubDevice: pci 0x0211 "OptiPlex 755" > Revision: 0x02 > Driver: "pciback" > Driver Modules: "pciback", "pciback" > Memory Range: 0xfea00000-0xfea7ffff (rw,non-prefetchable) > I/O Ports: 0xec90-0xec97 (rw) > Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable) > Memory Range: 0xfeb00000-0xfebfffff (rw,non-prefetchable) > IRQ: 16 (30 events) > I/O Ports: 0x3c0-0x3df (rw) > Module Alias: "pci:v00008086d000029B2sv00001028sd00000211bc03sc00i00" > Driver Info #0: > XFree86 v4 Server Module: intel > Driver Info #1: > XFree86 v4 Server Module: intel > 3D Support: yes > Extensions: dri > Config Status: cfg=new, avail=yes, need=no, active=unknown > > 18: PCI 02.1: 0380 Display controller > [Created at pci.318] > Unique ID: ruGf.kY6yMez4kU2 > SysFS ID: /devices/pci0000:00/0000:00:02.1 > SysFS BusID: 0000:00:02.1 > Hardware Class: graphics card > Model: "Dell OptiPlex 755" > Vendor: pci 0x8086 "Intel Corporation" > Device: pci 0x29b3 "82Q35 Express Integrated Graphics Controller" > SubVendor: pci 0x1028 "Dell" > SubDevice: pci 0x0211 "OptiPlex 755" > Revision: 0x02 > Driver: "pciback" > Driver Modules: "pciback", "pciback" > Memory Range: 0xfea80000-0xfeafffff (rw,non-prefetchable) > Module Alias: "pci:v00008086d000029B3sv00001028sd00000211bc03sc80i00" > Config Status: cfg=new, avail=yes, need=no, active=unknown > > > > Non-working 82Q35: > > > 15: PCI 02.0: 0300 VGA compatible controller (VGA) > [Created at pci.318] > Unique ID: _Znp.9oGqrtGx1Y7 > SysFS ID: /devices/pci0000:00/0000:00:02.0 > SysFS BusID: 0000:00:02.0 > Hardware Class: graphics card > Model: "Intel Q35" > Vendor: pci 0x8086 "Intel Corporation" > Device: pci 0x29b2 "Q35" > SubVendor: pci 0x8086 "Intel Corporation" > SubDevice: pci 0x4f4a > Revision: 0x02 > Driver: "pciback" > Driver Modules: "pciback", "pciback" > Memory Range: 0xe0380000-0xe03fffff (rw,non-prefetchable,disabled) > I/O Ports: 0x3458-0x345f (rw,disabled) > Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable,disabled) > Memory Range: 0xe0200000-0xe02fffff (rw,non-prefetchable,disabled) > IRQ: 16 (no events) > I/O Ports: 0x3c0-0x3df (rw) > Module Alias: "pci:v00008086d000029B2sv00008086sd00004F4Abc03sc00i00" > Driver Info #0: > XFree86 v4 Server Module: intel > Driver Info #1: > XFree86 v4 Server Module: intel > 3D Support: yes > Extensions: dri > Config Status: cfg=new, avail=yes, need=no, active=unknown > > 16: PCI 02.1: 0380 Display controller > [Created at pci.318] > Unique ID: ruGf.gEeSljZbJ9D > SysFS ID: /devices/pci0000:00/0000:00:02.1 > SysFS BusID: 0000:00:02.1 > Hardware Class: graphics card > Model: "Intel 82Q35 Express Integrated Graphics Controller" > Vendor: pci 0x8086 "Intel Corporation" > Device: pci 0x29b3 "82Q35 Express Integrated Graphics Controller" > SubVendor: pci 0x8086 "Intel Corporation" > SubDevice: pci 0x4f4a > Revision: 0x02 > Driver: "pciback" > Driver Modules: "pciback", "pciback" > Memory Range: 0xe0300000-0xe037ffff (rw,non-prefetchable) > Module Alias: "pci:v00008086d000029B3sv00008086sd00004F4Abc03sc80i00" > Config Status: cfg=new, avail=yes, need=no, active=unknown > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jason Sonnek
2011-Apr-26 18:27 UTC
Re: [Xen-devel] Mixed results -- VGA Passthrough with Intel 82Q35 IGD
Actually, the Dell is the one that works! The machine with the Intel BIOS doesn''t work. I''ve tried using a VGA BIOS extracted from discrete graphics cards in the past. Can anyone point me to a tool for extracting the VBIOS from an Intel chip? Thanks, Jason On Tue, Apr 26, 2011 at 9:11 AM, chris <tknchris@gmail.com> wrote:> I would guess something relating to the fact that dell modifies the vga bios > if i remember. I think there is a way to extract that vga rom and supply it > when starting the vm. Someone here could probably shed a little more light, > I haven''t done it myself I just recall seeing it on this list in the past. > > On Tue, Apr 26, 2011 at 9:50 AM, Jason Sonnek <jsonnek@gmail.com> wrote: >> >> I have two workstations with Intel 82Q35 Integrated Graphics. The >> first is a Dell Optiplex 755 (Intel Core 2 Duo, latest Dell BIOS); the >> second is a custom-built machine (Intel Core 2 Quad Q9550, Intel >> DQ35JO motherboard, latest Intel BIOS rev. 1143). VGA Passthrough to a >> Windows 7 guest works flawlessly on the former. Using the exact same >> Xen/Dom0/DomU configuration on the latter, the monitor flickers when >> the guest is started and then goes blank. The monitor remains powered >> on while the guest is running, suggesting it is receiving some sort of >> signal, but no pixels are ever illuminated. >> >> I''m running OpenSUSE 11.3 in Dom0, along with the Xen 4.0.0 package >> distributed by SuSE. I''ve also tried OpenSUSE 11.4 in Dom0 with the >> Xen 4.0.2 package; same result in both cases. VT-d is enabled on both >> machines, and PCI passthrough of other devices works correctly on both >> workstations. With the exception of the memory ranges assigned to the >> two IGD devices, the messages emitted in the QEMU and xend logs on >> both workstations are more or less identical. I''ve tried updating the >> BIOS to various revs on the non-working machine. Using ''iommu=verbose'' >> on the Xen command-line, I don''t see anything in the ring buffer that >> would suggest a problem. >> >> Any suggestions on how I could further debug this issue? Below I''ve >> included hwinfo for the two IGD devices. I''d be happy to attach other >> logs if they would help. >> >> Thanks! >> >> Jason >> >> >> Working 82Q35: >> >> 17: PCI 02.0: 0300 VGA compatible controller (VGA) >> [Created at pci.318] >> Unique ID: _Znp.D6lJTogQStC >> SysFS ID: /devices/pci0000:00/0000:00:02.0 >> SysFS BusID: 0000:00:02.0 >> Hardware Class: graphics card >> Model: "Dell OptiPlex 755" >> Vendor: pci 0x8086 "Intel Corporation" >> Device: pci 0x29b2 "Q35" >> SubVendor: pci 0x1028 "Dell" >> SubDevice: pci 0x0211 "OptiPlex 755" >> Revision: 0x02 >> Driver: "pciback" >> Driver Modules: "pciback", "pciback" >> Memory Range: 0xfea00000-0xfea7ffff (rw,non-prefetchable) >> I/O Ports: 0xec90-0xec97 (rw) >> Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable) >> Memory Range: 0xfeb00000-0xfebfffff (rw,non-prefetchable) >> IRQ: 16 (30 events) >> I/O Ports: 0x3c0-0x3df (rw) >> Module Alias: "pci:v00008086d000029B2sv00001028sd00000211bc03sc00i00" >> Driver Info #0: >> XFree86 v4 Server Module: intel >> Driver Info #1: >> XFree86 v4 Server Module: intel >> 3D Support: yes >> Extensions: dri >> Config Status: cfg=new, avail=yes, need=no, active=unknown >> >> 18: PCI 02.1: 0380 Display controller >> [Created at pci.318] >> Unique ID: ruGf.kY6yMez4kU2 >> SysFS ID: /devices/pci0000:00/0000:00:02.1 >> SysFS BusID: 0000:00:02.1 >> Hardware Class: graphics card >> Model: "Dell OptiPlex 755" >> Vendor: pci 0x8086 "Intel Corporation" >> Device: pci 0x29b3 "82Q35 Express Integrated Graphics Controller" >> SubVendor: pci 0x1028 "Dell" >> SubDevice: pci 0x0211 "OptiPlex 755" >> Revision: 0x02 >> Driver: "pciback" >> Driver Modules: "pciback", "pciback" >> Memory Range: 0xfea80000-0xfeafffff (rw,non-prefetchable) >> Module Alias: "pci:v00008086d000029B3sv00001028sd00000211bc03sc80i00" >> Config Status: cfg=new, avail=yes, need=no, active=unknown >> >> >> >> Non-working 82Q35: >> >> >> 15: PCI 02.0: 0300 VGA compatible controller (VGA) >> [Created at pci.318] >> Unique ID: _Znp.9oGqrtGx1Y7 >> SysFS ID: /devices/pci0000:00/0000:00:02.0 >> SysFS BusID: 0000:00:02.0 >> Hardware Class: graphics card >> Model: "Intel Q35" >> Vendor: pci 0x8086 "Intel Corporation" >> Device: pci 0x29b2 "Q35" >> SubVendor: pci 0x8086 "Intel Corporation" >> SubDevice: pci 0x4f4a >> Revision: 0x02 >> Driver: "pciback" >> Driver Modules: "pciback", "pciback" >> Memory Range: 0xe0380000-0xe03fffff (rw,non-prefetchable,disabled) >> I/O Ports: 0x3458-0x345f (rw,disabled) >> Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable,disabled) >> Memory Range: 0xe0200000-0xe02fffff (rw,non-prefetchable,disabled) >> IRQ: 16 (no events) >> I/O Ports: 0x3c0-0x3df (rw) >> Module Alias: "pci:v00008086d000029B2sv00008086sd00004F4Abc03sc00i00" >> Driver Info #0: >> XFree86 v4 Server Module: intel >> Driver Info #1: >> XFree86 v4 Server Module: intel >> 3D Support: yes >> Extensions: dri >> Config Status: cfg=new, avail=yes, need=no, active=unknown >> >> 16: PCI 02.1: 0380 Display controller >> [Created at pci.318] >> Unique ID: ruGf.gEeSljZbJ9D >> SysFS ID: /devices/pci0000:00/0000:00:02.1 >> SysFS BusID: 0000:00:02.1 >> Hardware Class: graphics card >> Model: "Intel 82Q35 Express Integrated Graphics Controller" >> Vendor: pci 0x8086 "Intel Corporation" >> Device: pci 0x29b3 "82Q35 Express Integrated Graphics Controller" >> SubVendor: pci 0x8086 "Intel Corporation" >> SubDevice: pci 0x4f4a >> Revision: 0x02 >> Driver: "pciback" >> Driver Modules: "pciback", "pciback" >> Memory Range: 0xe0300000-0xe037ffff (rw,non-prefetchable) >> Module Alias: "pci:v00008086d000029B3sv00008086sd00004F4Abc03sc80i00" >> Config Status: cfg=new, avail=yes, need=no, active=unknown >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel