Contribute
Register

8400GS Success! And some things I learned about Device IDs.

Status
Not open for further replies.
Joined
Feb 3, 2011
Messages
12
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
I have an ASUS EN8400GS/DI/512MD2(LP) and I wanted to post my successful method for enabling full graphics on 10.6.6, as well as some important things I learned about Device IDs.

I'm totally new to "hackintosh" (and the OS X platform) and I spent probably close to 25 hours figuring how things work and trying many many many different things, including GraphicsEnabler, NVEnabler, NVInject, editing DSDT (couldn't figure that out), and creating an EFI string. Nothing worked until now.

I found out about device IDs and found a piece of software called DPCIManager that was extremely helpful. Basically it lists all the device IDs and manufacturers of the cards that are plugged in to your computer.

Edit: I've found a utility that seems to be slightly better than DPCIManager. It's called LSPCI, and not only does it list the same info that DPCIManager does, it also attempts to show more information about the device, like the model or revision.

DPCIManager said my card was 10de:10c3. The first four characters represent the chipset designer of the card (NVidia) - so every NVidia card's full ID will start with 10de. The last four represent the device's ID, which differs depending on the manufacturer of the card (ASUS, MSI, etc) AND the specific card, even if the NVidia design model is the same. I checked, and ASUS sells four distinct models of the 8400GS, and they likely all have different device IDs!

For example, I have an "ASUS 512MB 8400GS" with a device ID of 10c3, and someone else, also with an "ASUS 512MB 8400GS" has a device ID of 06e4.

Lesson? Instructions/kexts/files intended for a particular card won't necessarily work for your card, even if the manufacturer, model number, and RAM size looks to be exactly the same! So if someone says, "this kext works for my ASUS 8400GS, drop it in this folder blah blah..." you shouldn't expect it to work just based on the fact that it matches your manufacturer and model.

Phew.

What ended up working for me was:

(1) finding the Device ID for my particular card, and appending it to /System/Library/Extensions/NVDANV50Hal.kext/Contents/Info.plist > the list of strings under IOPCIPrimaryMatch. There are a bunch of IDs already listed there, and mine wasn't one of them. Note: I couldn't see the IDs using Apple's Property List Editor, I had to use TextEdit because it was a multi-line string. Of course, you will have to repair permissions and update Extensions.mkext. Note: For some reason, MultiBeast wasn't updating my /S/L/Extensions.mkext (is it supposed to?), so I used Kext Utility to do so instead.

(2) Setting GraphicsEnabler to Yes. I had tried this many times before, but never in conjunction with the above additions to NVDANV50Hal.kext. Seems simple, but it took me a long time to find the right combination.

For all you noobs like me, don't give up. No one ever said this was going to be easy. This is a bit like walking around in a dark room, you bump randomly into furniture and it's a bit of a pain to get around, but gradually you learn where each piece of furniture is. Finally, you find the light switch, and look back and you can see exactly where you were.

Thanks to the TonyMacx86 team and the people that visit this forum. :D Now, to get my wireless card working... :rolleyes:
 
Thank you for the nice write up, very informative. Setting up a hackint0sh is an adventure, where part of the fun is figuring everything out.
 
freedumb2000 said:
Thank you for the nice write up, very informative. Setting up a hackint0sh is an adventure, where part of the fun is figuring everything out.

More than part of the fun... :thumbup: :thumbup: :thumbup:
 
LOL, that's funny, I've just got my 8400GS to work 2 days ago and, wouldn't you know it, it's a 0x10de10c3 also.
The funny part is that my 8400GS is a Gygabite 8400GS with 512MB DDR3 RAM and VGA/DVI/HDMI.

For me, to get it working, I had to enter my id into the GeForce, NVDANV50 and NVDResman kexts, install NVEnabler and have GraphicsEnabler set to Yes.
Now that it's working, I'm worried about removing NVEnabler to see if it'll work with only my modified kexts and GraphicsEnabler. :)

EDIT:
Nope, doesn't work without NVEnabler... I've even got the PCIRootUID in com.apple.boot.plist, but no dice.

EDIT2:
Just to clarify, I've got a dual screen set-up with one screen on VGA and the other one on HDMI. Unfortunately, when I use DVI and HDMI, I get picture on only one monitor so I have to have at least one of them on VGA. :|
 
bojzi said:
LOL, that's funny, I've just got my 8400GS to work 2 days ago and, wouldn't you know it, it's a 0x10de10c3 also.
The funny part is that my 8400GS is a Gygabite 8400GS with 512MB DDR3 RAM and VGA/DVI/HDMI.

For me, to get it working, I had to enter my id into the GeForce, NVDANV50 and NVDResman kexts, install NVEnabler and have GraphicsEnabler set to Yes.
Now that it's working, I'm worried about removing NVEnabler to see if it'll work with only my modified kexts and GraphicsEnabler. :)

EDIT:
Nope, doesn't work without NVEnabler... I've even got the PCIRootUID in com.apple.boot.plist, but no dice.

