Jump to content

Guide for Nvidia 8600m on 1064 - all outputs working


  • Please log in to reply
12 replies to this topic

#1
hotcorez

hotcorez

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 115 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!

#2
danofun

danofun

    InsanelyMac Protégé

  • Members
  • Pip
  • 15 posts
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.
Attached File  m1530.zip   68.64KB   168 downloads

#3
04152viki

04152viki

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 774 posts
HDMI video works. Without DVI adapter.
It lacks HDMI audio.

#4
luggi

luggi

    InsanelyMac Protégé

  • Members
  • PipPip
  • 60 posts
Don't work for me. I used the DSDT and Rom from danofun, got a wired looking screen. Have a M1530 with the Geforce 8600.

Please Help!

Luggi

#5
hotcorez

hotcorez

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 115 posts
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

#6
leokash

leokash

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 1 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!



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

#7
silentdragoon

silentdragoon

    InsanelyMac Protégé

  • Members
  • Pip
  • 21 posts
I too would like to know a little bit more about this -- I'm struggling with getting my 8600M GT working on my Inspiron 1520, and I'd like to see this rewritten to be a little bit more clear for newbs like me :wacko:

#8
hotcorez

hotcorez

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 115 posts
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....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 :)

#9
DanMcQ

DanMcQ

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts
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

#10
DanMcQ

DanMcQ

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts
UPDATE: SOLVED!!

http://www.insanelym...=0#entry1610561

#11
agingtechie

agingtechie

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 1 posts

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 ##### or ibootge or EFI or nawcom boot disk method?

#12
DanMcQ

DanMcQ

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts

How did you install the OSx ? was it a Tonymacx86 ##### 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.

#13
macdanny

macdanny

    InsanelyMac Protégé

  • Members
  • Pip
  • 40 posts
Has anyone gotten HDMI working on a Dell XPS M1330 with the 8400M GS? It worked with 10.6.2 but broke with update to 10.6.3.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy