[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-users] turning nvidia gts 450 into quadro 2000


  • To: xen-users@xxxxxxxxxxxxx
  • From: Imre Oolberg <imre@xxxxxxxxxxx>
  • Date: Sat, 01 Feb 2014 01:52:44 +0200
  • Delivery-date: Fri, 31 Jan 2014 23:53:47 +0000
  • List-id: Xen user discussion <xen-users.lists.xen.org>

Hi!

I am trying to get my Xen domU correctly working with vga passthrough
and Win7 32 bit or 64 bit. At the moment graphics does not work at all,
i believe that my Quadro K600, GTS 450 or GeForce 7600 GS video card
even shouldnt work with Win7 under domU although with Ubuntu guests they
work (at least Ubuntu domU could be booted up once successfully with
graphics).

So, gts 450 -> quardo 2000 to the rescue :)

I would be very thankful if somebody goes thru the rest of this letter
and confirms what i intend to do is correct and also cares to answer
some questions.

First of all i went thru these articles

1.
http://www.altechnative.net/2013/11/25/virtualized-gaming-nvidia-cards-part-3-how-to-modify-a-fermi-based-geforce-into-a-quadro-geforce-gts450gtx470gtx480-to-quadro-200050006000/
2.
https://devtalk.nvidia.com/default/topic/489965/cuda-programming-and-performance/gtx480-to-c2050-hack-or-unlocking-tcc-mode-on-geforce/post/3511598/#3511598
3.
http://www.davidgis.fr/blog/index.php?2013/09/18/969-xen-430-vga-passthrough-gtx-480-soft-moded-to-quadro-6000

As i understand they more-or-less describe the same procedure, i
compiled this sequence for myself.

1. my hardware is
http://www.gigabyte.us/products/product-page.aspx?pid=3600#ov

2. booted computer under natively installed Win7 32 bit, installed
driver from nvidia.com, gpu-z from techpowerup.com and saved .rom

3. looked up my gts 450 pci dev id which turns to be 0DC4 

# lspci -nn | grep -i vga
...
04:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF106
[GeForce GTS 450] [10de:0dc4] (rev a1)

4. looked up strap area values, taking endianness into account as asking
by 4 byte items (all four masks)

$ od -tx4 -Ax GF106.rom | grep -A 1 ^000050
000050 002a72e9 35031458 7ffc3fff 00004000
000060 7fffffff 80000000 4aa537e5 e9446ce9

5. wrote down 'and mask 0' and 'or mask 0' in binary form

PCI ID bits in mask
 Fxx4 xxxx xxxx xxxx xx32 10xx xxxx xxxx

and mask 0:
 7f        fc        3f        ff
 0111 1111 1111 1100 0011 1111 1111 1111

or mask 0:
 00        00        40        00
 0000 0000 0000 0000 0100 0000 0000 0000

6. my gts 450 pci id is according to lspci 0DC4 and
http://us.download.nvidia.com/XFree86/Linux-x86/331.20/README/supportedchips.html
 says Quadro 2000 is 0DD8, so in binary

GTS 450      -  0x0DC4  -  0000 1101 1100 0100
Quadro 2000  -  0x0DD8  -  0000 1101 1101 1000

i see 3 bits within 5 lower bits are different, good. 

7. Five special ID Bits (10-13 and 28) can be used to show to the driver
pci-id differently, and some of them need to be amended, i hope in my
case like this (i understand 'and mask' is for suppressing hardstrap bit
value into zero and 'or mask' is for making hardstrap value into one, as
driver sees them)

2nd bit in 'and mask 0' from 1 to 0
3rd bit in 'or mask 0' from 0 to 1
4th bit in 'or mask 0' from 0 to 1

so i get such new masks

'and mask 0':
 0111 1111 1111 1100 0010 1111 1111 1111

'or mask 0':
 0001 0000 0000 0000 0110 0000 0000 0000

they are in hex

new 'and mask 0': 7ffc 2fff
new 'or mask 0': 0100 6000

9. So all together and takining into account that 31th bit should be
always zero (so 'or mask 1' 8000 0000 gets 0000 0000) i need to issue
from dos prompt

C:\> nvflash --index=X --strap 0x7FFC2FFF 0x10006000 0x7fffffff
0x00000000

Please confirm i got to the right outcome assuming i had the input data
i started out from.

This is long letter already but i have some more questions

1. GPU-Z says my bios version is 70.06.13.00.01, do i need to update it
somehow before coversion into quadro or is it just all right? (and i
believe it is not tuned in any way)

2. in
https://devtalk.nvidia.com/default/topic/489965/cuda-programming-and-performance/gtx480-to-c2050-hack-or-unlocking-tcc-mode-on-geforce/post/3511598/#3511598
readers are instructed to change besides strap masks many other things
like pci dev id at 0x0000018E, Board boot string etc, are those changes
essential or rahter so to say cosmetic (and harmless to do)?
http://www.altechnative.net/2013/11/25/virtualized-gaming-nvidia-cards-part-3-how-to-modify-a-fermi-based-geforce-into-a-quadro-geforce-gts450gtx470gtx480-to-quadro-200050006000/
 isnt mentioning them.

3. a used usb dos boot material as guided at, i hope this is ok (it
contains windows millenium dos, nvflash v. 5.100.0.1)
http://www.techpowerup.com/forums/threads/guide-for-flashing-bios-of-nvidia-gpu.119955/

4. i didnt find Quadro 2000 .rom from
http://www.techpowerup.com/vgabios/, if anybody is willing to send it to
me, it would be interesting to look at (original or yet better gts
modified into quadro 2000)


Best regards,

Imre



_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.