All of lore.kernel.org
 help / color / mirror / Atom feed
* Secondary VGA Passthrough, nvidia, win7: success report.
       [not found] <CAFV75=xYkVaxShXQaQ9Lwd9FOzxd5cWz8beHoE+Y9wPH7EeBsw@mail.gmail.com>
@ 2012-01-06 16:48 ` -+= Lta =+-
  2012-01-06 17:02   ` n4rC0t1C
                     ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: -+= Lta =+- @ 2012-01-06 16:48 UTC (permalink / raw)
  To: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 3785 bytes --]

Hello xen-devel,


This is my first post on this list and as such i might be breaking some
explicit/implicit rules and i apologize if it's the case. Maybe this list
isn't the exact right kind of place where to post this kind of stuff, but i
know lots of us are browsing this list as the primary source of
documentation for xen.

I've read many times windows 7 isn't the right os to run on top of xen.
Most of the guy's who are running vga passthru are recommanding to use
windows xp, and i've never seen any success report of vga passthru on
windows 7 so i thought it was important to post mine.

Anyway, here's my hardware setup :
- Gigabyte GA-990X-UD3
- AMD Phenom II X6 1075T Processor
- MSI Cyclone NVIDIA Geforce GTX 460

On the software side i'm using :

- Debian testing as Dom0
- Xen-4.1 (debian version 4.1.2-2) with what's now referred to as "Tobias
Geiger patches" (
http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/msg00441.html)
(You have to edit the patches, changing the path to some qemu source files
for them to apply)
- debian's kernel  3.1.5, compiled to include the pciback driver. Here's
the output of `cat /boot/my3.1.5config | grep -i xen`
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=128
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
# CONFIG_XEN_DEBUG is not set
CONFIG_PCI_XEN=y
CONFIG_XEN_PCIDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_NETXEN_NIC=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
CONFIG_HVC_XEN=y
CONFIG_XEN_WDT=m
CONFIG_XEN_FBDEV_FRONTEND=y
# Xen driver support
CONFIG_XEN_BALLOON=y
# CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=m
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=m
CONFIG_XEN_GRANT_DEV_ALLOC=m
CONFIG_XEN_PLATFORM_PCI=m
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_PCIDEV_BACKEND=y

The kernel boot options are 'nomodeset xen-pciback.passthrough=1
xen-pciback.hide=(01:00.0)(01:00.1)'

- Here's my win7 domU config file :

kernel = "/usr/lib/xen-4.1/boot/hvmloader"
builder='hvm'
memory = 3072
name = "w7"
vif = [ 'type=netfront,bridge=xenbr0, mac=00:16:3e:35:49:62']
disk = [ 'phy:/dev/w7-xen/system,hda,w', 'phy:/dev/w7-xen/appz,hdb,w']
device_model = '/usr/lib/xen-4.1/bin/qemu-dm'
boot="dc"

pci=['01:00.0','01:00.1']
gfx_passthru=1

vcpus=6
acpi=1
sdl=0
vnc=1
vncconsole=1
vncpasswd=''
serial='pty'
usbdevice='tablet'
pae=1
pci_msitranslate=0
pci_power_mgmt=0
acpi_s3 = 1
acpi_s4 = 1
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'
xen_platform_pci=1
hpet = 1
viridian=1
monitor=1
xen_extended_power_mgmt=2
hpet=1

What's important here for the Nvidia drivers to work and not give a nice
nvlddmkm.sys BSOD is:
pci_msitranslate=0
pci_power_mgmt=0

- Windows 7 32bits
- Nvidia drivers 275.33
- You have to manually run aero speed test or force aero to start by using
registry entries for the desktop not to be laggy

The windows 7 domU is running fine with no performance decrease noticeable,
although i've not yet played intensive gpu video game, i'm still pretty
confident they'll run fine.

Anyway. i've still some problems i shall report in separate posts :
- The PCI bus topology isn't preserved, and the gfx card, which is plugged
on 01:00 becomes 05:00 on domU.
- I'm passing through an RME Hdsp / hammerfall pci sound card to the domU
and while it is working fine on his own, there's a strange interaction
between it and the GPLPV network driver. When i start playing sound, the
network instantly cease working. It starts back as soon as i stop playing
audio.

That's all folks,

Cheers,
Lta

