Jump to content

Guide for Nvidia 8600m on 1064 - all outputs working


hotcorez
 Share

13 posts in this topic

Recommended Posts

Using the excellent nvenabler code in chameleon I have now created a working guide for Nvidia 8600m on 1064 to activate all outputs:-

 

Requires latest chameleon w/ GraphicsEnabler + mbp3,1 nvrom + DSDT gfx

 

This guide is for for laptops with 8600m GPU only and you will need to use the nvrom extracted from a macbook pro 3,1 if you have one.

 

the rom may work on desktop models as well but you will probably need to port your cards timings and power voltage settings over to the mbp3,1 rom using nbitor or direct rom editing (not tested)

 

1) Additional Bootflags = GraphicsEnabler=Yes VBIOS=Yes UseNvidiaROM=Yes

 

2) mbp3,1 nvrom placed in /Extra and renamed to 10de_04XX.rom XX=last 2 digits of your cards device id

 

3) DSDT gfx entry minus NVCAP placed under: Device (PEGP) / _ADR, 0x00010000 (details found off the net for a 9xxx model) :-

 

Device (GFX0)

{

Name (_ADR, Zero)

Name (_SUN, One)

Method (_DSM, 4, NotSerialized)

{

Store (Package ()

{

"@0,AAPL,boot-display",

Buffer (Zero) {},

"@0,backlight-control",

Buffer (0x04)

{

0x01, 0x00, 0x00, 0x00

},

 

"@0,built-in",

Buffer (Zero) {},

"@0,compatible",

Buffer (0x0B)

{

"NVDA,NVMac"

},

 

"@0,device_type",

Buffer (0x08)

{

"display"

},

 

"@0,fboffset",

Buffer (0x04)

{

0x00, 0x00, 0x03, 0x00

},

 

"@0,name",

Buffer (0x0F)

{

"NVDA,Display-A"

},

 

"@0,use-backlight-blanking",

Buffer (Zero) {},

"@1,can-hot-plug",

Buffer (Zero) {},

"@1,compatible",

Buffer (0x0B)

{

"NVDA,NVMac"

},

 

"@1,device_type",

Buffer (0x08)

{

"display"

},

 

"@1,name",

Buffer (0x0F)

{

"NVDA,Display-B"

},

 

"AAPL,aux-power-connected",

Buffer (0x04)

{

0x01, 0x00, 0x00, 0x00

},

 

"AAPL,backlight-control",

Buffer (0x04)

{

0x01, 0x00, 0x00, 0x00

},

 

"AAPL00,blackscreen-preferences",

Buffer (0x04)

{

0x00, 0x00, 0x00, 0x08

},

 

"AAPL01,blackscreen-preferences",

Buffer (0x04)

{

0x00, 0x00, 0x00, 0x08

},

 

"NVDA,Features",

Buffer (0x04)

{

0xFF, 0x02, 0xA0, 0x00

},

 

"VRAM,totalsize",

Buffer (0x04)

{

0x00, 0x00, 0x00, 0x10 /*<-- Ram Amount: 0x40 = 1024mb, 0x20= 512mb, 0x10= 256mb */

},

 

"device_type",

Buffer (0x0C)

{

"NVDA,Parent"

},

 

"model",

Buffer () /*<-- Blank entry ensures correct value is calculated and inserted on compile */

{

"GeForce 8600M XX" /*<-- Your Card Name */

},

 

"rom-revision",

Buffer ()

{

"60.84.XX.XX.XX" /*<-- ROM Revision (derivable using fassl's Nvidiainfo.app, nvclock OR nbitor) */

},

}

}, Local0)

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

Return (Local0)

}

 

I am not sure if you need all of these entries and brightness is not working. i think omitting nvcap ensures this is calculated correctly by graphicsenabler. If this all works for you, make a note of the working nvcap value from ioreg for future ref and if you wish to reincorporate this into your dsdt.

 

4) Optional revised replacement lid section (for working lid sleep and pnlf brightness entry)

 

note: you will need to rename the other remaining "LID" or other named entries in your dsdt to LID0 for this to compile :-

 

Scope (_SB)

{

Device (LID0)

{

Name (_HID, EisaId ("PNP0C0D"))

Method (_PRW, 0, NotSerialized)

{

Return (Package (0x02)

{

0x0B,

0x04

})

}

 

Name (LIDS, One)

Method (_LID, 0, NotSerialized)

{

Store (^^PCI0.LPCB.EC0.RPIN (0x06), LIDS)

XOr (LIDS, One, Local0)

If (Local0)

{

Notify (SLPB, 0x80)

}

 

Return (LIDS)

}

}

 

Device (PNLF)

{

Name (_HID, EisaId ("APP0002"))

Name (_CID, "backlight")

Name (_UID, 0x0C)

Name (_STA, 0x0B)

}

}

 

If anyone is interested in creating a custom .rom for a desktop 8600, please post their findings here and request assistance where necessary

 

nbitior may be a good tool. Please note, using a .ROM file in extra will influence voltage, timings and clocks etc

 

do not blame me if your GPU fries etc. Thats why a modded rom matching your own settings may be the best approach!

 

Monitor your temps using the latest slice fakesmc minus the x3100 and ati kexts to avoid kp!

 

Good luck with this and I hope that it works for you!

Link to comment
Share on other sites

  • 4 weeks later...

A huge thanks to hotcorez and the nvenabler team! I now have HDMI video (no Audio) on my XPS 1530m T7250 with 8600m GT (0407) running 10.6.4. Sleep, shutdown, USB, and VoodooHDA all seem to be working but if I am missing something please advise.

 

Attached is the necessary mbp3,1 VGA ROM (provided by hotcorez!), my CPU specific myDSDT.dsl file, compiled DSDT.aml, smbios.plist, and com.apple.Boot.plist. Yo can make your own custom DSDT by following this fantastic thread. As always, know the specifics of your machine before using any files and use these carefully and at your own risk.

m1530.zip

Link to comment
Share on other sites

  • 2 weeks later...

Hi Luggi,

 

I have been advised that voltage setting are set by the pc bios at boot (gfx is a module of the main bios, so you would have to replace GFX rom in bios to get voltage change)

 

however, the clock settings DO have an effect.

 

Extract you rom under windows using nvflash or under osx using nvclock or use mmtool or some other bios tool to extract the bios module from bios (think mmtool worked on AMI bios)

 

Open up your machines nvidia bios in one instance of nbitor (under windows or using wine form winebottler) and copy your clock setting onto the mac rom.

 

If you cannot find a mac rom, extract it from the EFI Update 1.5.1 (i think) using phoenix bios tool.

 

find the bootcamp bios (contains IBM PC and nvidia strings), edit it using hexeditor, remove small section before 55 and save it as .ROM (ends FF FF FF checksum byte)

 

Open your 8600m rom in another instance of nbitor and copy the clock settings across to the mac bios. Save it and try and use modded rom instead.

 

Also you can try a simpler DSDT to see if that helps. You can also remove the nvcap from the dsdt as graphics enabler will calculate it anyway, and it may be different on your laptop to mine

 

simpler DSDT :-

 

 

 

Device (GFX0)

{

Name (_ADR, Zero)

Name (_SUN, One)

Method (_DSM, 4, NotSerialized)

{

Store (Package ()

{

"@0,built-in",

Buffer (Zero) {},

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

},

 

"VRAM,totalsize",

Buffer (0x04)

{

0x00, 0x00, 0x00, 0x10 /*<-- Ram Amount: 0x40 = 1024mb, 0x20= 512mb, 0x10= 256mb */

},

 

"device_type",

Buffer (0x0C)

{

"NVDA,Parent"

},

 

"model",

Buffer () /*<-- Blank entry ensures correct value is calculated and inserted on compile */

{

"GeForce 8600M XX" /*<-- Your Card Name */

},

 

"rom-revision",

Buffer ()

{

"60.84.XX.XX.XX" /*<-- ROM Revision (derivable using fassl's Nvidiainfo.app, nvclock OR nbitor) */

},

}

}, Local0)

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

Return (Local0)

}

 

Hope this helps and let me know if i made stupid mistake!!

 

Cheers,

 

HC

Link to comment
Share on other sites

  • 2 weeks later...
Using the excellent nvenabler code in chameleon I have now created a working guide for Nvidia 8600m on 1064 to activate all outputs:-

 

Requires latest chameleon w/ GraphicsEnabler + mbp3,1 nvrom + DSDT gfx

 

