Jump to content

9500 GT 1GB DSDT Injection - Fully Working - DVI, VGA and HDMI


FKA
 Share

20 posts in this topic

Recommended Posts

The card has DVI, VGA, HDMI in that order with the DVI closest to the MB.

 

I have the card working full QE CI and QGL using DSDT injection.

 

When adding NVCAP you need to treat the HDMI port as TV out, I was thinking of it as a second DVI - which didn't work!

 

NVCAP ( 0400000000000b00040000000000000700000000) should read as follows in DSDT

 

                                "NVCAP", 
                               Buffer (0x18)
                               {
                                   /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 
                                   /* 0008 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 
                                   /* 0010 */    0x00, 0x00, 0x00, 0x00
                               }, 

 

Or if anyone want's the whole DSDT edit - replace everything under Device (PCI0 .... ) with

 

        Device (PCI0)
       {
           Device (PEGP)
           {
               Name (_ADR, 0x00010000)
               Device (GFX0)
               {
                   Name (_ADR, Zero)
                   Name (_SUN, One)
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x16)
                           {
                               "@0,compatible", 
                               Buffer (0x0B)
                               {
                                   "NVDA,NVMac"
                               }, 

                               "@0,device_type", 
                               Buffer (0x08)
                               {
                                   "display"
                               }, 

                               "@0,name", 
                               Buffer (0x0F)
                               {
                                   "NVDA,Display-A"
                               }, 

                               "@1,compatible", 
                               Buffer (0x0B)
                               {
                                   "NVDA,NVMac"
                               }, 

                               "@1,device_type", 
                               Buffer (0x08)
                               {
                                   "display"
                               }, 

                               "@1,name", 
                               Buffer (0x0F)
                               {
                                   "NVDA,Display-B"
                               }, 

                               "NVCAP", 
                               Buffer (0x18)
                               {
                                   /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 
                                   /* 0008 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 
                                   /* 0010 */    0x00, 0x00, 0x00, 0x00
                               }, 

                               "VRAM,totalsize", 
                               Buffer (0x04)
                               {
                                   0x00, 0x00, 0x00, 0x40
                               }, 

                               "device_type", 
                               Buffer (0x0D)
                               {
                                   "NVDA,GeForce"
                               }, 

                               "model", 
                               Buffer (0x0C)
                               {
                                   "nVidia 9500"
                               }, 

                               "rom-revision", 
                               Buffer (0x1A)
                               {
                                   "nVidia 9500 OpenGL Engine"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }
           }

           Name (_HID, EisaId ("PNP0A03"))
           Name (_ADR, Zero)
           Name (_UID, One)
           Name (_BBN, Zero)
           Method (_S3D, 0, NotSerialized)
           {
               If (LEqual (OSFL, 0x02))
               {
                   Return (0x02)
               }
               Else
               {
                   Return (0x03)
               }
           }

           Method (_STA, 0, NotSerialized)
           {
               Return (0x0F)
           }

           Method (_CRS, 0, NotSerialized)
           {
               Name (BUF0, ResourceTemplate ()
               {
                   WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
                       0x0000,             // Granularity
                       0x0000,             // Range Minimum
                       0x003F,             // Range Maximum
                       0x0000,             // Translation Offset
                       0x0040,             // Length
                       ,, )
                   IO (Decode16,
                       0x0CF8,             // Range Minimum
                       0x0CF8,             // Range Maximum
                       0x01,               // Alignment
                       0x08,               // Length
                       )
                   WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                       0x0000,             // Granularity
                       0x0000,             // Range Minimum
                       0x0CF7,             // Range Maximum
                       0x0000,             // Translation Offset
                       0x0CF8,             // Length
                       ,, , TypeStatic)
                   WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                       0x0000,             // Granularity
                       0x0D00,             // Range Minimum
                       0xFFFF,             // Range Maximum
                       0x0000,             // Translation Offset
                       0xF300,             // Length
                       ,, , TypeStatic)
                   DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                       0x00000000,         // Granularity
                       0x000A0000,         // Range Minimum
                       0x000BFFFF,         // Range Maximum
                       0x00000000,         // Translation Offset
                       0x00020000,         // Length
                       ,, , AddressRangeMemory, TypeStatic)
                   DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                       0x00000000,         // Granularity
                       0x000C0000,         // Range Minimum
                       0x000DFFFF,         // Range Maximum
                       0x00000000,         // Translation Offset
                       0x00020000,         // Length
                       ,, , AddressRangeMemory, TypeStatic)
                   DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                       0x00000000,         // Granularity
                       0x00100000,         // Range Minimum
                       0xFEBFFFFF,         // Range Maximum
                       0x00000000,         // Translation Offset
                       0xFFF00000,         // Length
                       ,, _Y00, AddressRangeMemory, TypeStatic)
               })
               CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._MIN, TCMM)
               CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._LEN, TOMM)
               Add (AMEM, 0x00010000, TCMM)
               Add (TCMM, 0x00010000, TCMM)
               Subtract (0xFEC00000, TCMM, TOMM)
               Return (BUF0)
           }

           Name (PICM, Package (0x16)
           {
               Package (0x04)
               {
                   0x001BFFFF, 
                   Zero, 
                   LNK0, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   Zero, 
                   LNKA, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   One, 
                   LNKB, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   0x02, 
                   LNKC, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   0x03, 
                   LNKD, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   Zero, 
                   LNKA, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   One, 
                   LNKB, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   0x02, 
                   LNKC, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   0x03, 
                   LNKD, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   Zero, 
                   LNKA, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   One, 
                   LNKB, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   Zero, 
                   LNK1, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   One, 
                   LNKD, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   0x02, 
                   LNKC, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   0x03, 
                   LNKA, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001FFFFF, 
                   One, 
                   LNKD, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001FFFFF, 
                   One, 
                   LNKD, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001FFFFF, 
                   0x02, 
                   LNKC, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   Zero, 
                   LNKA, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   One, 
                   LNKF, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   0x02, 
                   LNKC, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   0x02, 
                   LNKC, 
                   Zero
               }
           })
           Name (APIC, Package (0x16)
           {
               Package (0x04)
               {
                   0x001BFFFF, 
                   Zero, 
                   Zero, 
                   0x16
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   Zero, 
                   Zero, 
                   0x10
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   One, 
                   Zero, 
                   0x11
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   0x02, 
                   Zero, 
                   0x12
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   0x03, 
                   Zero, 
                   0x13
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   Zero, 
                   Zero, 
                   0x10
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   One, 
                   Zero, 
                   0x11
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   0x02, 
                   Zero, 
                   0x12
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   0x03, 
                   Zero, 
                   0x13
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   Zero, 
                   Zero, 
                   0x10
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   One, 
                   Zero, 
                   0x11
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   Zero, 
                   Zero, 
                   0x17
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   One, 
                   Zero, 
                   0x13
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   0x02, 
                   Zero, 
                   0x12
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   0x03, 
                   Zero, 
                   0x10
               }, 

               Package (0x04)
               {
                   0x001FFFFF, 
                   One, 
                   Zero, 
                   0x13
               }, 

               Package (0x04)
               {
                   0x001FFFFF, 
                   One, 
                   Zero, 
                   0x13
               }, 

               Package (0x04)
               {
                   0x001FFFFF, 
                   0x02, 
                   Zero, 
                   0x12
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   Zero, 
                   Zero, 
                   0x10
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   One, 
                   Zero, 
                   0x15
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   0x02, 
                   Zero, 
                   0x12
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   0x02, 
                   Zero, 
                   0x12
               }
           })
           Method (_PRT, 0, NotSerialized)
           {
               If (LNot (PICF))
               {
                   Return (PICM)
               }
               Else
               {
                   Return (APIC)
               }
           }

 