[-- Attachment #1.2: Type: text/html, Size: 7014 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Secondary VGA Passthrough, nvidia, win7: success report.
  2012-01-06 16:48 ` Secondary VGA Passthrough, nvidia, win7: success report -+= Lta =+-
@ 2012-01-06 17:02   ` n4rC0t1C
  2012-01-06 17:07     ` Re : " David TECHER
  2012-01-06 17:06   ` Pasi Kärkkäinen
  2012-01-06 22:23   ` Re : " David TECHER
  2 siblings, 1 reply; 10+ messages in thread
From: n4rC0t1C @ 2012-01-06 17:02 UTC (permalink / raw)
  To: xen-devel


-+= Lta =+- wrote
> 
> Hello xen-devel,
> 
> 
> This is my first post on this list and as such i might be breaking some
> explicit/implicit rules and i apologize if it's the case. Maybe this list
> isn't the exact right kind of place where to post this kind of stuff, but
> i
> know lots of us are browsing this list as the primary source of
> documentation for xen.
> 
> I've read many times windows 7 isn't the right os to run on top of xen.
> Most of the guy's who are running vga passthru are recommanding to use
> windows xp, and i've never seen any success report of vga passthru on
> windows 7 so i thought it was important to post mine.
> 
> Anyway, here's my hardware setup :
> - Gigabyte GA-990X-UD3
> - AMD Phenom II X6 1075T Processor
> - MSI Cyclone NVIDIA Geforce GTX 460
> 
> On the software side i'm using :
> 
> - Debian testing as Dom0
> - Xen-4.1 (debian version 4.1.2-2) with what's now referred to as "Tobias
> Geiger patches" (
> http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/msg00441.html)
> (You have to edit the patches, changing the path to some qemu source files
> for them to apply)
> - debian's kernel  3.1.5, compiled to include the pciback driver. Here's
> the output of `cat /boot/my3.1.5config | grep -i xen`
> CONFIG_XEN=y
> CONFIG_XEN_DOM0=y
> CONFIG_XEN_PRIVILEGED_GUEST=y
> CONFIG_XEN_PVHVM=y
> CONFIG_XEN_MAX_DOMAIN_MEMORY=128
> CONFIG_XEN_SAVE_RESTORE=y
> # CONFIG_XEN_DEBUG_FS is not set
> # CONFIG_XEN_DEBUG is not set
> CONFIG_PCI_XEN=y
> CONFIG_XEN_PCIDEV_FRONTEND=m
> CONFIG_XEN_BLKDEV_FRONTEND=m
> CONFIG_XEN_BLKDEV_BACKEND=m
> CONFIG_NETXEN_NIC=m
> CONFIG_XEN_NETDEV_FRONTEND=m
> CONFIG_XEN_NETDEV_BACKEND=m
> CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
> CONFIG_HVC_XEN=y
> CONFIG_XEN_WDT=m
> CONFIG_XEN_FBDEV_FRONTEND=y
> # Xen driver support
> CONFIG_XEN_BALLOON=y
> # CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
> CONFIG_XEN_SCRUB_PAGES=y
> CONFIG_XEN_DEV_EVTCHN=m
> CONFIG_XEN_BACKEND=y
> CONFIG_XENFS=m
> CONFIG_XEN_COMPAT_XENFS=y
> CONFIG_XEN_SYS_HYPERVISOR=y
> CONFIG_XEN_XENBUS_FRONTEND=y
> CONFIG_XEN_GNTDEV=m
> CONFIG_XEN_GRANT_DEV_ALLOC=m
> CONFIG_XEN_PLATFORM_PCI=m
> CONFIG_SWIOTLB_XEN=y
> CONFIG_XEN_PCIDEV_BACKEND=y
> 
> The kernel boot options are 'nomodeset xen-pciback.passthrough=1
> xen-pciback.hide=(01:00.0)(01:00.1)'
> 
> - Here's my win7 domU config file :
> 
> kernel = "/usr/lib/xen-4.1/boot/hvmloader"
> builder='hvm'
> memory = 3072
> name = "w7"
> vif = [ 'type=netfront,bridge=xenbr0, mac=00:16:3e:35:49:62']
> disk = [ 'phy:/dev/w7-xen/system,hda,w', 'phy:/dev/w7-xen/appz,hdb,w']
> device_model = '/usr/lib/xen-4.1/bin/qemu-dm'
> boot="dc"
> 
> pci=['01:00.0','01:00.1']
> gfx_passthru=1
> 
> vcpus=6
> acpi=1
> sdl=0
> vnc=1
> vncconsole=1
> vncpasswd=''
> serial='pty'
> usbdevice='tablet'
> pae=1
> pci_msitranslate=0
> pci_power_mgmt=0
> acpi_s3 = 1
> acpi_s4 = 1
> on_poweroff = 'destroy'
> on_reboot   = 'restart'
> on_crash    = 'restart'
> xen_platform_pci=1
> hpet = 1
> viridian=1
> monitor=1
> xen_extended_power_mgmt=2
> hpet=1
> 
> What's important here for the Nvidia drivers to work and not give a nice
> nvlddmkm.sys BSOD is:
> pci_msitranslate=0
> pci_power_mgmt=0
> 
> - Windows 7 32bits
> - Nvidia drivers 275.33
> - You have to manually run aero speed test or force aero to start by using
> registry entries for the desktop not to be laggy
> 
> The windows 7 domU is running fine with no performance decrease
> noticeable,
> although i've not yet played intensive gpu video game, i'm still pretty
> confident they'll run fine.
> 
> Anyway. i've still some problems i shall report in separate posts :
> - The PCI bus topology isn't preserved, and the gfx card, which is plugged
> on 01:00 becomes 05:00 on domU.
> - I'm passing through an RME Hdsp / hammerfall pci sound card to the domU
> and while it is working fine on his own, there's a strange interaction
> between it and the GPLPV network driver. When i start playing sound, the
> network instantly cease working. It starts back as soon as i stop playing
> audio.
> 
> That's all folks,
> 
> Cheers,
> Lta
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@.xensource
> http://lists.xensource.com/xen-devel
> 

You could be my HERO of the day. 
However I have to wait monday to confirm that this works on my setup too,
since I'm not at home.

Maybe you just saved me from buying an ATI card. I'll let you know asap.
THANKS


--
View this message in context: http://xen.1045712.n5.nabble.com/Secondary-VGA-Passthrough-nvidia-win7-success-report-tp5126062p5126105.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Secondary VGA Passthrough, nvidia, win7: success report.
  2012-01-06 16:48 ` Secondary VGA Passthrough, nvidia, win7: success report -+= Lta =+-
  2012-01-06 17:02   ` n4rC0t1C
@ 2012-01-06 17:06   ` Pasi Kärkkäinen
  2012-01-06 22:23   ` Re : " David TECHER
  2 siblings, 0 replies; 10+ messages in thread
From: Pasi Kärkkäinen @ 2012-01-06 17:06 UTC (permalink / raw)
  To: -+= Lta =+-; +Cc: xen-devel

On Fri, Jan 06, 2012 at 05:48:06PM +0100, -+= Lta =+- wrote:
>    Hello xen-devel,

Hello,

>    This is my first post on this list and as such i might be breaking some
>    explicit/implicit rules and i apologize if it's the case. Maybe this list
>    isn't the exact right kind of place where to post this kind of stuff, but
>    i know lots of us are browsing this list as the primary source of
>    documentation for xen.
>    I've read many times windows 7 isn't the right os to run on top of xen.
>    Most of the guy's who are running vga passthru are recommanding to use
>    windows xp, and i've never seen any success report of vga passthru on
>    windows 7 so i thought it was important to post mine.

Thanks for the post! I'm sure it helps many people trying out this stuff.


>    The kernel boot options are 'nomodeset xen-pciback.passthrough=1
>    xen-pciback.hide=(01:00.0)(01:00.1)'
>    - Here's my win7 domU config file :
>    kernel = "/usr/lib/xen-4.1/boot/hvmloader"
>    builder='hvm'
>    memory = 3072
>    name = "w7"
>    vif = [ 'type=netfront,bridge=xenbr0, mac=00:16:3e:35:49:62']
>    disk = [ 'phy:/dev/w7-xen/system,hda,w', 'phy:/dev/w7-xen/appz,hdb,w']
>    device_model = '/usr/lib/xen-4.1/bin/qemu-dm'
>    boot="dc"
>    pci=['01:00.0','01:00.1']
>    gfx_passthru=1


Just a note that "gfx_passthru=1" makes the passthru physical graphics adapter
become *primary* in the guest VM.. the subject of the email says "secondary", 
so I wanted to clarify that :)


>    pci_msitranslate=0
>    pci_power_mgmt=0

So these are the required 'magic' options.. 

>    acpi_s3 = 1
>    acpi_s4 = 1
>    on_poweroff = 'destroy'
>    on_reboot   = 'restart'
>    on_crash    = 'restart'
>    xen_platform_pci=1
>    hpet = 1
>    viridian=1
>    monitor=1
>    xen_extended_power_mgmt=2

I wonder if this is important aswell.. 


>    hpet=1

It seems you have hpet two times :) 


>    What's important here for the Nvidia drivers to work and not give a nice
>    nvlddmkm.sys BSOD is:
>    pci_msitranslate=0
>    pci_power_mgmt=0
>    - Windows 7 32bits
>    - Nvidia drivers 275.33
>    - You have to manually run aero speed test or force aero to start by using
>    registry entries for the desktop not to be laggy
>    The windows 7 domU is running fine with no performance decrease
>    noticeable, although i've not yet played intensive gpu video game, i'm
>    still pretty confident they'll run fine.

>    Anyway. i've still some problems i shall report in separate posts :
>    - The PCI bus topology isn't preserved, and the gfx card, which is plugged
>    on 01:00 becomes 05:00 on domU.


Hmm.. I wonder why "xen-pciback.passthrough=1" doesn't work.. 


>    - I'm passing through an RME Hdsp / hammerfall pci sound card to the domU
>    and while it is working fine on his own, there's a strange interaction
>    between it and the GPLPV network driver. When i start playing sound, the
>    network instantly cease working. It starts back as soon as i stop playing
>    audio.
>    That's all folks,
>    Cheers,
>    Lta
> 

Thanks! 

-- Pasi

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re :  Secondary VGA Passthrough, nvidia, win7: success report.
  2012-01-06 17:02   ` n4rC0t1C
@ 2012-01-06 17:07     ` David TECHER
  0 siblings, 0 replies; 10+ messages in thread
From: David TECHER @ 2012-01-06 17:07 UTC (permalink / raw)
  To: n4rC0t1C, xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 5326 bytes --]

I am going to test it in a couple hours when I am back to home.

If it works with xen 4.2, it should be very very interesting :)

I will let you know.



________________________________
 De : n4rC0t1C <shandivo@gmail.com>
À : xen-devel@lists.xensource.com 
Envoyé le : Vendredi 6 Janvier 2012 18h02
Objet : Re: [Xen-devel] Secondary VGA Passthrough, nvidia, win7: success report.
 

-+= Lta =+- wrote
> 
> Hello xen-devel,
> 
> 
> This is my first post on this list and as such i might be breaking some
> explicit/implicit rules and i apologize if it's the case. Maybe this list
> isn't the exact right kind of place where to post this kind of stuff, but
> i
> know lots of us are browsing this list as the primary source of
> documentation for xen.
> 
> I've read many times windows 7 isn't the right os to run on top of xen.
> Most of the guy's who are running vga passthru are recommanding to use
> windows xp, and i've never seen any success report of vga passthru on
> windows 7 so i thought it was important to post mine.
> 
> Anyway, here's my hardware setup :
> - Gigabyte GA-990X-UD3
> - AMD Phenom II X6 1075T Processor
> - MSI Cyclone NVIDIA Geforce GTX 460
> 
> On the software side i'm using :
> 
> - Debian testing as Dom0
> - Xen-4.1 (debian version 4.1.2-2) with what's now referred to as "Tobias
> Geiger patches" (
> http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/msg00441.html)
> (You have to edit the patches, changing the path to some qemu source files
> for them to apply)
> - debian's kernel  3.1.5, compiled to include the pciback driver. Here's
> the output of `cat /boot/my3.1.5config | grep -i xen`
> CONFIG_XEN=y
> CONFIG_XEN_DOM0=y
> CONFIG_XEN_PRIVILEGED_GUEST=y
> CONFIG_XEN_PVHVM=y
> CONFIG_XEN_MAX_DOMAIN_MEMORY=128
> CONFIG_XEN_SAVE_RESTORE=y
> # CONFIG_XEN_DEBUG_FS is not set
> # CONFIG_XEN_DEBUG is not set
> CONFIG_PCI_XEN=y
> CONFIG_XEN_PCIDEV_FRONTEND=m
> CONFIG_XEN_BLKDEV_FRONTEND=m
> CONFIG_XEN_BLKDEV_BACKEND=m
> CONFIG_NETXEN_NIC=m
> CONFIG_XEN_NETDEV_FRONTEND=m
> CONFIG_XEN_NETDEV_BACKEND=m
> CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
> CONFIG_HVC_XEN=y
> CONFIG_XEN_WDT=m
> CONFIG_XEN_FBDEV_FRONTEND=y
> # Xen driver support
> CONFIG_XEN_BALLOON=y
> # CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
> CONFIG_XEN_SCRUB_PAGES=y
> CONFIG_XEN_DEV_EVTCHN=m
> CONFIG_XEN_BACKEND=y
> CONFIG_XENFS=m
> CONFIG_XEN_COMPAT_XENFS=y
> CONFIG_XEN_SYS_HYPERVISOR=y
> CONFIG_XEN_XENBUS_FRONTEND=y
> CONFIG_XEN_GNTDEV=m
> CONFIG_XEN_GRANT_DEV_ALLOC=m
> CONFIG_XEN_PLATFORM_PCI=m
> CONFIG_SWIOTLB_XEN=y
> CONFIG_XEN_PCIDEV_BACKEND=y
> 
> The kernel boot options are 'nomodeset xen-pciback.passthrough=1
> xen-pciback.hide=(01:00.0)(01:00.1)'
> 
> - Here's my win7 domU config file :
> 
> kernel = "/usr/lib/xen-4.1/boot/hvmloader"
> builder='hvm'
> memory = 3072
> name = "w7"
> vif = [ 'type=netfront,bridge=xenbr0, mac=00:16:3e:35:49:62']
> disk = [ 'phy:/dev/w7-xen/system,hda,w', 'phy:/dev/w7-xen/appz,hdb,w']
> device_model = '/usr/lib/xen-4.1/bin/qemu-dm'
> boot="dc"
> 
> pci=['01:00.0','01:00.1']
> gfx_passthru=1
> 
> vcpus=6
> acpi=1
> sdl=0
> vnc=1
> vncconsole=1
> vncpasswd=''
> serial='pty'
> usbdevice='tablet'
> pae=1
> pci_msitranslate=0
> pci_power_mgmt=0
> acpi_s3 = 1
> acpi_s4 = 1
> on_poweroff = 'destroy'
> on_reboot   = 'restart'
> on_crash    = 'restart'
> xen_platform_pci=1
> hpet = 1
> viridian=1
> monitor=1
> xen_extended_power_mgmt=2
> hpet=1
> 
> What's important here for the Nvidia drivers to work and not give a nice
> nvlddmkm.sys BSOD is:
> pci_msitranslate=0
> pci_power_mgmt=0
> 
> - Windows 7 32bits
> - Nvidia drivers 275.33
> - You have to manually run aero speed test or force aero to start by using
> registry entries for the desktop not to be laggy
> 
> The windows 7 domU is running fine with no performance decrease
> noticeable,
> although i've not yet played intensive gpu video game, i'm still pretty
> confident they'll run fine.
> 
> Anyway. i've still some problems i shall report in separate posts :
> - The PCI bus topology isn't preserved, and the gfx card, which is plugged
> on 01:00 becomes 05:00 on domU.
> - I'm passing through an RME Hdsp / hammerfall pci sound card to the domU
> and while it is working fine on his own, there's a strange interaction
> between it and the GPLPV network driver. When i start playing sound, the
> network instantly cease working. It starts back as soon as i stop playing
> audio.
> 
> That's all folks,
> 
> Cheers,
> Lta
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@.xensource
> http://lists.xensource.com/xen-devel
> 

You could be my HERO of the day. 
However I have to wait monday to confirm that this works on my setup too,
since I'm not at home.

Maybe you just saved me from buying an ATI card. I'll let you know asap.
THANKS


--
View this message in context: http://xen.1045712.n5.nabble.com/Secondary-VGA-Passthrough-nvidia-win7-success-report-tp5126062p5126105.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

[-- Attachment #1.2: Type: text/html, Size: 7292 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re :  Secondary VGA Passthrough, nvidia, win7: success report.
  2012-01-06 16:48 ` Secondary VGA Passthrough, nvidia, win7: success report -+= Lta =+-
  2012-01-06 17:02   ` n4rC0t1C
  2012-01-06 17:06   ` Pasi Kärkkäinen
@ 2012-01-06 22:23   ` David TECHER
  2012-01-07  2:17     ` -+= Lta =+-
  2 siblings, 1 reply; 10+ messages in thread
From: David TECHER @ 2012-01-06 22:23 UTC (permalink / raw)
  To: -+= Lta =+-, xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 4557 bytes --]

Could you tell me what version of Xen? 4.1.0? 4.1.2?

By the way could you send your patches attached to a mail so I could try?

Test on Xen 4.2 failed (desktop stays to lag...)

With installing xen 4.1.0/4.2.0 over my xen 4.2, domU boot but nothing appears on screen.

Strange.



________________________________
 De : -+= Lta =+- <lta@akr.fm>