EDIT2:
Just to clarify, I've got a dual screen set-up with one screen on VGA and the other one on HDMI. Unfortunately, when I use DVI and HDMI, I get picture on only one monitor so I have to have at least one of them on VGA. :|

That's interesting... this essentially means that various methods for enabling graphics cards cannot be reliably specified, even given the exact ID. So it's necessary to keep trying different methods in order to get something to work. Thanks for mentioning that!
 
My old XFX 8400GS (06e4) worked with just GE=Yes, never needed to edit any kext or add an enabler. And about those id, they indeed are different chips, not something to do with the manufacturer, at least with the 8400 case. I'll post further info later, off to work now.
 
husky403 said:
What ended up working for me was:

(1) finding the Device ID for my particular card, and appending it to /System/Library/Extensions/NVDANV50Hal.kext/Contents/Info.plist > the list of strings under IOPCIPrimaryMatch. There are a bunch of IDs already listed there, and mine wasn't one of them. Note: I couldn't see the IDs using Apple's Property List Editor, I had to use TextEdit because it was a multi-line string. Of course, you will have to repair permissions and update Extensions.mkext. Note: For some reason, MultiBeast wasn't updating my /S/L/Extensions.mkext (is it supposed to?), so I used Kext Utility to do so instead.

(2) Setting GraphicsEnabler to Yes. I had tried this many times before, but never in conjunction with the above additions to NVDANV50Hal.kext. Seems simple, but it took me a long time to find the right combination.

For all you noobs like me, don't give up. No one ever said this was going to be easy. This is a bit like walking around in a dark room, you bump randomly into furniture and it's a bit of a pain to get around, but gradually you learn where each piece of furniture is. Finally, you find the light switch, and look back and you can see exactly where you were.

Thanks to the TonyMacx86 team and the people that visit this forum. :D Now, to get my wireless card working... :rolleyes:

I've posted a few times on the forum with the same question just trying to figure out what successes people are having with getting 64 bit mode to work under 10.6.6 with full graphics resolution / acceleration. My aim being to find out if it's worth trying to mess about with device id's and EFI strings to get my 6600GT working in 64 bit. (It is currently working 100% in 32 bit)

Could you tell me if the solution you posted is working in 64 bit mode under 10.6.6? I'd be really interested to know if anyone has achieved 100% device compatability for their graphics.
 
JonnyG said:
husky403 said:
What ended up working for me was:

(1) finding the Device ID for my particular card, and appending it to /System/Library/Extensions/NVDANV50Hal.kext/Contents/Info.plist > the list of strings under IOPCIPrimaryMatch. There are a bunch of IDs already listed there, and mine wasn't one of them. Note: I couldn't see the IDs using Apple's Property List Editor, I had to use TextEdit because it was a multi-line string. Of course, you will have to repair permissions and update Extensions.mkext. Note: For some reason, MultiBeast wasn't updating my /S/L/Extensions.mkext (is it supposed to?), so I used Kext Utility to do so instead.

(2) Setting GraphicsEnabler to Yes. I had tried this many times before, but never in conjunction with the above additions to NVDANV50Hal.kext. Seems simple, but it took me a long time to find the right combination.

For all you noobs like me, don't give up. No one ever said this was going to be easy. This is a bit like walking around in a dark room, you bump randomly into furniture and it's a bit of a pain to get around, but gradually you learn where each piece of furniture is. Finally, you find the light switch, and look back and you can see exactly where you were.

Thanks to the TonyMacx86 team and the people that visit this forum. :D Now, to get my wireless card working... :rolleyes:

I've posted a few times on the forum with the same question just trying to figure out what successes people are having with getting 64 bit mode to work under 10.6.6 with full graphics resolution / acceleration. My aim being to find out if it's worth trying to mess about with device id's and EFI strings to get my 6600GT working in 64 bit. (It is currently working 100% in 32 bit)

Could you tell me if the solution you posted is working in 64 bit mode under 10.6.6? I'd be really interested to know if anyone has achieved 100% device compatability for their graphics.

Hi JonnyG,

I just tried it in 64 bit, and to my surprise, it worked. I hadn't been running in 64 bit since I was having enough trouble getting my other devices to work and I figured 64 bit wouldn't help, but apparently the method above works in either mode (for me of course).

All things the same as above, just removed the i386 kernel flag.
 
husky403 said:
Hi JonnyG,

I just tried it in 64 bit, and to my surprise, it worked. I hadn't been running in 64 bit since I was having enough trouble getting my other devices to work and I figured 64 bit wouldn't help, but apparently the method above works in either mode (for me of course).

All things the same as above, just removed the i386 kernel flag.

Wow, I think you're the first person I've heard from that's managed that. I might give it a whirl later having given up on the whole thing a few weeks back. Where in the world are you? I sure could use someone who knows more about this stuff than me.
 
Status
Not open for further replies.
Back
Top