D.

Link to comment
Share on other sites

Can you please expand on this?

 

I am unable to get my Nvidia 9600GT card to boot properly period. I am not using NVInject. I copied your source code, what file do I edit to to try and get this to work?

 

I am VERY familiar with Unix based systems, but the OSX directory structure is a little unfamiliar to me still.

 

Any information would be greatly appreciated! I am having to boot into safe mode and run 1024x768.

 

I am running OSX 10.5.6 on a Dell 530 Desktop

 

Q6600

3GB 800mhz memory

Nvidia 9600 GT PCI-E

Realtek built in sound ALC888

PCI Ethernet card - DLINK

 

Thanks!

Link to comment
Share on other sites

Can you please expand on this?

 

I am unable to get my Nvidia 9600GT card to boot properly period. I am not using NVInject. I copied your source code, what file do I edit to to try and get this to work?

 

I am VERY familiar with Unix based systems, but the OSX directory structure is a little unfamiliar to me still.

 

Any information would be greatly appreciated! I am having to boot into safe mode and run 1024x768.

 

I am running OSX 10.5.6 on a Dell 530 Desktop

 

Q6600

3GB 800mhz memory

Nvidia 9600 GT PCI-E

Realtek built in sound ALC888

PCI Ethernet card - DLINK

 

Thanks!

 