À : xen-devel@lists.xensource.com 
Envoyé le : Vendredi 6 Janvier 2012 17h48
Objet : [Xen-devel] Secondary VGA Passthrough, nvidia, win7: success report.
 

Hello xen-devel,


This is my first post on this list and as such i might be breaking some explicit/implicit rules and i apologize if it's the case. Maybe this list isn't the exact right kind of place where to post this kind of stuff, but i know lots of us are browsing this list as the primary source of documentation for xen.

I've read many times windows 7 isn't the right os to run on top of xen. Most of the guy's who are running vga passthru are recommanding to use windows xp, and i've never seen any success report of vga passthru on windows 7 so i thought it was important to post mine.

Anyway, here's my hardware setup :
- Gigabyte GA-990X-UD3
- AMD Phenom II X6 1075T Processor
- MSI Cyclone NVIDIA Geforce GTX 460

On the software side i'm using :

- Debian testing as Dom0
- Xen-4.1 (debian version 4.1.2-2) with what's now referred to as "Tobias Geiger patches" (http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/msg00441.html) (You have to edit the patches, changing the path to some qemu source files for them to apply)
- debian's kernel  3.1.5, compiled to include the pciback driver. Here's the output of `cat /boot/my3.1.5config | grep -i xen`
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=128
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
# CONFIG_XEN_DEBUG is not set
CONFIG_PCI_XEN=y
CONFIG_XEN_PCIDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_NETXEN_NIC=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
CONFIG_HVC_XEN=y
CONFIG_XEN_WDT=m
CONFIG_XEN_FBDEV_FRONTEND=y
# Xen driver support
CONFIG_XEN_BALLOON=y
# CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=m
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=m
CONFIG_XEN_GRANT_DEV_ALLOC=m
CONFIG_XEN_PLATFORM_PCI=m
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_PCIDEV_BACKEND=y

The kernel boot options are 'nomodeset xen-pciback.passthrough=1 xen-pciback.hide=(01:00.0)(01:00.1)'

- Here's my win7 domU config file :

kernel = "/usr/lib/xen-4.1/boot/hvmloader"
builder='hvm'
memory = 3072
name = "w7"
vif = [ 'type=netfront,bridge=xenbr0, mac=00:16:3e:35:49:62']
disk = [ 'phy:/dev/w7-xen/system,hda,w', 'phy:/dev/w7-xen/appz,hdb,w']
device_model = '/usr/lib/xen-4.1/bin/qemu-dm'
boot="dc"

pci=['01:00.0','01:00.1']
gfx_passthru=1

vcpus=6
acpi=1
sdl=0
vnc=1
vncconsole=1
vncpasswd=''
serial='pty'
usbdevice='tablet'
pae=1
pci_msitranslate=0
pci_power_mgmt=0
acpi_s3 = 1
acpi_s4 = 1
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'
xen_platform_pci=1
hpet = 1
viridian=1
monitor=1
xen_extended_power_mgmt=2
hpet=1

What's important here for the Nvidia drivers to work and not give a nice nvlddmkm.sys BSOD is:
pci_msitranslate=0
pci_power_mgmt=0

- Windows 7 32bits
- Nvidia drivers 275.33
- You have to manually run aero speed test or force aero to start by using registry entries for the desktop not to be laggy

The windows 7 domU is running fine with no performance decrease noticeable, although i've not yet played intensive gpu video game, i'm still pretty confident they'll run fine.

Anyway. i've still some problems i shall report in separate posts :
- The PCI bus topology isn't preserved, and the gfx card, which is plugged on 01:00 becomes 05:00 on domU.
- I'm passing through an RME Hdsp / hammerfall pci sound card to the domU and while it is working fine on his own, there's a strange interaction between it and the GPLPV network driver. When i start playing sound, the network instantly cease working. It starts back as soon as i stop playing audio.

That's all folks,

Cheers,
Lta

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

[-- Attachment #1.2: Type: text/html, Size: 8518 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Re :  Secondary VGA Passthrough, nvidia, win7: success report.
  2012-01-06 22:23   ` Re : " David TECHER
@ 2012-01-07  2:17     ` -+= Lta =+-
  2012-01-07 12:04       ` Re : " David TECHER
  0 siblings, 1 reply; 10+ messages in thread
From: -+= Lta =+- @ 2012-01-07  2:17 UTC (permalink / raw)
  To: David TECHER; +Cc: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 5308 bytes --]

Hi,

On Fri, Jan 6, 2012 at 11:23 PM, David TECHER <davidtecher@yahoo.fr> wrote:

> Could you tell me what version of Xen? 4.1.0? 4.1.2?
>

As it is stated before this is a 4.1.2 version with debian patches


>
> By the way could you send your patches attached to a mail so I could try?
>

- There's also a link to tobias patche's on the first post.


>
> Test on Xen 4.2 failed (desktop stays to lag...)
>

Have u tried to force windows to activate the aero desktop ?


>
> With installing xen 4.1.0/4.2.0 over my xen 4.2, domU boot but nothing
> appears on screen.
>

I also followed tobias (same as yours) instructions to dump and build
vgabios-pt.bin into xen, did u do it also ?


>
> Strange.
>
>   ------------------------------
> *De :* -+= Lta =+- <lta@akr.fm>
> *À :* xen-devel@lists.xensource.com
> *Envoyé le :* Vendredi 6 Janvier 2012 17h48
> *Objet :* [Xen-devel] Secondary VGA Passthrough, nvidia, win7: success
> report.
>
> Hello xen-devel,
>
>
> This is my first post on this list and as such i might be breaking some
> explicit/implicit rules and i apologize if it's the case. Maybe this list
> isn't the exact right kind of place where to post this kind of stuff, but i
> know lots of us are browsing this list as the primary source of
> documentation for xen.
>
> I've read many times windows 7 isn't the right os to run on top of xen.
> Most of the guy's who are running vga passthru are recommanding to use
> windows xp, and i've never seen any success report of vga passthru on
> windows 7 so i thought it was important to post mine.
>
> Anyway, here's my hardware setup :
> - Gigabyte GA-990X-UD3
> - AMD Phenom II X6 1075T Processor
> - MSI Cyclone NVIDIA Geforce GTX 460
>
> On the software side i'm using :
>
> - Debian testing as Dom0
> - Xen-4.1 (debian version 4.1.2-2) with what's now referred to as "Tobias
> Geiger patches" (
> http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/msg00441.html)
> (You have to edit the patches, changing the path to some qemu source files
> for them to apply)
> - debian's kernel  3.1.5, compiled to include the pciback driver. Here's
> the output of `cat /boot/my3.1.5config | grep -i xen`
> CONFIG_XEN=y
> CONFIG_XEN_DOM0=y
> CONFIG_XEN_PRIVILEGED_GUEST=y
> CONFIG_XEN_PVHVM=y
> CONFIG_XEN_MAX_DOMAIN_MEMORY=128
> CONFIG_XEN_SAVE_RESTORE=y
> # CONFIG_XEN_DEBUG_FS is not set
> # CONFIG_XEN_DEBUG is not set
> CONFIG_PCI_XEN=y
> CONFIG_XEN_PCIDEV_FRONTEND=m
> CONFIG_XEN_BLKDEV_FRONTEND=m
> CONFIG_XEN_BLKDEV_BACKEND=m
> CONFIG_NETXEN_NIC=m
> CONFIG_XEN_NETDEV_FRONTEND=m
> CONFIG_XEN_NETDEV_BACKEND=m
> CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
> CONFIG_HVC_XEN=y
> CONFIG_XEN_WDT=m
> CONFIG_XEN_FBDEV_FRONTEND=y
> # Xen driver support
> CONFIG_XEN_BALLOON=y
> # CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
> CONFIG_XEN_SCRUB_PAGES=y
> CONFIG_XEN_DEV_EVTCHN=m
> CONFIG_XEN_BACKEND=y
> CONFIG_XENFS=m
> CONFIG_XEN_COMPAT_XENFS=y
> CONFIG_XEN_SYS_HYPERVISOR=y
> CONFIG_XEN_XENBUS_FRONTEND=y
> CONFIG_XEN_GNTDEV=m
> CONFIG_XEN_GRANT_DEV_ALLOC=m
> CONFIG_XEN_PLATFORM_PCI=m
> CONFIG_SWIOTLB_XEN=y
> CONFIG_XEN_PCIDEV_BACKEND=y
>
> The kernel boot options are 'nomodeset xen-pciback.passthrough=1
> xen-pciback.hide=(01:00.0)(01:00.1)'
>
> - Here's my win7 domU config file :
>
> kernel = "/usr/lib/xen-4.1/boot/hvmloader"
> builder='hvm'
> memory = 3072
> name = "w7"
> vif = [ 'type=netfront,bridge=xenbr0, mac=00:16:3e:35:49:62']
> disk = [ 'phy:/dev/w7-xen/system,hda,w', 'phy:/dev/w7-xen/appz,hdb,w']
> device_model = '/usr/lib/xen-4.1/bin/qemu-dm'
> boot="dc"
>
> pci=['01:00.0','01:00.1']
> gfx_passthru=1
>
> vcpus=6
> acpi=1
> sdl=0
> vnc=1
> vncconsole=1
> vncpasswd=''
> serial='pty'
> usbdevice='tablet'
> pae=1
> pci_msitranslate=0
> pci_power_mgmt=0
> acpi_s3 = 1
> acpi_s4 = 1
> on_poweroff = 'destroy'
> on_reboot   = 'restart'
> on_crash    = 'restart'
> xen_platform_pci=1
> hpet = 1
> viridian=1
> monitor=1
> xen_extended_power_mgmt=2
> hpet=1
>
> What's important here for the Nvidia drivers to work and not give a nice
> nvlddmkm.sys BSOD is:
> pci_msitranslate=0
> pci_power_mgmt=0
>
> - Windows 7 32bits
> - Nvidia drivers 275.33
> - You have to manually run aero speed test or force aero to start by using
> registry entries for the desktop not to be laggy
>
> The windows 7 domU is running fine with no performance decrease
> noticeable, although i've not yet played intensive gpu video game, i'm
> still pretty confident they'll run fine.
>
> Anyway. i've still some problems i shall report in separate posts :
> - The PCI bus topology isn't preserved, and the gfx card, which is plugged
> on 01:00 becomes 05:00 on domU.
> - I'm passing through an RME Hdsp / hammerfall pci sound card to the domU
> and while it is working fine on his own, there's a strange interaction
> between it and the GPLPV network driver. When i start playing sound, the
> network instantly cease working. It starts back as soon as i stop playing
> audio.
>
> That's all folks,
>
> Cheers,
> Lta
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
>
>
>

[-- Attachment #1.2: Type: text/html, Size: 10383 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re : Re :  Secondary VGA Passthrough, nvidia, win7: success report.
  2012-01-07  2:17     ` -+= Lta =+-
@ 2012-01-07 12:04       ` David TECHER
  2012-01-07 12:22         ` Re : " David TECHER
  0 siblings, 1 reply; 10+ messages in thread
From: David TECHER @ 2012-01-07 12:04 UTC (permalink / raw)
  To: -+= Lta =+-; +Cc: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 6048 bytes --]

