This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


RE: [Xen-devel] nVidia Geforce 8400 GS PCI Express x16 VGA PassThroughto

To: "Andrew Lyon" <andrew.lyon@xxxxxxxxx>
Subject: RE: [Xen-devel] nVidia Geforce 8400 GS PCI Express x16 VGA PassThroughto Windows XP Home 32-bit HVM Virtual Machine with Intel Desktop BoardDQ45CB
From: <djmagee@xxxxxxxxxxxx>
Date: Tue, 25 Aug 2009 15:57:24 -0400
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 25 Aug 2009 12:58:54 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <f4527be0908251056s295eaf0fle31922e7d90faa1c@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4A940774.6020209@xxxxxxxxxxxxxxx> <4A9409BA.2010605@xxxxxxxxxxxxxxx> <EECC125FCE18E740AF561189E126028575B3@xxxxxxxxxxxxxxxxxxxxxxx> <f4527be0908251056s295eaf0fle31922e7d90faa1c@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcolrVn19NC1YFaXQ6m9WB6jvSNUdQADn7ig
Thread-topic: [Xen-devel] nVidia Geforce 8400 GS PCI Express x16 VGA PassThroughto Windows XP Home 32-bit HVM Virtual Machine with Intel Desktop BoardDQ45CB
Here are the patches I used.

The file ending with a timestamp is the set of patches that was posted on 
xen-devel a couple of months ago by someone with a similar H/W set up and 
goals.  I applied this to my xen-3.4-testing tree as is.

As I mentioned I'm using a xenified  Of course, I had no idea what 
parts of the kernel code in that patch I needed to apply to this much newer 
kernel, so I just tried as is.  It failed patching include/linux/pci_regs.h.  I 
saw that most of the stuff in the vgapt patch was already in the 2.6.29 kernel, 
but some of the PCI_AF_* defines had different values.  
Vga-pt-patch- is my patch to that file, and 
vga-pt-patch-kernel-only contains the kernel patches from the original file but 
after a global replace to make sure they used the slightly different PCI_AF_* 
names.  I simply made sure that the values would end up the same as they would 
have been in the 2.6.18-xen kernel.  I wouldn't know if this was the right 

I did not apply the FLR patch that is in xen-unstable, and I was under the 
impression the same capability is in the patch I've attached.  For what it's 
worth, when I start a guest with the video card assigned and vga_passthrough=1, 
I can hear the fan on the video card spin up for a few seconds just as it does 
when the real machine (re)boots.

If I (or my test environment) can be of any assistance please let me know.  I 
saw that intel plans on releasing vga passthrough patches soon so I'll be 
looking out for those.

Doug Magee

-----Original Message-----
From: Andrew Lyon [mailto:andrew.lyon@xxxxxxxxx] 
Sent: Tuesday, August 25, 2009 1:56 PM
To: djmagee@xxxxxxxxxxxx
Subject: Re: [Xen-devel] nVidia Geforce 8400 GS PCI Express x16 VGA 
PassThroughto Windows XP Home 32-bit HVM Virtual Machine with Intel Desktop 

On Tue, Aug 25, 2009 at 6:25 PM, <djmagee@xxxxxxxxxxxx> wrote:
> As I've pointed out on this list before, there are not enough PCIe lanes on 
> the DQ45CB to drive both the internal graphics adapter and the add-on adapter 
> at the same time.  I believe the onboard one may be able to operate in some 
> sort of VGA only mode when there is a card installed and used as the primary 
> adapter.
> I have a similar setup, using the same motherboard, and an ATI 4770.  I used 
> the VGA passthrough patches from an earlier posting (I saw you followed the 
> same set of instructions), with limited success.  I've been using 
> 3.4-testing, and 'xenified' kernel.  I made modifications to the 
> dom0 portion of the patches so they would apply to my xenified 2.6.29 kernel. 
>  These patches include code that will copy the VGA bios to the guest bios 
> instead of using the emulated vga bios.  I've had very little success, 
> however.  I have only tried passing through the ATI adapter.  In all 
> instances, the guest bios messages appear on my monitor, so this much works. 
>  In some cases, the guest essentially stops there; xm list show's about 2sec 
> CPU usage and nothing ever happens after that point.  In other cases, the 
> guest (win xp/vista/7, as well as KNOPPIX 5.3.1 DVD) will boot all the way, 
> but in very low res/color mode, and cannot properly initialize the video 
> device.  Once or twice, it actually did recognize the device and had a 
> reasonable default color/resolution combination.  In all cases where the 
> guest actually boots, the system eventually freezes.  In some cases, I get 
> endless streams of iommu page faults.