This is using DSDT override.

you'll need to be using a bootloader that supports DSDT override, like latest chameleon or PC EFI.

 

you will need to extract your DSDT from BIOS and add this code to DSDT under PCI0 and place DSDT.aml in your /Extra folder.

 

See: koalala's DSDT ACPI patcher, fassl's DSDT patcherf etc etc ... for further reading.

 

you will also need to change model name and rom version in the code to suite your GPU. Or use koalala's patcher with your own BIOS ROM file to create your own custom DSDT.aml

 

D.

 

I've recently borrowed an nVidia 9500 GT 1024MB with a view to buying it for SL compatibility. (I have my 10.6 disk :) )

 

BTW - I'm keeping it - much cheaper option than buying 9800 or 250 ....

Link to comment
Share on other sites

The card has DVI, VGA, HDMI in that order with the DVI closest to the MB.

 

I have the card working full QE CI and QGL using DSDT injection.

 

When adding NVCAP you need to treat the HDMI port as TV out, I was thinking of it as a second DVI - which didn't work!

 

Is it possible to run triple display with this setup?

Link to comment
Share on other sites

Is it possible to run triple display with this setup?

 

Hi olav

 

I'm not 100% sure as I have only run VGA + HDMI and VGA + DVI>HDMI

 

What I do know is that if the HDMI port is used you will not get VGA out of the DVI port with a DVI to VGA converter but you do when HDMI port is not used - this could mean there is also no DVI out of the DVI port when HDMI port is used but I have no way to test.

 

FYI - Currently working just fine with Snow Leopard, 9500 GT recognised as OpenCL device.

Link to comment
Share on other sites

The card has DVI, VGA, HDMI in that order with the DVI closest to the MB.

 

I have the card working full QE CI and QGL using DSDT injection.

 

When adding NVCAP you need to treat the HDMI port as TV out, I was thinking of it as a second DVI - which didn't work!

 

NVCAP should read as follows in DSDT

 

...

 

D.

 

Hi,

 

I'm planning to buy a 9500GT. But I have some concerns about the performance. Can you make some benchmarking with Cinebench 10 and xbench 1.3. I know someone who get a terrible slow performance from an 9400GT, although QE/CI is on.

 

I have a Macbook Pro 13 which has a 9400M. The benchmarking results are:

 

Cinebench 10 OpenGL: 4532 points

 

Xbench 1.3:

System Info

Xbench Version 1.3

System Version 10.5.8 (9L30)

Physical RAM 2048 MB

Model MacBookPro5,5

Quartz Graphics Test 186.62

Line 167.04 11.12 Klines/sec [50% alpha]

Rectangle 220.35 65.79 Krects/sec [50% alpha]

Circle 181.87 14.83 Kcircles/sec [50% alpha]

Bezier 173.45 4.37 Kbeziers/sec [50% alpha]

Text 199.82 12.50 Kchars/sec

OpenGL Graphics Test 153.13

Spinning Squares 153.13 194.25 frames/sec

User Interface Test 300.70

Elements 300.70 1.38 Krefresh/sec

 

 

Asere

Link to comment
Share on other sites

Hi,

 

I'm planning to buy a 9500GT. But I have some concerns about the performance. Can you make some benchmarking with Cinebench 10 and xbench 1.3. I know someone who get a terrible slow performance from an 9400GT, although QE/CI is on.

 

I have a Macbook Pro 13 which has a 9400M. The benchmarking results are:

 

Cinebench 10 OpenGL: 4532 points

 

Xbench 1.3:

System Info

Xbench Version 1.3

System Version 10.5.8 (9L30)

Physical RAM 2048 MB

Model MacBookPro5,5

Quartz Graphics Test 186.62

Line 167.04 11.12 Klines/sec [50% alpha]

Rectangle 220.35 65.79 Krects/sec [50% alpha]