I tested xen 4.1.2 too.Tobias patches are the patches I've tested. I am not very lucky.


Since you used Tobias patches as me, my question is - to be more precise - could you sent Tobias patches that you have modified in order to checking
I did not forget something as you. 


My idea is that since I already have xen 4.2 installed, installing xen 4.1.2 over this , something wrong happens


My screen stays like a black screen and nothing happens. no "gfx message" in the log.

With Xen 4.2 I tried aero desktop too but my domU crashes when  I tried to activate aero.





________________________________
 De : -+= Lta =+- <lta@akr.fm>
À : David TECHER <davidtecher@yahoo.fr> 
Cc : xen-devel@lists.xensource.com 
Envoyé le : Samedi 7 Janvier 2012 3h17
Objet : Re: Re : [Xen-devel] Secondary VGA Passthrough, nvidia, win7: success report.
 

Hi,


On Fri, Jan 6, 2012 at 11:23 PM, David TECHER <davidtecher@yahoo.fr> wrote:

Could you tell me what version of Xen? 4.1.0? 4.1.2?

As it is stated before this is a 4.1.2 version with debian patches
 

>
>By the way could you send your patches attached to a mail so I could try?

- There's also a link to tobias patche's on the first post.
 

>
>Test on Xen 4.2 failed (desktop stays to lag...)

Have u tried to force windows to activate the aero desktop ?
 

>
>With installing xen 4.1.0/4.2.0 over my xen 4.2, domU boot but nothing appears on screen.

I also followed tobias (same as yours) instructions to dump and build vgabios-pt.bin into xen, did u do it also ?
 

>
>Strange.
>
>
>
>
>________________________________
> De : -+= Lta =+- <lta@akr.fm>
>À : xen-devel@lists.xensource.com 
>Envoyé le : Vendredi 6 Janvier 2012 17h48
>Objet : [Xen-devel] Secondary VGA Passthrough, nvidia, win7: success report.
>
>
>
>Hello xen-devel,
>
>
>
>
>This is my first post on this list and as such i might be breaking some explicit/implicit rules and i apologize if it's the case. Maybe this list isn't the exact right kind of place where to post this kind of stuff, but i know lots of us are browsing this list as the primary source of documentation for xen.
>
>
>I've read many times windows 7 isn't the right os to run on top of xen. Most of the guy's who are running vga passthru are recommanding to use windows xp, and i've never seen any success report of vga passthru on windows 7 so i thought it was important to post mine.
>
>
>Anyway, here's my hardware setup :
>- Gigabyte GA-990X-UD3
>- AMD Phenom II X6 1075T Processor
>- MSI Cyclone NVIDIA Geforce GTX 460
>
>
>On the software side i'm using :
>
>
>- Debian testing as Dom0
>- Xen-4.1 (debian version 4.1.2-2) with what's now referred to as "Tobias Geiger patches" (http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/msg00441.html) (You have to edit the patches, changing the path to some qemu source files for them to apply)
>- debian's kernel  3.1.5, compiled to include the pciback driver. Here's the output of `cat /boot/my3.1.5config | grep -i xen`
>CONFIG_XEN=y
>CONFIG_XEN_DOM0=y
>CONFIG_XEN_PRIVILEGED_GUEST=y
>CONFIG_XEN_PVHVM=y
>CONFIG_XEN_MAX_DOMAIN_MEMORY=128
>CONFIG_XEN_SAVE_RESTORE=y
># CONFIG_XEN_DEBUG_FS is not set
># CONFIG_XEN_DEBUG is not set
>CONFIG_PCI_XEN=y
>CONFIG_XEN_PCIDEV_FRONTEND=m
>CONFIG_XEN_BLKDEV_FRONTEND=m
>CONFIG_XEN_BLKDEV_BACKEND=m
>CONFIG_NETXEN_NIC=m
>CONFIG_XEN_NETDEV_FRONTEND=m
>CONFIG_XEN_NETDEV_BACKEND=m
>CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
>CONFIG_HVC_XEN=y
>CONFIG_XEN_WDT=m
>CONFIG_XEN_FBDEV_FRONTEND=y
># Xen driver support
>CONFIG_XEN_BALLOON=y
># CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
>CONFIG_XEN_SCRUB_PAGES=y
>CONFIG_XEN_DEV_EVTCHN=m
>CONFIG_XEN_BACKEND=y
>CONFIG_XENFS=m
>CONFIG_XEN_COMPAT_XENFS=y
>CONFIG_XEN_SYS_HYPERVISOR=y
>CONFIG_XEN_XENBUS_FRONTEND=y
>CONFIG_XEN_GNTDEV=m
>CONFIG_XEN_GRANT_DEV_ALLOC=m
>CONFIG_XEN_PLATFORM_PCI=m
>CONFIG_SWIOTLB_XEN=y
>CONFIG_XEN_PCIDEV_BACKEND=y
>
>
>The kernel boot options are 'nomodeset xen-pciback.passthrough=1 xen-pciback.hide=(01:00.0)(01:00.1)'
>
>
>- Here's my win7 domU config file :
>
>
>kernel = "/usr/lib/xen-4.1/boot/hvmloader"
>builder='hvm'
>memory = 3072
>name = "w7"
>vif = [ 'type=netfront,bridge=xenbr0, mac=00:16:3e:35:49:62']
>disk = [ 'phy:/dev/w7-xen/system,hda,w', 'phy:/dev/w7-xen/appz,hdb,w']
>device_model = '/usr/lib/xen-4.1/bin/qemu-dm'
>boot="dc"
>
>
>pci=['01:00.0','01:00.1']
>gfx_passthru=1
>
>
>vcpus=6
>acpi=1
>sdl=0
>vnc=1
>vncconsole=1
>vncpasswd=''
>serial='pty'
>usbdevice='tablet'
>pae=1
>pci_msitranslate=0
>pci_power_mgmt=0
>acpi_s3 = 1
>acpi_s4 = 1
>on_poweroff = 'destroy'
>on_reboot   = 'restart'
>on_crash    = 'restart'
>xen_platform_pci=1
>hpet = 1
>viridian=1
>monitor=1
>xen_extended_power_mgmt=2
>hpet=1
>
>
>What's important here for the Nvidia drivers to work and not give a nice nvlddmkm.sys BSOD is:
>pci_msitranslate=0
>pci_power_mgmt=0
>
>
>- Windows 7 32bits
>- Nvidia drivers 275.33
>- You have to manually run aero speed test or force aero to start by using registry entries for the desktop not to be laggy
>
>
>The windows 7 domU is running fine with no performance decrease noticeable, although i've not yet played intensive gpu video game, i'm still pretty confident they'll run fine.
>
>
>Anyway. i've still some problems i shall report in separate posts :
>- The PCI bus topology isn't preserved, and the gfx card, which is plugged on 01:00 becomes 05:00 on domU.
>- I'm passing through an RME Hdsp / hammerfall pci sound card to the domU and while it is working fine on his own, there's a strange interaction between it and the GPLPV network driver. When i start playing sound, the network instantly cease working. It starts back as soon as i stop playing audio.
>
>
>That's all folks,
>
>
>Cheers,
>Lta
>
>
>_______________________________________________
>Xen-devel mailing list
>Xen-devel@lists.xensource.com
>http://lists.xensource.com/xen-devel
>
>
>

