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

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

On 02/05/2014 04:08 PM, Imre Oolberg wrote:

Excuse my impatience but please if somebody could answer this. I am a
fan in using Xen at my desktop computer and it serves me well. Missing
piece is working Windows domU. From
http://wiki.xen.org/wiki/Xen_VGA_Passthrough_Tested_Adapters i got
exited about turning old nvidia gts 450 adapter into quadro 2000. And
reading achives people on this list seemed also to be enthusiastic about
it. So i managed to get me used but in good shape gts 450 and now i am
sitting on it, unsure to press enter to change contents of its flash :)


On Sat, 2014-02-01 at 01:52 +0200, Imre Oolberg wrote:

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

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


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

1. my hardware is

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
 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

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

That looks correct.

This is long letter already but i have some more questions

1. GPU-Z says my bios version is, 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)

Leave the BIOS alone - it won't make any difference.

2. in
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)?
 isnt mentioning them.

It is harmless and won't gain you anything either way. I can see the benefit of tidyness in changing the PCI ID to what you are changing it to, but the only thing that checks this is nvflash to warn you if you are trying to flash a BIOS with a different device ID onto the card. My advice would be to go with the lazy option and leave it alone. Just change the straps - it is sufficient.

3. a used usb dos boot material as guided at, i hope this is ok (it
contains windows millenium dos, nvflash v.

The Windows version of nvflash works just fine. No need to do it from DOS in general unless the Windows version is refusing to work for you for some obscure reason.

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)

You don't need it - it won't achieve anything other than potentially mess up your video outputs. Q2000 has 1xDVI + 2xDP - I am not aware of any GTS450 with that arrangement, so if you flash the Q2000 BIOS onto the GTS450 the chances are that you will lose output everything but the first DVI port.

Just flash the strap and enjoy in a VM.


Xen-users mailing list



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