Circle 181.87 14.83 Kcircles/sec [50% alpha]

Bezier 173.45 4.37 Kbeziers/sec [50% alpha]

Text 199.82 12.50 Kchars/sec

OpenGL Graphics Test 153.13

Spinning Squares 153.13 194.25 frames/sec

User Interface Test 300.70

Elements 300.70 1.38 Krefresh/sec

 

 

Asere

I'll post results later but I actually noticed a 5 point increase in X-Bench score on 10.5 from swapping out my ATI 3650 DDR3

 

I will tell you the openCL bench's didn't come out great. will post them later also.

Link to comment
Share on other sites

Quartz Graphics Test	315.52	
Line	236.67	15.76 Klines/sec [50% alpha]
Rectangle	314.42	93.87 Krects/sec [50% alpha]
Circle	271.73	22.15 Kcircles/sec [50% alpha]
Bezier	284.20	7.17 Kbeziers/sec [50% alpha]
Text	804.95	50.35 Kchars/sec
OpenGL Graphics Test	106.45	
Spinning Squares	106.45	135.03 frames/sec

 

Galaxys @32k

 

post-275122-1254570686_thumb.png

post-275122-1254571339_thumb.png

post-275122-1254571372_thumb.png

 

I'll run more test when i get time

Link to comment
Share on other sites

Quartz Graphics Test	315.52	
Line	236.67	15.76 Klines/sec [50% alpha]
Rectangle	314.42	93.87 Krects/sec [50% alpha]
Circle	271.73	22.15 Kcircles/sec [50% alpha]
Bezier	284.20	7.17 Kbeziers/sec [50% alpha]
Text	804.95	50.35 Kchars/sec
OpenGL Graphics Test	106.45	
Spinning Squares	106.45	135.03 frames/sec

 

Galaxys @32k

 

Thanks a lot for the test. It looks not that bad as I thought. Can you include also the "User Interface Test" from Xbench?

 

What is Galaxys?

Link to comment
Share on other sites

  • 2 weeks later...

Hi,

the solution works fine.

However my VGA is my main Monitor. With this String i need to switch on the second Monitor,

otherwise i get no Output. Is it possible to turn change DVI and VGA Priority?

Which lines do i have to exchange then?

Thanks,

Mola

Link to comment
Share on other sites

Hi,

the solution works fine.

However my VGA is my main Monitor. With this String i need to switch on the second Monitor,

otherwise i get no Output. Is it possible to turn change DVI and VGA Priority?

Which lines do i have to exchange then?

Thanks,

Mola

 

I have the same problem - I use VGA as Main and have my HD LCD TV as second.

 

If I use the VGA port for the main monitor and the HDMI port for the second mon' everything is fine. (I'm happy with this setup.)

 

If I use the DVI port for my second mon' using DVI to HDMI converter, then i get nothing out of the VGA port UNTIL the OS has loaded. At which point it's 'A OK'

 

This is fine but I need to see BIOS and verbose mesages at boot without having to turn on my second mon'

 

If anybody has a fix for this please share.

 

D.

Link to comment
Share on other sites

PLEASE NOTE: From nVidia NVCAP on demand forum

"Keep in mind that many cards won't do DVI + TV out in OS X when physical outputs are only DVI + VGA + TV. Dual DVI cards have better chances to do TV out + DVI hotplugging TV when OS X is running and doing a "detect displays" "

 

http://nvinject.free.fr/forums/viewtopic.p...highlight=nvcap

 

D

Link to comment
Share on other sites

  • 5 months later...

Hello FormerlyKnownAs!

 

Thanks for this nice work.

 

The card has DVI, VGA, HDMI in that order with the DVI closest to the MB.

 

I have the card working full QE CI and QGL using DSDT injection.

 

When adding NVCAP you need to treat the HDMI port as TV out, I was thinking of it as a second DVI - which didn't work!

 

NVCAP ( 0400000000000b00040000000000000700000000) should read as follows in DSDT

 