[-- Attachment #1.2: Type: text/html, Size: 12478 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re :  Re : Re :  Secondary VGA Passthrough, nvidia, win7: success report.
  2012-01-07 12:04       ` Re : " David TECHER
@ 2012-01-07 12:22         ` David TECHER
  2012-01-07 14:42           ` Re : " David TECHER
  0 siblings, 1 reply; 10+ messages in thread
From: David TECHER @ 2012-01-07 12:22 UTC (permalink / raw)
  To: David TECHER, -+= Lta =+-; +Cc: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 8664 bytes --]

Ok

I think I understand what's wrong now :)

Init build
======


wget http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz
tar xzf xen-4.1.2.tar.gz 
cd xen-4.1.2/
cd tools/
make 
make clean 
cd ..

Download patches

=============

wget -q http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txtIj4stRFbPo.txt -O 01_pass-through.patch
wget -q http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txt06YdYEsi3S.txt -O 02_makefile.patch
wget -q http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txtS2w8cPgsnS.txt -O 03_dsdt.patch
wget -q http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txt2am6wEpoR5.txt -O 04_hvmloader.patch
wget -q http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txtiSIyxOHBZ8.txt -O 05_sound-makefile.patch


Modify the first patch
================


Replace the path for the good path in the first patch 01_pass-through.patch

sed -i "s:tools/ioemu-remote/hw/:tools/ioemu-qemu-xen/hw/:g" 01_pass-through.patch

Apply patches
==========



root@mercury:/opt/tmp/xen-4.1.2# for file in $(ls 0*patch);do echo "######## PATCH = $file ############";patch -p0 < $file;done
######## PATCH = 01_pass-through.patch ############
patching file tools/ioemu-qemu-xen/hw/pass-through.c
Hunk #1 succeeded at 22 with fuzz 2 (offset -1843 lines).
Hunk #2 succeeded at 3312 (offset -55 lines).
Hunk #3 succeeded at 3336 (offset -55 lines).
Hunk #4 succeeded at 4335 with fuzz 2 (offset -144 lines).
######## PATCH = 02_makefile.patch ############
patching file tools/firmware/hvmloader/Makefile
######## PATCH = 03_dsdt.patch ############
patching file tools/firmware/hvmloader/acpi/dsdt.asl
######## PATCH = 04_hvmloader.patch ############
patching file tools/firmware/hvmloader/hvmloader.c
Hunk #1 succeeded at 116 (offset 1 line).
Hunk #2 succeeded at 221 (offset 1 line).
Hunk #3 succeeded at 789 (offset 60 lines).
######## PATCH = 05_sound-makefile.patch ############
patching file tools/ioemu-remote/xen-setup
Hunk #1 FAILED at 16

I will go on my tests and will let you know

Thanks

David



________________________________
 De : David TECHER <davidtecher@yahoo.fr>
À : -+= Lta =+- <lta@akr.fm> 
Cc : "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com> 
Envoyé le : Samedi 7 Janvier 2012 13h04
Objet : [Xen-devel] Re : Re :  Secondary VGA Passthrough, nvidia, win7: success report.
 

I tested xen 4.1.2 too.Tobias patches are the patches I've tested. I am not very lucky.


Since you used Tobias patches as me, my question is - to be more precise - could you sent Tobias patches that you have modified in order to checking
I did not forget something as you. 


My idea is that since I already have xen 4.2 installed, installing xen 4.1.2 over this , something wrong happens


My screen stays like a black screen and nothing happens. no "gfx message" in the log.

With Xen 4.2 I tried aero desktop too but my domU crashes when  I tried to activate aero.




________________________________
 De : -+= Lta =+- <lta@akr.fm>
À : David TECHER <davidtecher@yahoo.fr> 
Cc : xen-devel@lists.xensource.com 
Envoyé le : Samedi 7 Janvier 2012 3h17
Objet : Re: Re : [Xen-devel] Secondary VGA Passthrough, nvidia, win7: success report.
 

Hi,


On Fri, Jan 6, 2012 at 11:23 PM, David TECHER <davidtecher@yahoo.fr> wrote:

Could you tell me what version of Xen? 4.1.0? 4.1.2?

As it is stated before this is a 4.1.2 version with debian patches
 

>
>By the way could you send your patches attached to a mail so I could try?

- There's also a link to tobias patche's on the first post.
 

>
>Test on Xen 4.2 failed (desktop stays to lag...)

Have u tried to force windows to activate the aero desktop ?
 

>
>With installing xen 4.1.0/4.2.0 over my xen 4.2, domU boot but nothing appears on screen.

I also followed tobias (same as yours) instructions to dump and build vgabios-pt.bin into xen, did u do it also ?
 

>
>Strange.
>
>
>
>
>________________________________
> De : -+= Lta =+- <lta@akr.fm>
>À : xen-devel@lists.xensource.com 
>Envoyé le : Vendredi 6 Janvier 2012 17h48
>Objet : [Xen-devel] Secondary VGA Passthrough, nvidia, win7: success report.
>
>
>
>Hello xen-devel,
>
>
>
>
>This is my first post on this list and as such i might be breaking some explicit/implicit rules and i apologize if it's the case. Maybe this list isn't the exact right kind of place where to post this kind of stuff, but i know lots of us are browsing this list as the primary source of documentation for xen.
>
>
>I've read many times windows 7 isn't the right os to run on top of xen. Most of the guy's who are running vga passthru are recommanding to use windows xp, and i've never seen any success report of vga passthru on windows 7 so i thought it was important to post mine.
>
>
>Anyway, here's my hardware setup :
>- Gigabyte GA-990X-UD3
>- AMD Phenom II X6 1075T Processor
>- MSI Cyclone NVIDIA Geforce GTX 460
>
>
>On the software side i'm using :
>
>
>- Debian testing as Dom0
>- Xen-4.1 (debian version 4.1.2-2) with what's now referred to as "Tobias Geiger patches" (http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/msg00441.html) (You have to edit the patches, changing the path to some qemu source files for them to apply)
>- debian's kernel  3.1.5, compiled to include the pciback driver. Here's the output of `cat /boot/my3.1.5config | grep -i xen`
>CONFIG_XEN=y
>CONFIG_XEN_DOM0=y
>CONFIG_XEN_PRIVILEGED_GUEST=y
>CONFIG_XEN_PVHVM=y
>CONFIG_XEN_MAX_DOMAIN_MEMORY=128
>CONFIG_XEN_SAVE_RESTORE=y
># CONFIG_XEN_DEBUG_FS is not set
># CONFIG_XEN_DEBUG is not set
>CONFIG_PCI_XEN=y
>CONFIG_XEN_PCIDEV_FRONTEND=m
>CONFIG_XEN_BLKDEV_FRONTEND=m
>CONFIG_XEN_BLKDEV_BACKEND=m
>CONFIG_NETXEN_NIC=m
>CONFIG_XEN_NETDEV_FRONTEND=m
>CONFIG_XEN_NETDEV_BACKEND=m
>CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
>CONFIG_HVC_XEN=y
>CONFIG_XEN_WDT=m
>CONFIG_XEN_FBDEV_FRONTEND=y
># Xen driver support
>CONFIG_XEN_BALLOON=y
># CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
>CONFIG_XEN_SCRUB_PAGES=y
>CONFIG_XEN_DEV_EVTCHN=m
>CONFIG_XEN_BACKEND=y
>CONFIG_XENFS=m
>CONFIG_XEN_COMPAT_XENFS=y
>CONFIG_XEN_SYS_HYPERVISOR=y
>CONFIG_XEN_XENBUS_FRONTEND=y
>CONFIG_XEN_GNTDEV=m
>CONFIG_XEN_GRANT_DEV_ALLOC=m
>CONFIG_XEN_PLATFORM_PCI=m
>CONFIG_SWIOTLB_XEN=y
>CONFIG_XEN_PCIDEV_BACKEND=y
>
>
>The kernel boot options are 'nomodeset xen-pciback.passthrough=1 xen-pciback.hide=(01:00.0)(01:00.1)'
>
>
>- Here's my win7 domU config file :
>
>
>kernel = "/usr/lib/xen-4.1/boot/hvmloader"
>builder='hvm'
>memory = 3072
>name = "w7"
>vif = [ 'type=netfront,bridge=xenbr0, mac=00:16:3e:35:49:62']
>disk = [ 'phy:/dev/w7-xen/system,hda,w', 'phy:/dev/w7-xen/appz,hdb,w']
>device_model = '/usr/lib/xen-4.1/bin/qemu-dm'
>boot="dc"
>
>
>pci=['01:00.0','01:00.1']
>gfx_passthru=1
>
>
>vcpus=6
>acpi=1
>sdl=0
>vnc=1
>vncconsole=1
>vncpasswd=''
>serial='pty'
>usbdevice='tablet'
>pae=1
>pci_msitranslate=0
>pci_power_mgmt=0
>acpi_s3 = 1
>acpi_s4 = 1
>on_poweroff = 'destroy'
>on_reboot   = 'restart'
>on_crash    = 'restart'
>xen_platform_pci=1
>hpet = 1
>viridian=1
>monitor=1
>xen_extended_power_mgmt=2
>hpet=1
>
>
>What's important here for the Nvidia drivers to work and not give a nice nvlddmkm.sys BSOD is:
>pci_msitranslate=0
>pci_power_mgmt=0
>
>
>- Windows 7 32bits
>- Nvidia drivers 275.33
>- You have to manually run aero speed test or force aero to start by using registry entries for the desktop not to be laggy
>
>
>The windows 7 domU is running fine with no performance decrease noticeable, although i've not yet played intensive gpu video game, i'm still pretty confident they'll run fine.
>
>
>Anyway. i've still some problems i shall report in separate posts :
>- The PCI bus topology isn't preserved, and the gfx card, which is plugged on 01:00 becomes 05:00 on domU.
>- I'm passing through an RME Hdsp / hammerfall pci sound card to the domU and while it is working fine on his own, there's a strange interaction between it and the GPLPV network driver. When i start playing sound, the network instantly cease working. It starts back as soon as i stop playing audio.
>
>
>That's all folks,
>
>
>Cheers,
>Lta
>
>
>_______________________________________________
>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

[-- Attachment #1.2: Type: text/html, Size: 16727 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re :  Re :  Re : Re :  Secondary VGA Passthrough, nvidia, win7: success report.
  2012-01-07 12:22         ` Re : " David TECHER
@ 2012-01-07 14:42           ` David TECHER
  2012-01-07 16:36             ` Re : " David TECHER
  0 siblings, 1 reply; 10+ messages in thread
From: David TECHER @ 2012-01-07 14:42 UTC (permalink / raw)
  To: David TECHER, -+= Lta =+-; +Cc: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 9625 bytes --]

Attached  are the  updated Tobias patches for Xen 4.1.2.

The most important is 01_pass-through.patch that need to be updated :) else you receive a stupid error from compilation


Since I compiled kernel 3.1.6, without modules for Xen (=Y), I have to remove 'xen-pci.passthough=1' from grub else I can not  have my screen (stays black...)


I am doing my test on a new domU Windows 7.

Hope it will succeed :)

I will let you know





________________________________
 De : David TECHER <davidtecher@yahoo.fr>
À : David TECHER <davidtecher@yahoo.fr>; -+= Lta =+- <lta@akr.fm> 
Cc : "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com> 
Envoyé le : Samedi 7 Janvier 2012 13h22
Objet : [Xen-devel] Re :  Re : Re :  Secondary VGA Passthrough, nvidia, win7: success report.
 

Ok

I think I understand what's wrong now :)

Init build
======


wget http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz
tar xzf xen-4.1.2.tar.gz 
cd xen-4.1.2/
cd tools/
make 
make clean 
cd ..

Download patches

=============

wget -q http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txtIj4stRFbPo.txt -O 01_pass-through.patch
wget -q http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txt06YdYEsi3S.txt -O 02_makefile.patch
wget -q
 http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txtS2w8cPgsnS.txt -O 03_dsdt.patch
wget -q http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txt2am6wEpoR5.txt -O 04_hvmloader.patch
wget -q http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txtiSIyxOHBZ8.txt -O 05_sound-makefile.patch


Modify the first patch
================


Replace the path for the good path in the first patch 01_pass-through.patch

sed -i "s:tools/ioemu-remote/hw/:tools/ioemu-qemu-xen/hw/:g" 01_pass-through.patch

Apply patches
==========



root@mercury:/opt/tmp/xen-4.1.2# for file in $(ls 0*patch);do echo "######## PATCH = $file ############";patch -p0 < $file;done
######## PATCH = 01_pass-through.patch ############
patching file tools/ioemu-qemu-xen/hw/pass-through.c
Hunk #1 succeeded at 22 with fuzz 2 (offset -1843 lines).
Hunk #2 succeeded at 3312 (offset -55 lines).
Hunk #3 succeeded at 3336 (offset -55 lines).
Hunk #4 succeeded at 4335 with fuzz 2 (offset -144 lines).
######## PATCH = 02_makefile.patch ############
patching file tools/firmware/hvmloader/Makefile
######## PATCH = 03_dsdt.patch ############
patching file tools/firmware/hvmloader/acpi/dsdt.asl
######## PATCH = 04_hvmloader.patch ############
patching file tools/firmware/hvmloader/hvmloader.c
Hunk #1 succeeded at 116 (offset 1 line).
Hunk #2 succeeded at 221 (offset 1 line).
Hunk #3 succeeded at 789 (offset 60 lines).
######## PATCH = 05_sound-makefile.patch ############
patching file
 tools/ioemu-remote/xen-setup
Hunk #1 FAILED at 16

I will go on my tests and will let you know

Thanks

David


________________________________
 De : David TECHER <davidtecher@yahoo.fr>
À : -+= Lta =+- <lta@akr.fm> 
Cc : "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com> 
Envoyé le : Samedi 7 Janvier 2012 13h04
Objet : [Xen-devel] Re : Re :  Secondary VGA Passthrough, nvidia, win7: success report.
 

I tested xen 4.1.2 too.Tobias patches are the patches I've tested. I am not very lucky.


Since you used Tobias patches as me, my question is - to be more precise - could you sent Tobias patches that you have modified in order to checking
I did not forget something as you. 


My idea is that since I already have xen 4.2 installed, installing xen 4.1.2 over this , something wrong happens


My screen stays like a black screen and nothing happens. no "gfx message" in the log.

With Xen 4.2 I tried aero desktop too but my domU crashes when  I tried to activate aero.




________________________________
 De : -+= Lta =+- <lta@akr.fm>