Can you post the patches you used? specifically the parts for copying
the vga bios.

did you also use the patch for flr? I've ported it to 2.6.29 but not
had time to try vga passthru yet.

> I have 8GB ram installed.  In all cases I've limited dom0 memory to 2GB.  In 
> all cases, my guest has been assigned 2GB of memory.
> I have a dual core e6600.  I've tried allowing dom0 to use both cores, 
> offlining one core (using xend dom0_vcpu setting) after boot, and restricting 
> dom0 to only one core using the dom0_max_vcpus xen hypervisor parameter.  In 
> all of these cases I've tried both one and two vcpus for the guest.  My 
> success with VGA passthrough seems somewhat random and no combination of cpu 
> assignment seems to have any effect.
> I have not tried with the 2.6.18-xen kernel as I haven't gotten it to boot on 
> my hardware; it can never find my volume group, even if I create a initrd 
> with all of the required modules, or build those drivers into the kernel.  I 
> have not spent more than maybe a half an hour on this problem; I suspect it 
> may have something to do with the version of mkinitrd I'm using (from Fedora 
> 9 x64).
> If anyone else has any insight or similar experience I'd also love to hear it.
> Doug Magee
> djmagee@xxxxxxxxxxxx
> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx 
> [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Mr. Teo En Ming 
> (Zhang Enming)
> Sent: Tuesday, August 25, 2009 11:57 AM
> To: enming.teo@xxxxxxxxxxxxxxx
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [Xen-devel] nVidia Geforce 8400 GS PCI Express x16 VGA 
> PassThroughto Windows XP Home 32-bit HVM Virtual Machine with Intel Desktop 
> BoardDQ45CB
> I have uninstalled Xen 3.4.1 and installed Xen 3.5-unstable as suggested
> by Weidong.
> --
> Mr. Teo En Ming (Zhang Enming) Dip(Mechatronics Engineering) 
> BEng(Hons)(Mechanical Engineering)
> Technical Support Engineer
> Information Technology Department
> Asiasoft Online Pte Ltd
> Tampines Central 1 #04-01 Tampines Plaza
> Singapore 529541
> Republic of Singapore
> Mobile: +65-9648-9798
> MSN: teoenming@xxxxxxxxxxx
> Alma Maters: Singapore Polytechnic, National University of Singapore
> On 08/25/2009 11:47 PM, Mr. Teo En Ming (Zhang Enming) wrote:
>> Dear All,
>> I have managed to do PCI-e VGA passthrough with the open source Xen
>> but the work is still in progress because although Windows XP guest
>> can see the REAL PCI-e x16 graphics card instead of an emulated
>> graphics driver, it cannot be initialized yet.
>> Thanks to Intel Engineer Han Weidong, Pasi Kärkkäinen, Boris
>> Derzhavets, Marc, Caz Yokoyama, and others who have helped me and
>> shared their knowledge with me along the way.
>> System Configuration:
>> Intel Desktop Board DQ45CB with BIOS upgraded to 0093
>> Onboard Intel GMA 4500 Graphics (IGD)
>> nVidia Geforce 8400 GS PCI Express x16 Graphics Card
>> Fedora 11 Linux 64-bit Xen paravirt operations Domain 0 Host Operating
>> System
>> Xen 3.5 Unstable/Development Type 1 Hypervisor
>> Jeremy Fitzhardinge's Xen paravirt-ops domain 0 Kernel 2.6.31-rc6
>> Primary Video Adapter in BIOS: IGD
>> Please see the screenshots and my blog at the link here:
>> http://teo-en-ming-aka-zhang-enming.blogspot.com/2009/08/nvidia-geforce-8400-gs-pci-express-x16.html
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

Attachment: vga-pt-patch-
Description: vga-pt-patch-

Attachment: vga-pt-patch-kernel-only.patch
Description: vga-pt-patch-kernel-only.patch

Attachment: vga-pt-patch.20090607212059
Description: vga-pt-patch.20090607212059

Xen-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>