Or if anyone want's the whole DSDT edit - replace everything under Device (PCI0 .... ) with

 

        Device (PCI0)
       {
           Device (PEGP)
           {
               Name (_ADR, 0x00010000)
               Device (GFX0)
               {
                   Name (_ADR, Zero)
                   Name (_SUN, One)
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x16)
                           {
                               "@0,compatible", 
                               Buffer (0x0B)
                               {
                                   "NVDA,NVMac"
                               }, 

                               "@0,device_type", 
                               Buffer (0x08)
                               {
                                   "display"
                               }, 

                               "@0,name", 
                               Buffer (0x0F)
                               {
                                   "NVDA,Display-A"
                               }, 

                               "@1,compatible", 
                               Buffer (0x0B)
                               {
                                   "NVDA,NVMac"
                               }, 

                               "@1,device_type", 
                               Buffer (0x08)
                               {
                                   "display"
                               }, 

                               "@1,name", 
                               Buffer (0x0F)
                               {
                                   "NVDA,Display-B"
                               }, 

                               "NVCAP", 
                               Buffer (0x18)
                               {
                                   /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 
                                   /* 0008 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 
                                   /* 0010 */    0x00, 0x00, 0x00, 0x00
                               }, 

                               "VRAM,totalsize", 
                               Buffer (0x04)
                               {
                                   0x00, 0x00, 0x00, 0x40
                               }, 

                               "device_type", 
                               Buffer (0x0D)
                               {
                                   "NVDA,GeForce"
                               }, 

                               "model", 
                               Buffer (0x0C)
                               {
                                   "nVidia 9500"
                               }, 

                               "rom-revision", 
                               Buffer (0x1A)
                               {
                                   "nVidia 9500 OpenGL Engine"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }
           }

           Name (_HID, EisaId ("PNP0A03"))
           Name (_ADR, Zero)
           Name (_UID, One)
           Name (_BBN, Zero)
           Method (_S3D, 0, NotSerialized)
           {
               If (LEqual (OSFL, 0x02))
               {
                   Return (0x02)
               }
               Else
               {
                   Return (0x03)
               }
           }

           Method (_STA, 0, NotSerialized)
           {
               Return (0x0F)
           }

           Method (_CRS, 0, NotSerialized)
           {
               Name (BUF0, ResourceTemplate ()
               {
                   WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
                       0x0000,             // Granularity
                       0x0000,             // Range Minimum
                       0x003F,             // Range Maximum
                       0x0000,             // Translation Offset
                       0x0040,             // Length
                       ,, )
                   IO (Decode16,
                       0x0CF8,             // Range Minimum
                       0x0CF8,             // Range Maximum
                       0x01,               // Alignment
                       0x08,               // Length
                       )
                   WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                       0x0000,             // Granularity
                       0x0000,             // Range Minimum
                       0x0CF7,             // Range Maximum
                       0x0000,             // Translation Offset
                       0x0CF8,             // Length
                       ,, , TypeStatic)
                   WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                       0x0000,             // Granularity
                       0x0D00,             // Range Minimum
                       0xFFFF,             // Range Maximum
                       0x0000,             // Translation Offset
                       0xF300,             // Length
                       ,, , TypeStatic)
                   DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                       0x00000000,         // Granularity
                       0x000A0000,         // Range Minimum
                       0x000BFFFF,         // Range Maximum
                       0x00000000,         // Translation Offset
                       0x00020000,         // Length
                       ,, , AddressRangeMemory, TypeStatic)
                   DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                       0x00000000,         // Granularity
                       0x000C0000,         // Range Minimum
                       0x000DFFFF,         // Range Maximum
                       0x00000000,         // Translation Offset
                       0x00020000,         // Length
                       ,, , AddressRangeMemory, TypeStatic)
                   DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                       0x00000000,         // Granularity
                       0x00100000,         // Range Minimum
                       0xFEBFFFFF,         // Range Maximum
                       0x00000000,         // Translation Offset
                       0xFFF00000,         // Length
                       ,, _Y00, AddressRangeMemory, TypeStatic)
               })
               CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._MIN, TCMM)
               CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._LEN, TOMM)
               Add (AMEM, 0x00010000, TCMM)
               Add (TCMM, 0x00010000, TCMM)
               Subtract (0xFEC00000, TCMM, TOMM)
               Return (BUF0)
           }

           Name (PICM, Package (0x16)
           {
               Package (0x04)
               {
                   0x001BFFFF, 
                   Zero, 
                   LNK0, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   Zero, 
                   LNKA, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   One, 
                   LNKB, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   0x02, 
                   LNKC, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   0x03, 
                   LNKD, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   Zero, 
                   LNKA, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   One, 
                   LNKB, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   0x02, 
                   LNKC, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   0x03, 
                   LNKD, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   Zero, 
                   LNKA, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   One, 
                   LNKB, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   Zero, 
                   LNK1, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   One, 
                   LNKD, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   0x02, 
                   LNKC, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   0x03, 
                   LNKA, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001FFFFF, 
                   One, 
                   LNKD, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001FFFFF, 
                   One, 
                   LNKD, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001FFFFF, 
                   0x02, 
                   LNKC, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   Zero, 
                   LNKA, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   One, 
                   LNKF, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   0x02, 
                   LNKC, 
                   Zero
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   0x02, 
                   LNKC, 
                   Zero
               }
           })
           Name (APIC, Package (0x16)
           {
               Package (0x04)
               {
                   0x001BFFFF, 
                   Zero, 
                   Zero, 
                   0x16
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   Zero, 
                   Zero, 
                   0x10
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   One, 
                   Zero, 
                   0x11
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   0x02, 
                   Zero, 
                   0x12
               }, 

               Package (0x04)
               {
                   0x0001FFFF, 
                   0x03, 
                   Zero, 
                   0x13
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   Zero, 
                   Zero, 
                   0x10
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   One, 
                   Zero, 
                   0x11
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   0x02, 
                   Zero, 
                   0x12
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   0x03, 
                   Zero, 
                   0x13
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   Zero, 
                   Zero, 
                   0x10
               }, 

               Package (0x04)
               {
                   0x001CFFFF, 
                   One, 
                   Zero, 
                   0x11
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   Zero, 
                   Zero, 
                   0x17
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   One, 
                   Zero, 
                   0x13
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   0x02, 
                   Zero, 
                   0x12
               }, 

               Package (0x04)
               {
                   0x001DFFFF, 
                   0x03, 
                   Zero, 
                   0x10
               }, 

               Package (0x04)
               {
                   0x001FFFFF, 
                   One, 
                   Zero, 
                   0x13
               }, 

               Package (0x04)
               {
                   0x001FFFFF, 
                   One, 
                   Zero, 
                   0x13
               }, 

               Package (0x04)
               {
                   0x001FFFFF, 
                   0x02, 
                   Zero, 
                   0x12
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   Zero, 
                   Zero, 
                   0x10
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   One, 
                   Zero, 
                   0x15
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   0x02, 
                   Zero, 
                   0x12
               }, 

               Package (0x04)
               {
                   0x001AFFFF, 
                   0x02, 
                   Zero, 
                   0x12
               }
           })
           Method (_PRT, 0, NotSerialized)
           {
               If (LNot (PICF))
               {
                   Return (PICM)
               }
               Else
               {
                   Return (APIC)
               }
           }

 