À : David TECHER <davidtecher@yahoo.fr> 
Cc : xen-devel@lists.xensource.com 
Envoyé le : Samedi 7 Janvier 2012 3h17
Objet : Re: Re : [Xen-devel] Secondary VGA Passthrough, nvidia, win7: success report.
 

Hi,


On Fri, Jan 6, 2012 at 11:23 PM, David TECHER <davidtecher@yahoo.fr> wrote:

Could you tell me what version of Xen? 4.1.0? 4.1.2?

As it is stated before this is a 4.1.2 version with debian patches
 

>
>By the way could you send your patches attached to a mail so I could try?

- There's also a link to tobias patche's on the first post.
 

>
>Test on Xen 4.2 failed (desktop stays to lag...)

Have u tried to force windows to activate the aero desktop ?
 

>
>With installing xen 4.1.0/4.2.0 over my xen 4.2, domU boot but nothing appears on screen.

I also followed tobias (same as yours) instructions to dump and build vgabios-pt.bin into xen, did u do it also ?
 

>
>Strange.
>
>
>
>
>________________________________
> De : -+= Lta =+- <lta@akr.fm>
>À : xen-devel@lists.xensource.com 
>Envoyé le : Vendredi 6 Janvier 2012 17h48
>Objet : [Xen-devel] Secondary VGA Passthrough, nvidia, win7: success report.
>
>
>
>Hello xen-devel,
>
>
>
>
>This is my first post on this list and as such i might be breaking some explicit/implicit rules and i apologize if it's the case. Maybe this list isn't the exact right kind of place where to post this kind of stuff, but i know lots of us are browsing this list as the primary source of documentation for xen.
>
>
>I've read many times windows 7 isn't the right os to run on top of xen. Most of the guy's who are running vga passthru are recommanding to use windows xp, and i've never seen any success report of vga passthru on windows 7 so i thought it was important to post mine.
>
>
>Anyway, here's my hardware setup :
>- Gigabyte GA-990X-UD3
>- AMD Phenom II X6 1075T Processor
>- MSI Cyclone NVIDIA Geforce GTX 460
>
>
>On the software side i'm using :
>
>
>- Debian testing as Dom0
>- Xen-4.1 (debian version 4.1.2-2) with what's now referred to as "Tobias Geiger patches" (http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/msg00441.html) (You have to edit the patches, changing the path to some qemu source files for them to apply)
>- debian's kernel  3.1.5, compiled to include the pciback driver. Here's the output of `cat /boot/my3.1.5config | grep -i xen`
>CONFIG_XEN=y
>CONFIG_XEN_DOM0=y
>CONFIG_XEN_PRIVILEGED_GUEST=y
>CONFIG_XEN_PVHVM=y
>CONFIG_XEN_MAX_DOMAIN_MEMORY=128
>CONFIG_XEN_SAVE_RESTORE=y
># CONFIG_XEN_DEBUG_FS is not set
># CONFIG_XEN_DEBUG is not set
>CONFIG_PCI_XEN=y
>CONFIG_XEN_PCIDEV_FRONTEND=m
>CONFIG_XEN_BLKDEV_FRONTEND=m
>CONFIG_XEN_BLKDEV_BACKEND=m
>CONFIG_NETXEN_NIC=m
>CONFIG_XEN_NETDEV_FRONTEND=m
>CONFIG_XEN_NETDEV_BACKEND=m
>CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
>CONFIG_HVC_XEN=y
>CONFIG_XEN_WDT=m
>CONFIG_XEN_FBDEV_FRONTEND=y
># Xen driver support
>CONFIG_XEN_BALLOON=y
># CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
>CONFIG_XEN_SCRUB_PAGES=y
>CONFIG_XEN_DEV_EVTCHN=m
>CONFIG_XEN_BACKEND=y
>CONFIG_XENFS=m
>CONFIG_XEN_COMPAT_XENFS=y
>CONFIG_XEN_SYS_HYPERVISOR=y
>CONFIG_XEN_XENBUS_FRONTEND=y
>CONFIG_XEN_GNTDEV=m
>CONFIG_XEN_GRANT_DEV_ALLOC=m
>CONFIG_XEN_PLATFORM_PCI=m
>CONFIG_SWIOTLB_XEN=y
>CONFIG_XEN_PCIDEV_BACKEND=y
>
>
>The kernel boot options are 'nomodeset xen-pciback.passthrough=1 xen-pciback.hide=(01:00.0)(01:00.1)'
>
>
>- Here's my win7 domU config file :
>
>
>kernel = "/usr/lib/xen-4.1/boot/hvmloader"
>builder='hvm'
>memory = 3072
>name = "w7"
>vif = [ 'type=netfront,bridge=xenbr0, mac=00:16:3e:35:49:62']
>disk = [ 'phy:/dev/w7-xen/system,hda,w', 'phy:/dev/w7-xen/appz,hdb,w']
>device_model = '/usr/lib/xen-4.1/bin/qemu-dm'
>boot="dc"
>
>
>pci=['01:00.0','01:00.1']
>gfx_passthru=1
>
>
>vcpus=6
>acpi=1
>sdl=0
>vnc=1
>vncconsole=1
>vncpasswd=''
>serial='pty'
>usbdevice='tablet'
>pae=1
>pci_msitranslate=0
>pci_power_mgmt=0
>acpi_s3 = 1
>acpi_s4 = 1
>on_poweroff = 'destroy'
>on_reboot   = 'restart'
>on_crash    = 'restart'
>xen_platform_pci=1
>hpet = 1
>viridian=1
>monitor=1
>xen_extended_power_mgmt=2
>hpet=1
>
>
>What's important here for the Nvidia drivers to work and not give a nice nvlddmkm.sys BSOD is:
>pci_msitranslate=0
>pci_power_mgmt=0
>
>
>- Windows 7 32bits
>- Nvidia drivers 275.33
>- You have to manually run aero speed test or force aero to start by using registry entries for the desktop not to be laggy
>
>
>The windows 7 domU is running fine with no performance decrease noticeable, although i've not yet played intensive gpu video game, i'm still pretty confident they'll run fine.
>
>
>Anyway. i've still some problems i shall report in separate posts :
>- The PCI bus topology isn't preserved, and the gfx card, which is plugged on 01:00 becomes 05:00 on domU.
>- I'm passing through an RME Hdsp / hammerfall pci sound card to the domU and while it is working fine on his own, there's a strange interaction between it and the GPLPV network driver. When i start playing sound, the network instantly cease working. It starts back as soon as i stop playing audio.
>
>
>That's all folks,
>
>
>Cheers,
>Lta
>
>
>_______________________________________________
>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



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