This guide is for for laptops with 8600m GPU only and you will need to use the nvrom extracted from a macbook pro 3,1 if you have one.

 

the rom may work on desktop models as well but you will probably need to port your cards timings and power voltage settings over to the mbp3,1 rom using nbitor or direct rom editing (not tested)

 

1) Additional Bootflags = GraphicsEnabler=Yes VBIOS=Yes UseNvidiaROM=Yes

 

2) mbp3,1 nvrom placed in /Extra and renamed to 10de_04XX.rom XX=last 2 digits of your cards device id

 

3) DSDT gfx entry minus NVCAP placed under: Device (PEGP) / _ADR, 0x00010000 (details found off the net for a 9xxx model) :-

 

Device (GFX0)

{

Name (_ADR, Zero)

Name (_SUN, One)

Method (_DSM, 4, NotSerialized)

{

Store (Package ()

{

"@0,AAPL,boot-display",

Buffer (Zero) {},

"@0,backlight-control",

Buffer (0x04)

{

0x01, 0x00, 0x00, 0x00

},

 

"@0,built-in",

Buffer (Zero) {},

"@0,compatible",

Buffer (0x0B)

{

"NVDA,NVMac"

},

 

"@0,device_type",

Buffer (0x08)

{

"display"

},

 

"@0,fboffset",

Buffer (0x04)

{

0x00, 0x00, 0x03, 0x00

},

 

"@0,name",

Buffer (0x0F)

{

"NVDA,Display-A"

},

 

"@0,use-backlight-blanking",

Buffer (Zero) {},

"@1,can-hot-plug",

Buffer (Zero) {},

"@1,compatible",

Buffer (0x0B)

{

"NVDA,NVMac"

},

 

"@1,device_type",

Buffer (0x08)

{

"display"

},

 

"@1,name",

Buffer (0x0F)

{

"NVDA,Display-B"

},

 

"AAPL,aux-power-connected",

Buffer (0x04)

{

0x01, 0x00, 0x00, 0x00

},

 

"AAPL,backlight-control",

Buffer (0x04)

{

0x01, 0x00, 0x00, 0x00

},

 

"AAPL00,blackscreen-preferences",

Buffer (0x04)

{

0x00, 0x00, 0x00, 0x08

},

 

"AAPL01,blackscreen-preferences",

Buffer (0x04)

{

0x00, 0x00, 0x00, 0x08

},

 

"NVDA,Features",

Buffer (0x04)

{

0xFF, 0x02, 0xA0, 0x00

},

 

"VRAM,totalsize",

Buffer (0x04)

{

0x00, 0x00, 0x00, 0x10 /*<-- Ram Amount: 0x40 = 1024mb, 0x20= 512mb, 0x10= 256mb */

},

 

"device_type",

Buffer (0x0C)

{

"NVDA,Parent"

},

 

"model",

Buffer () /*<-- Blank entry ensures correct value is calculated and inserted on compile */

{

"GeForce 8600M XX" /*<-- Your Card Name */

},

 

"rom-revision",

Buffer ()

{

"60.84.XX.XX.XX" /*<-- ROM Revision (derivable using fassl's Nvidiainfo.app, nvclock OR nbitor) */

},

}

}, Local0)

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

Return (Local0)

}

 

I am not sure if you need all of these entries and brightness is not working. i think omitting nvcap ensures this is calculated correctly by graphicsenabler. If this all works for you, make a note of the working nvcap value from ioreg for future ref and if you wish to reincorporate this into your dsdt.

 

4) Optional revised replacement lid section (for working lid sleep and pnlf brightness entry)

 

note: you will need to rename the other remaining "LID" or other named entries in your dsdt to LID0 for this to compile :-

 

Scope (_SB)

{

Device (LID0)

{

Name (_HID, EisaId ("PNP0C0D"))

Method (_PRW, 0, NotSerialized)

{

Return (Package (0x02)

{

0x0B,

0x04

})

}

 

Name (LIDS, One)

Method (_LID, 0, NotSerialized)

{

Store (^^PCI0.LPCB.EC0.RPIN (0x06), LIDS)

XOr (LIDS, One, Local0)

If (Local0)

{

Notify (SLPB, 0x80)

}

 

Return (LIDS)

}

}

 

Device (PNLF)

{

Name (_HID, EisaId ("APP0002"))

Name (_CID, "backlight")

Name (_UID, 0x0C)

Name (_STA, 0x0B)

}

}

 