D.

 

 

I tried to edit - replace my DSDT file, but I get 2 errors during compiling. :wacko:

 

I realy don't know what I am did wrong. What is your opinion... should it work or do you have some motherbard specific parts within your PCI0-Code?

 

Do I have another option to include the NVCAP-DataString. I already tried EFI-Injection,...

But the string here 0400000000000b00040000000000000700000000 is in a wrong format. I don't know at the moment how I can change this string into the other data or ascii-format (AAAABBB....).

 

Any support is appreciated...! :)

 

Thanks a lot... Burzel

Link to comment
Share on other sites

Hey, thanks for this! I can't get DVI-HDMI working on my 9500 GT 1GB card.

 

I'm using DSDTSE to edit the dsdt file, when I save it, it tells me:

 

Device (PCI0)

{

Device (PEGP)

{

Name (_ADR, 0x00010000)

Device (GFX0)

{

Name (_ADR, Zero)

Name (_SUN, One)

Method (_DSM, 4, NotSerialized)

{

Store (Package (0x16)

{

"@0,compatible",

Buffer (0x0B)

{

"NVDA,NVMac"

},

 

"@0,device_type",

Buffer (0x08)

{

"display"

},

 

"@0,name",

Buffer (0x0F)

{

"NVDA,Display-A"

},

 

"@1,compatible",

Buffer (0x0B)

{

"NVDA,NVMac"

},

 

"@1,device_type",

Buffer (0x08)

{

"display"

},

 

"@1,name",

Buffer (0x0F)

{

"NVDA,Display-B"

},

 

"NVCAP",

Buffer (0x18)

{

/* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00,

/* 0008 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,

/* 0010 */ 0x00, 0x00, 0x00, 0x00

},

 

"VRAM,totalsize",

Buffer (0x04)

{

0x00, 0x00, 0x00, 0x40

},

 

"device_type",

Buffer (0x0D)

{

"NVDA,GeForce"

},

 

"model",

Buffer (0x0C)

{

"nVidia 9500"

},

 

"rom-revision",

Buffer (0x1A)

{

"nVidia 9500 OpenGL Engine"

}

}, Local0)

DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

Return (Local0)

}

}

}

 

Name (_HID, EisaId ("PNP0A03"))

Name (_ADR, Zero)

Name (_UID, One)

Name (_BBN, Zero)

Method (_S3D, 0, NotSerialized)

{

If (LEqual (OSFL, 0x02))

{

Return (0x02)

}

Else

{

Return (0x03)

}

}

 

Method (_STA, 0, NotSerialized)

{

Return (0x0F)

}

 

Method (_CRS, 0, NotSerialized)

{

Name (BUF0, ResourceTemplate ()

{

WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,

0x0000, // Granularity

0x0000, // Range Minimum

0x003F, // Range Maximum

0x0000, // Translation Offset

0x0040, // Length

,, )

IO (Decode16,

0x0CF8, // Range Minimum

0x0CF8, // Range Maximum

0x01, // Alignment

0x08, // Length

)

WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,

0x0000, // Granularity

0x0000, // Range Minimum

0x0CF7, // Range Maximum

0x0000, // Translation Offset

0x0CF8, // Length

,, , TypeStatic)

WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,

0x0000, // Granularity

0x0D00, // Range Minimum

0xFFFF, // Range Maximum

0x0000, // Translation Offset

0xF300, // Length

,, , TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x000A0000, // Range Minimum

0x000BFFFF, // Range Maximum

0x00000000, // Translation Offset

0x00020000, // Length

,, , AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x000C0000, // Range Minimum

0x000DFFFF, // Range Maximum

0x00000000, // Translation Offset

0x00020000, // Length

,, , AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x00100000, // Range Minimum

0xFEBFFFFF, // Range Maximum

0x00000000, // Translation Offset

0xFFF00000, // Length

,, _Y00, AddressRangeMemory, TypeStatic)

})

CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._MIN, TCMM)

CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._LEN, TOMM)

Add (AMEM, 0x00010000, TCMM)

Add (TCMM, 0x00010000, TCMM)

Subtract (0xFEC00000, TCMM, TOMM)

Return (BUF0)

}

 

Name (PICM, Package (0x16)

{

Package (0x04)

{

0x001BFFFF,

Zero,

LNK0,

Zero

},

 

Package (0x04)

{

0x0001FFFF,

Zero,

LNKA,

Zero

},

 

Package (0x04)

{

0x0001FFFF,

One,

LNKB,

Zero

},

 

Package (0x04)

{

0x0001FFFF,

0x02,

LNKC,

Zero

},

 

Package (0x04)

{

0x0001FFFF,

0x03,

LNKD,

Zero

},

 

Package (0x04)

{

0x001CFFFF,

Zero,

LNKA,

Zero

},

 

Package (0x04)

{

0x001CFFFF,

One,

LNKB,

Zero

},

 

Package (0x04)

{

0x001CFFFF,

0x02,

LNKC,

Zero

},

 

Package (0x04)

{

0x001CFFFF,

0x03,

LNKD,

Zero

},

 

Package (0x04)

{

0x001CFFFF,

Zero,

LNKA,

Zero

},

 

Package (0x04)

{

0x001CFFFF,

One,

LNKB,

Zero

},

 

Package (0x04)

{

0x001DFFFF,

Zero,

LNK1,

Zero

},

 

Package (0x04)

{

0x001DFFFF,

One,

LNKD,

Zero

},

 

Package (0x04)

{

0x001DFFFF,

0x02,

LNKC,

Zero

},

 

Package (0x04)

{

0x001DFFFF,

0x03,

LNKA,

Zero

},

 

Package (0x04)

{

0x001FFFFF,

One,

LNKD,

Zero

},

 

Package (0x04)

{

0x001FFFFF,

One,

LNKD,

Zero

},

 

Package (0x04)

{

0x001FFFFF,

0x02,

LNKC,

Zero

},

 

Package (0x04)

{

0x001AFFFF,

Zero,

LNKA,

Zero

},

 

Package (0x04)

{

0x001AFFFF,

One,

LNKF,

Zero

},

 

Package (0x04)

{

0x001AFFFF,

0x02,

LNKC,

Zero

},

 

Package (0x04)

{

0x001AFFFF,

0x02,

LNKC,

Zero

}

})