[-- Attachment #1.2: Type: text/html, Size: 18908 bytes --]

[-- Attachment #2: 01_pass-through.c.patch --]
[-- Type: application/octet-stream, Size: 4247 bytes --]

--- xen-4.1.2_orig/tools/ioemu-qemu-xen/hw/pass-through.c	2011-02-11 18:54:51.000000000 +0100
+++ xen-4.1.2_work/tools/ioemu-qemu-xen/hw/pass-through.c	2012-01-07 14:37:55.000000000 +0100
@@ -115,6 +115,79 @@ struct dpci_infos {
 
 char mapped_machine_irq[PT_NR_IRQS] = {0};
 
+ #define PCI_HEADER_TYPE_ADDR        0x0e
+ #define PCI_BRIDGE_FLAG             0x01
+ 
+ #define PCI_CLASS_CODE_ADDR_0       0x09
+ #define PCI_CLASS_CODE_ADDR_1       0x0a
+ #define PCI_CLASS_CODE_ADDR_2       0x0b
+ #define PCI_CLASS_CODE_DATA_0       0x060000
+ #define PCI_CLASS_CODE_DATA_1       0x0600
+ #define PCI_CLASS_CODE_DATA_2       0x06
+ 
+ #define PCI_SECOND_BUS_NUMBER_ADDR  0x19
+ 
+ #define PCI_BRIDGE_CONTROL_ADDR     0x3e
+ #define PCI_BRIDGE_VGA_ENABLE       0x18
+ 
+ #define PCI_GRAPHIC_CONTROL_ADDR    0x52
+ #define PCI_HOST_BRIDGE_IGD_VGA_DISABLE 0x02
+ 
+ static uint32_t gfx_claim_vga_cycle(struct pci_access *pci_access,  uint32_t bus, uint32_t devfn, uint32_t func);
+ 
+ 
+ /*
+  * Claim vga cycle for the graphics card pass-through
+  */
+ static uint32_t gfx_claim_vga_cycle(struct pci_access *pci_access,
+        uint32_t bus, uint32_t devfn, uint32_t func)
+ {
+     struct pci_dev *pci_dev;
+ 
+     for ( pci_dev = pci_access->devices; pci_dev != NULL; pci_dev = pci_dev->next )
+     {
+         /* Check whether this is a ordinary bridge */
+         if ( pci_read_byte(pci_dev, PCI_HEADER_TYPE_ADDR) == PCI_BRIDGE_FLAG )
+         {
+             unsigned sec_bus_num = pci_read_byte(pci_dev, PCI_SECOND_BUS_NUMBER_ADDR);
+             unsigned ubrg = pci_read_byte(pci_dev, PCI_BRIDGE_CONTROL_ADDR);
+ 
+             PT_LOG("bridge for bus %d, previous bridge control is %x\n", sec_bus_num, ubrg);
+             PT_LOG("bus=0x%d, dev=0x%x, func=0x%x\n",pci_dev->bus,pci_dev->dev,pci_dev->func);
+ 
+             if ( sec_bus_num == bus ) /* VGA device's bridge */
+                 ubrg |= PCI_BRIDGE_VGA_ENABLE;
+             else /* Other device's bridge */
+                 ubrg &= ~PCI_BRIDGE_VGA_ENABLE;
+ 
+             pci_write_byte(pci_dev, PCI_BRIDGE_CONTROL_ADDR, ubrg);
+             PT_LOG("bridge for bus %d, updated bridge control is %x\n", sec_bus_num, ubrg);
+         }
+     }
+ 
+     for ( pci_dev = pci_access->devices; pci_dev != NULL; pci_dev = pci_dev->next )
+     {
+         /* Check host bridge */
+         if ( pci_read_word(pci_dev, PCI_CLASS_CODE_ADDR_1) == PCI_CLASS_CODE_DATA_1 )
+         {
+             unsigned uigd = pci_read_byte(pci_dev, PCI_GRAPHIC_CONTROL_ADDR);
+ 
+             PT_LOG("previous igd control is %x\n", uigd);
+ 
+             if ( bus == 0 )
+                 uigd &= ~PCI_HOST_BRIDGE_IGD_VGA_DISABLE;
+             else
+                 uigd |= PCI_HOST_BRIDGE_IGD_VGA_DISABLE;
+ 
+             pci_write_byte(pci_dev, PCI_GRAPHIC_CONTROL_ADDR, uigd);
+             PT_LOG("updated igd control is %x\n", uigd);
+         }
+     }
+ 
+     return 0;
+ }
+
+
 /* prototype */
 static uint32_t pt_common_reg_init(struct pt_dev *ptdev,
     struct pt_reg_info_tbl *reg, uint32_t real_offset);
@@ -3243,6 +3316,8 @@ static int pt_cmd_reg_read(struct pt_dev
 }
 
 /* read BAR */
+static int gfx_first_read_BAR[7] = {1, 1, 1, 1, 1, 1, 1};
+
 static int pt_bar_reg_read(struct pt_dev *ptdev,
         struct pt_reg_tbl *cfg_entry,
         uint32_t *value, uint32_t valid_mask)
@@ -3265,6 +3340,17 @@ static int pt_bar_reg_read(struct pt_dev
     /* use fixed-up value from kernel sysfs */
     *value = ptdev->pci_dev->base_addr[index];
 
+    if ( ptdev->pci_dev->device_class == 0x300 )
+    {
+        if ( gfx_first_read_BAR[index] == 1 )
+        {
+            gfx_first_read_BAR[index] = 0;
+            PT_LOG("first read BARs of gfx\n");
+            return 0;
+        }
+    }
+
+
     /* set emulate mask depend on BAR flag */
     switch (ptdev->bases[index].bar_flag)
     {
@@ -4253,6 +4339,13 @@ static struct pt_dev * register_real_dev
     }
 
 
+    if ( pci_dev->device_class == 0x0300 )
+    {
+        rc = gfx_claim_vga_cycle(pci_access, r_bus, r_dev, r_func);
+        if ( rc != 0 )
+            return NULL;
+    }
+
     /* reinitialize each config register to be emulated */
     rc = pt_config_init(assigned_device);
     if ( rc < 0 ) {

[-- Attachment #3: 02_Makefile.patch --]
[-- Type: application/octet-stream, Size: 658 bytes --]

--- xen-4.1.2_orig/tools/firmware/hvmloader/Makefile	2011-10-20 19:05:41.000000000 +0200
+++ xen-4.1.2_work/tools/firmware/hvmloader/Makefile	2012-01-07 14:19:48.000000000 +0100
@@ -50,6 +50,7 @@ hvmloader: $(OBJS) acpi/acpi.a
 roms.h: ../rombios/BIOS-bochs-latest ../vgabios/VGABIOS-lgpl-latest.bin \
 	../vgabios/VGABIOS-lgpl-latest.cirrus.bin ../etherboot/eb-roms.h
 	sh ./mkhex rombios ../rombios/BIOS-bochs-latest > roms.h
+	sh ./mkhex vgabios_pt ../vgabios/vgabios-pt.bin >> roms.h         
 	sh ./mkhex vgabios_stdvga ../vgabios/VGABIOS-lgpl-latest.bin >> roms.h
 	sh ./mkhex vgabios_cirrusvga \
 		../vgabios/VGABIOS-lgpl-latest.cirrus.bin >> roms.h

[-- Attachment #4: 05_xen-setup.patch --]
[-- Type: application/octet-stream, Size: 700 bytes --]

--- xen-4.1.2_orig/tools/ioemu-qemu-xen/xen-setup	2011-02-11 18:54:51.000000000 +0100
+++ xen-4.1.2_work/tools/ioemu-qemu-xen/xen-setup	2012-01-07 14:27:04.000000000 +0100
@@ -18,7 +18,8 @@ if test -z "${XEN_SCRIPT_DIR}"; then
 	XEN_SCRIPT_DIR="/etc/xen/scripts"
 fi
 
-${QEMU_ROOT:-.}/configure --disable-gfx-check --disable-curses --disable-slirp "$@" --prefix=${PREFIX}
+#${QEMU_ROOT:-.}/configure --disable-gfx-check --disable-curses --disable-slirp "$@" --prefix=${PREFIX}
+${QEMU_ROOT:-.}/configure --audio-drv-list=alsa --enable-mixemu --disable-gfx-check --disable-curses --disable-slirp "$@" --prefix=${PREFIX}
 
 if [ "x$XEN_ROOT" != x ]; then
 	echo "XEN_ROOT=$XEN_ROOT" >>config-host.mak

[-- Attachment #5: 04_hvmloader.c.patch --]
[-- Type: application/octet-stream, Size: 2933 bytes --]

--- xen-4.1.2_orig/tools/firmware/hvmloader/hvmloader.c	2011-10-20 19:05:41.000000000 +0200
+++ xen-4.1.2_work/tools/firmware/hvmloader/hvmloader.c	2012-01-07 14:19:48.000000000 +0100
@@ -116,6 +116,9 @@ unsigned long pci_mem_end = PCI_MEM_END;
 
 static enum { VGA_none, VGA_std, VGA_cirrus, VGA_pt } virtual_vga = VGA_none;
 
+/* virtual BDF of pass-throughed gfx */
+static uint8_t gfx_bdf;
+
 static void init_hypercalls(void)
 {
     uint32_t eax, ebx, ecx, edx;
@@ -218,6 +221,42 @@ static void pci_setup(void)
                 virtual_vga = VGA_cirrus;
             else if ( virtual_vga == VGA_none )
                 virtual_vga = VGA_pt;
+                gfx_bdf = devfn;
+
+                /* Make vBAR=pBAR */
+                printf("Make vBAR = pBAR of assigned gfx\n");
+                for ( bar = 0; bar < 7; bar++ )
+                {
+                    bar_reg = PCI_BASE_ADDRESS_0 + 4*bar;
+                    if ( bar == 6 )
+                            bar_reg = PCI_ROM_ADDRESS;
+                    /* When first time read, it will return physical address */
+                    bar_data = pci_readl(devfn, bar_reg);
+                    pci_writel(devfn, bar_reg, bar_data);
+
+                    /* Now enable the memory or I/O mapping. */
+                    cmd = pci_readw(devfn, PCI_COMMAND);
+                    if ( (bar_reg == PCI_ROM_ADDRESS) ||
+                             ((bar_data & PCI_BASE_ADDRESS_SPACE) ==
+                              PCI_BASE_ADDRESS_SPACE_MEMORY) )
+                          cmd |= PCI_COMMAND_MEMORY;
+                    else
+                          cmd |= PCI_COMMAND_IO;
+                    cmd |= PCI_COMMAND_MASTER;
+                    pci_writew(devfn, PCI_COMMAND, cmd);
+               }
+
+                /* Map the interrupt. */
+                pin = pci_readb(devfn, PCI_INTERRUPT_PIN);
+                if ( pin != 0 )
+                {
+                    /* This is the barber's pole mapping used by Xen. */
+                    link = ((pin - 1) + (devfn >> 3)) & 3;
+                    isa_irq = pci_readb(PCI_ISA_DEVFN, 0x60 + link);
+                    pci_writeb(devfn, PCI_INTERRUPT_LINE, isa_irq);
+                }
+                continue;
+
             break;
         case 0x0680:
             /* PIIX4 ACPI PM. Special device with special PCI config space. */
@@ -750,8 +789,10 @@ int main(void)
         break;
     case VGA_pt:
         printf("Loading VGABIOS of passthroughed gfx ...\n");
-        vgabios_sz =
-            round_option_rom((*(uint8_t *)(VGABIOS_PHYSICAL_ADDRESS+2)) * 512);
+        memcpy((void *)VGABIOS_PHYSICAL_ADDRESS,
+               vgabios_pt, sizeof(vgabios_pt));
+        *(uint8_t *)(VGABIOS_PHYSICAL_ADDRESS + sizeof(vgabios_pt)) = gfx_bdf;
+        vgabios_sz = round_option_rom(sizeof(vgabios_pt) + 1);
         break;
     default:
         printf("No emulated VGA adaptor ...\n");

[-- Attachment #6: 03_dsdt.asl.patch --]
[-- Type: application/octet-stream, Size: 1933 bytes --]

--- xen-4.1.2_orig/tools/firmware/hvmloader/acpi/dsdt.asl	2011-10-20 19:05:41.000000000 +0200
+++ xen-4.1.2_work/tools/firmware/hvmloader/acpi/dsdt.asl	2012-01-07 14:49:26.000000000 +0100
@@ -173,14 +173,42 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2,
                         0x00000000,
                         0x00020000)
 
+                    /* reserve MMIO BARs of gfx for 1:1 mapping */
                     DWordMemory(
                         ResourceProducer, PosDecode, MinFixed, MaxFixed,
                         Cacheable, ReadWrite,
                         0x00000000,
-                        0xF0000000,
-                        0xF4FFFFFF,
+                        0xE0000000,
+                        0xEFFFFFFF,
                         0x00000000,
-                        0x05000000,
+                        0x10000000)
+
+                    DWordMemory(
+                        ResourceProducer, PosDecode, MinFixed, MaxFixed,
+                        NonCacheable, ReadWrite,
+                        0x00000000,
+                        0xC0000000,
+                        0xC1FFFFFF,
+                        0x00000000,
+                        0x02000000)
+
+                    DWordMemory(
+                        ResourceProducer, PosDecode, MinFixed, MaxFixed,
+                        NonCacheable, ReadWrite,
+                        0x00000000,
+                        0xC2000000,
+                        0xC2FFFFFF,
+                        0x00000000,
+                        0x01000000)
+
+                    DWordMemory(
+                        ResourceProducer, PosDecode, MinFixed, MaxFixed,
+                        Cacheable, ReadWrite,
+                        0x00000000,
+                        0xFB000000,
+                        0xFB07FFFF,
+                        0x00000000,
+                        0x00080000,
                         ,, _Y01)
                 })
 

[-- Attachment #7: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re :  Re :  Re :  Re : Re :  Secondary VGA Passthrough, nvidia, win7: success report.
  2012-01-07 14:42           ` Re : " David TECHER
@ 2012-01-07 16:36             ` David TECHER
  0 siblings, 0 replies; 10+ messages in thread
From: David TECHER @ 2012-01-07 16:36 UTC (permalink / raw)
  To: David TECHER, -+= Lta =+-; +Cc: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 10410 bytes --]

I took the decison to stop my tests for xen 4.1.2 and VGA PassThrough.

Too much problem....with Windows 7. Moreoever I came to the conclusion that it is too more unstable than VGA PassThrough on Xen 4.2


Back  to Xen 4.2  :) with XP and Linux :). No windows 7



________________________________
 De : David TECHER <davidtecher@yahoo.fr>
À : David TECHER <davidtecher@yahoo.fr>; -+= Lta =+- <lta@akr.fm> 
Cc : "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com> 
Envoyé le : Samedi 7 Janvier 2012 15h42
Objet : [Xen-devel] Re :  Re :  Re : Re :  Secondary VGA Passthrough, nvidia, win7: success report.
 

Attached  are the  updated Tobias patches for Xen 4.1.2.

The most important is 01_pass-through.patch that need to be updated :) else you receive a stupid error from compilation


Since I compiled kernel 3.1.6, without modules for Xen (=Y), I have to remove 'xen-pci.passthough=1' from grub else I can not  have my screen (stays black...)


I am doing my test on a new domU Windows 7.

Hope it will succeed :)

I will let you know





________________________________
 De : David TECHER <davidtecher@yahoo.fr>
À : David TECHER <davidtecher@yahoo.fr>; -+= Lta =+- <lta@akr.fm> 
Cc : "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com> 
Envoyé le : Samedi 7 Janvier 2012 13h22
Objet : [Xen-devel] Re :  Re : Re :  Secondary VGA Passthrough, nvidia, win7: success report.
 

Ok

I think I understand what's wrong now :)

Init build
======


wget http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz
tar xzf xen-4.1.2.tar.gz 
cd xen-4.1.2/
cd tools/
make 
make clean 
cd ..

Download patches

=============

wget -q http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txtIj4stRFbPo.txt -O 01_pass-through.patch
wget -q http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txt06YdYEsi3S.txt -O 02_makefile.patch
wget -q
 http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txtS2w8cPgsnS.txt -O 03_dsdt.patch
wget -q http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txt2am6wEpoR5.txt -O 04_hvmloader.patch
wget -q http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/txtiSIyxOHBZ8.txt -O 05_sound-makefile.patch


Modify the first patch
================


Replace the path for the good path in the first patch 01_pass-through.patch

sed -i "s:tools/ioemu-remote/hw/:tools/ioemu-qemu-xen/hw/:g" 01_pass-through.patch

Apply patches
==========



root@mercury:/opt/tmp/xen-4.1.2# for file in $(ls 0*patch);do echo "######## PATCH = $file ############";patch -p0 < $file;done
######## PATCH = 01_pass-through.patch ############
patching file tools/ioemu-qemu-xen/hw/pass-through.c
Hunk #1 succeeded at 22 with fuzz 2 (offset -1843 lines).
Hunk #2 succeeded at 3312 (offset -55 lines).
Hunk #3 succeeded at 3336 (offset -55 lines).
Hunk #4 succeeded at 4335 with fuzz 2 (offset -144 lines).
######## PATCH = 02_makefile.patch ############
patching file tools/firmware/hvmloader/Makefile
######## PATCH = 03_dsdt.patch ############
patching file tools/firmware/hvmloader/acpi/dsdt.asl
######## PATCH = 04_hvmloader.patch ############
patching file tools/firmware/hvmloader/hvmloader.c
Hunk #1 succeeded at 116 (offset 1 line).
Hunk #2 succeeded at 221 (offset 1 line).
Hunk #3 succeeded at 789 (offset 60 lines).
######## PATCH = 05_sound-makefile.patch ############
patching file
 tools/ioemu-remote/xen-setup
Hunk #1 FAILED at 16

I will go on my tests and will let you know

Thanks

David


________________________________
 De : David TECHER <davidtecher@yahoo.fr>
À : -+= Lta =+- <lta@akr.fm> 
Cc : "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com> 
Envoyé le : Samedi 7 Janvier 2012 13h04
Objet : [Xen-devel] Re : Re :  Secondary VGA Passthrough, nvidia, win7: success report.
 

I tested xen 4.1.2 too.Tobias patches are the patches I've tested. I am not very lucky.


Since you used Tobias patches as me, my question is - to be more precise - could you sent Tobias patches that you have modified in order to checking
I did not forget something as you. 


My idea is that since I already have xen 4.2 installed, installing xen 4.1.2 over this , something wrong happens


My screen stays like a black screen and nothing happens. no "gfx message" in the log.

With Xen 4.2 I tried aero desktop too but my domU crashes when  I tried to activate aero.




________________________________
 De : -+= Lta =+- <lta@akr.fm>
À : David TECHER <davidtecher@yahoo.fr> 
Cc : xen-devel@lists.xensource.com 
Envoyé le : Samedi 7 Janvier 2012 3h17
Objet : Re: Re : [Xen-devel] Secondary VGA Passthrough, nvidia, win7: success report.
 

Hi,


On Fri, Jan 6, 2012 at 11:23 PM, David TECHER <davidtecher@yahoo.fr> wrote:

Could you tell me what version of Xen? 4.1.0? 4.1.2?

As it is stated before this is a 4.1.2 version with debian patches
 

>
>By the way could you send your patches attached to a mail so I could try?

- There's also a link to tobias patche's on the first post.
 

>
>Test on Xen 4.2 failed (desktop stays to lag...)

Have u tried to force windows to activate the aero desktop ?
 

>
>With installing xen 4.1.0/4.2.0 over my xen 4.2, domU boot but nothing appears on screen.

I also followed tobias (same as yours) instructions to dump and build vgabios-pt.bin into xen, did u do it also ?
 

>
>Strange.
>
>
>
>
>________________________________
> De : -+= Lta =+- <lta@akr.fm>
>À : xen-devel@lists.xensource.com 
>Envoyé le : Vendredi 6 Janvier 2012 17h48
>Objet : [Xen-devel] Secondary VGA Passthrough, nvidia, win7: success report.
>
>
>
>Hello xen-devel,
>
>
>
>
>This is my first post on this list and as such i might be breaking some explicit/implicit rules and i apologize if it's the case. Maybe this list isn't the exact right kind of place where to post this kind of stuff, but i know lots of us are browsing this list as the primary source of documentation for xen.
>
>
>I've read many times windows 7 isn't the right os to run on top of xen. Most of the guy's who are running vga passthru are recommanding to use windows xp, and i've never seen any success report of vga passthru on windows 7 so i thought it was important to post mine.
>
>
>Anyway, here's my hardware setup :
>- Gigabyte GA-990X-UD3
>- AMD Phenom II X6 1075T Processor
>- MSI Cyclone NVIDIA Geforce GTX 460
>
>
>On the software side i'm using :
>
>
>- Debian testing as Dom0
>- Xen-4.1 (debian version 4.1.2-2) with what's now referred to as "Tobias Geiger patches" (http://old-list-archives.xen.org/archives/html/xen-devel/2010-05/msg00441.html) (You have to edit the patches, changing the path to some qemu source files for them to apply)
>- debian's kernel  3.1.5, compiled to include the pciback driver. Here's the output of `cat /boot/my3.1.5config | grep -i xen`
>CONFIG_XEN=y
>CONFIG_XEN_DOM0=y
>CONFIG_XEN_PRIVILEGED_GUEST=y
>CONFIG_XEN_PVHVM=y
>CONFIG_XEN_MAX_DOMAIN_MEMORY=128
>CONFIG_XEN_SAVE_RESTORE=y
># CONFIG_XEN_DEBUG_FS is not set
># CONFIG_XEN_DEBUG is not set
>CONFIG_PCI_XEN=y
>CONFIG_XEN_PCIDEV_FRONTEND=m
>CONFIG_XEN_BLKDEV_FRONTEND=m
>CONFIG_XEN_BLKDEV_BACKEND=m
>CONFIG_NETXEN_NIC=m
>CONFIG_XEN_NETDEV_FRONTEND=m
>CONFIG_XEN_NETDEV_BACKEND=m
>CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
>CONFIG_HVC_XEN=y
>CONFIG_XEN_WDT=m
>CONFIG_XEN_FBDEV_FRONTEND=y
># Xen driver support
>CONFIG_XEN_BALLOON=y
># CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
>CONFIG_XEN_SCRUB_PAGES=y
>CONFIG_XEN_DEV_EVTCHN=m
>CONFIG_XEN_BACKEND=y
>CONFIG_XENFS=m
>CONFIG_XEN_COMPAT_XENFS=y
>CONFIG_XEN_SYS_HYPERVISOR=y
>CONFIG_XEN_XENBUS_FRONTEND=y
>CONFIG_XEN_GNTDEV=m
>CONFIG_XEN_GRANT_DEV_ALLOC=m
>CONFIG_XEN_PLATFORM_PCI=m
>CONFIG_SWIOTLB_XEN=y
>CONFIG_XEN_PCIDEV_BACKEND=y
>
>
>The kernel boot options are 'nomodeset xen-pciback.passthrough=1 xen-pciback.hide=(01:00.0)(01:00.1)'
>
>
>- Here's my win7 domU config file :
>
>
>kernel = "/usr/lib/xen-4.1/boot/hvmloader"
>builder='hvm'
>memory = 3072
>name = "w7"
>vif = [ 'type=netfront,bridge=xenbr0, mac=00:16:3e:35:49:62']
>disk = [ 'phy:/dev/w7-xen/system,hda,w', 'phy:/dev/w7-xen/appz,hdb,w']
>device_model = '/usr/lib/xen-4.1/bin/qemu-dm'
>boot="dc"
>
>
>pci=['01:00.0','01:00.1']
>gfx_passthru=1
>
>
>vcpus=6
>acpi=1
>sdl=0
>vnc=1
>vncconsole=1
>vncpasswd=''
>serial='pty'
>usbdevice='tablet'
>pae=1
>pci_msitranslate=0
>pci_power_mgmt=0
>acpi_s3 = 1
>acpi_s4 = 1
>on_poweroff = 'destroy'
>on_reboot   = 'restart'
>on_crash    = 'restart'
>xen_platform_pci=1
>hpet = 1
>viridian=1
>monitor=1
>xen_extended_power_mgmt=2
>hpet=1
>
>
>What's important here for the Nvidia drivers to work and not give a nice nvlddmkm.sys BSOD is:
>pci_msitranslate=0
>pci_power_mgmt=0
>
>
>- Windows 7 32bits
>- Nvidia drivers 275.33
>- You have to manually run aero speed test or force aero to start by using registry entries for the desktop not to be laggy
>
>
>The windows 7 domU is running fine with no performance decrease noticeable, although i've not yet played intensive gpu video game, i'm still pretty confident they'll run fine.
>
>
>Anyway. i've still some problems i shall report in separate posts :
>- The PCI bus topology isn't preserved, and the gfx card, which is plugged on 01:00 becomes 05:00 on domU.
>- I'm passing through an RME Hdsp / hammerfall pci sound card to the domU and while it is working fine on his own, there's a strange interaction between it and the GPLPV network driver. When i start playing sound, the network instantly cease working. It starts back as soon as i stop playing audio.
>
>
>That's all folks,
>
>
>Cheers,
>Lta
>
>
>_______________________________________________
>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



_______________________________________________
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

[-- Attachment #1.2: Type: text/html, Size: 20701 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-01-07 16:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CAFV75=xYkVaxShXQaQ9Lwd9FOzxd5cWz8beHoE+Y9wPH7EeBsw@mail.gmail.com>
2012-01-06 16:48 ` Secondary VGA Passthrough, nvidia, win7: success report -+= Lta =+-
2012-01-06 17:02   ` n4rC0t1C
2012-01-06 17:07     ` Re : " David TECHER
2012-01-06 17:06   ` Pasi Kärkkäinen
2012-01-06 22:23   ` Re : " David TECHER
2012-01-07  2:17     ` -+= Lta =+-
2012-01-07 12:04       ` Re : " David TECHER
2012-01-07 12:22         ` Re : " David TECHER
2012-01-07 14:42           ` Re : " David TECHER
2012-01-07 16:36             ` Re : " David TECHER

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.