If anyone is interested in creating a custom .rom for a desktop 8600, please post their findings here and request assistance where necessary

 

nbitior may be a good tool. Please note, using a .ROM file in extra will influence voltage, timings and clocks etc

 

do not blame me if your GPU fries etc. Thats why a modded rom matching your own settings may be the best approach!

 

Monitor your temps using the latest slice fakesmc minus the x3100 and ati kexts to avoid kp!

 

Good luck with this and I hope that it works for you!

 

 

sorry but im a noob when it comes to macs!! im running my macOS from vmware but i cant play movies coz the nvidia drivers are not present!!

 

im trying to follow your tutorial but i cant find the files to edit... where am i supposed to find them?

 

thankx

Link to comment
Share on other sites

hi guys,

 

sometimes you need to read up on stuff before you can understand it!

 

for vmware i have no idea if you can use dsdt

 

for normal user who doesn't know dsdt or chameleon, do some research!

 

try to find an app called dsdte, it will all become clear when you use that!

 

make sure the mbp3,1 nvidia rom in /Extra matches your actual bios vid_did on the card, ie 10de_0407.rom if thats your id. use lspci to check your gfx id or extract your gfx rom off your laptop and view it under nbitor / advanced settings

 

you could also add/change you gfx device id in DSM section in your dsdt, so you could change your gfx id etc to match a mac compatable card. as you can see see below the bytes are swapped in hex :

 

"device-id",

Buffer (0x04)

{

0x07, 0x04, 0x00, 0x00

},

 

"vendor-id",

Buffer (0x04)

{

0xDE, 0x10, 0x00, 0x00

},

 

you could also try using the 8600 rom on an 8400 etc. just make sure the clocks are not too high for your card. nbitor is your friend!

 

it does seem to have a different chip tho so not sure if it world work

 

http://en.wikipedia.org/wiki/Comparison_of...8xxxM.29_series

 

tbh, we need some fixes so we can get hdmi workng on all the 8xxx series and above using our original roms, using an improved graphics enabler

 

I also have no idea if a 256mb rom will be compatible with a 512mb card tho for instance, so you'll have to test it yourself or find a more compatible mac bios if it exists!

 

please note that this .rom stuff is only necessary if you want to run hdmi on nvidia 8xxx laptops

 

hope that helps :)

Link to comment
Share on other sites

  • 1 month later...

I've been running stock 10.6.5 using a custom DSDT.aml (NO NVEnabler or other injector) which has allowed me to run my 8600m GT at full resolution with all features EXCEPT for HDMI-> HDMI (HDMI->DVI works fine). When I tried this method (in order to try and get HDMI->HDMI working) using NVEnabler the max resolution was 1024x768 (although, HDMI out did work - which is my goal). Any ideas as to how I might be able to solve this? Like I said before, the system is a completely vanilla snow leopard install running 10.6.5

 

M1530 - T9500 -- 8600m GT

Link to comment
Share on other sites

I've been running stock 10.6.5 using a custom DSDT.aml (NO NVEnabler or other injector) which has allowed me to run my 8600m GT at full resolution with all features EXCEPT for HDMI-> HDMI (HDMI->DVI works fine). When I tried this method (in order to try and get HDMI->HDMI working) using NVEnabler the max resolution was 1024x768 (although, HDMI out did work - which is my goal). Any ideas as to how I might be able to solve this? Like I said before, the system is a completely vanilla snow leopard install running 10.6.5

 

M1530 - T9500 -- 8600m GT

 

 

How did you install the OSx ? was it a Tonymacx86 [url=&quot;http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/&quot;]#####[/url] or ibootge or EFI or nawcom boot disk method?

Link to comment
Share on other sites

How did you install the OSx ? was it a Tonymacx86 [url=&quot;http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/&quot;]#####[/url] or ibootge or EFI or nawcom boot disk method?

 

 

I used the latest version of the Chameleon bootloader (v2 rc5 I believe) and simply ran the retail Snow Leopard install DVD.

Link to comment
Share on other sites

  • 6 months later...
 Share

×
×
  • Create New...