Name (APIC, Package (0x16)

{

Package (0x04)

{

0x001BFFFF,

Zero,

Zero,

0x16

},

 

Package (0x04)

{

0x0001FFFF,

Zero,

Zero,

0x10

},

 

Package (0x04)

{

0x0001FFFF,

One,

Zero,

0x11

},

 

Package (0x04)

{

0x0001FFFF,

0x02,

Zero,

0x12

},

 

Package (0x04)

{

0x0001FFFF,

0x03,

Zero,

0x13

},

 

Package (0x04)

{

0x001CFFFF,

Zero,

Zero,

0x10

},

 

Package (0x04)

{

0x001CFFFF,

One,

Zero,

0x11

},

 

Package (0x04)

{

0x001CFFFF,

0x02,

Zero,

0x12

},

 

Package (0x04)

{

0x001CFFFF,

0x03,

Zero,

0x13

},

 

Package (0x04)

{

0x001CFFFF,

Zero,

Zero,

0x10

},

 

Package (0x04)

{

0x001CFFFF,

One,

Zero,

0x11

},

 

Package (0x04)

{

0x001DFFFF,

Zero,

Zero,

0x17

},

 

Package (0x04)

{

0x001DFFFF,

One,

Zero,

0x13

},

 

Package (0x04)

{

0x001DFFFF,

0x02,

Zero,

0x12

},

 

Package (0x04)

{

0x001DFFFF,

0x03,

Zero,

0x10

},

 

Package (0x04)

{

0x001FFFFF,

One,

Zero,

0x13

},

 

Package (0x04)

{

0x001FFFFF,

One,

Zero,

0x13

},

 

Package (0x04)

{

0x001FFFFF,

0x02,

Zero,

0x12

},

 

Package (0x04)

{

0x001AFFFF,

Zero,

Zero,

0x10

},

 

Package (0x04)

{

0x001AFFFF,

One,

Zero,

0x15

},

 

Package (0x04)

{

0x001AFFFF,

0x02,

Zero,

0x12

},

 

Package (0x04)

{

0x001AFFFF,

0x02,

Zero,

0x12

}

})

Method (_PRT, 0, NotSerialized)

{

If (LNot (PICF))

{

Return (PICM)

}

Else

{

Return (APIC)

}

}

 

What am I doing wrong? I just copied and pasted what you put. Do I need to make my own NVCAP thing and put that in there?

Link to comment
Share on other sites

  • 3 weeks later...

I'm trying to get DVI>HDMI working on my system. I have a BFG 9800 GT 1G video card. I've done a lot of reading and all it has done is confuse me more. I think this is the route I need to take, but your DTST.aml looks different than mine. I don't know where to put the NVCAP values in my file or even if I'm using the correct method to fix my problem.

 

Can you please help, or at least point me in the right direction?

 

Thanks very much.

 

 

P.S. I've included my DSDT.aml

Link to comment
Share on other sites

Override the default chameleon NVCAP would work too:

 

<key>NVCAP_0640</key>
<string>0400000000000b00040000000000000700000000</string>

 

In that way you can still use the Graphic Enabler option.

I cannot test HDMI output but I can see the NVCAP in the IOREG, so it should have the same effect

 

Im using Chameleon_RC5Pre12

Link to comment
Share on other sites

  • 1 month later...

Anybody else have the Zotac Nvidia 1Gb 9500 GT with DVI, HDMI, and VGA (ordered from the motherboard up), but haven't been unable to find a fully working NVCAP? I found several that kind of worked (e.g. I got a black screen after boot if I used the DVI, but HDMI/VGA worked fine. DVI would work but only if I plugged it in after booting with something else in the HDMI port). Anyhoo, here's a working NVCAP that I was finally able to extract from my card's rom:

 

<key>NVCAP_0640</key>
<string>0400000000000100060000000000000700000000</string>

 

Hope this helps someone.

Link to comment
Share on other sites

 Share

×
×
  • Create New...