Contribute
Register

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

Status
Not open for further replies.
husky403 said:
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:

Great post.

I've had a similar situation with an Asus EN8400GS card. I had tried to build up a machine for several days, but with no luck. Here's the fix I came up with, that now seems stable.

1. Build the machine with an old Geforce 7600 card using the standard iBoot / OS X Retail / Multibeast install method. Patch it up to 10.6.6.
2. Modify NVDANV50Hal.kext as outlined above the line I added was:
0x10c310de&0xff0ffff
3. Modify /Extra/com.apple.Boot.plist to include
PCIRootUID=1 under Kernal Flags

Done!
 
JonnyG said:
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.

I'm surprised to hear that I'm the first one you've heard of, although it makes sense since 64 bit support is relatively young. I'm in Seattle, although I really wouldn't be of much help... I'm still very much a noob at this myself :mrgreen:
 
edgeuser99 said:
husky403 said:
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.

(snip)

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

Great post.

I've had a similar situation with an Asus EN8400GS card. I had tried to build up a machine for several days, but with no luck. Here's the fix I came up with, that now seems stable.

1. Build the machine with an old Geforce 7600 card using the standard iBoot / OS X Retail / Multibeast install method. Patch it up to 10.6.6.
2. Modify NVDANV50Hal.kext as outlined above the line I added was:
0x10c310de&0xff0ffff
3. Modify /Extra/com.apple.Boot.plist to include
PCIRootUID=1 under Kernal Flags

Done!

Thanks for posting -- another anecdote that verifies that device IDs and models cannot be reliably correlated.

That device ID looks familiar. I think it might actually be one that I tried after reading a guide written "for the 8400GS." :lol: It was only later that I realized that I should be working off the device IDs that were detected on my own system.
 
RE: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.


Hi there, and thank you for your post.
I have a Zotac GeForce 8400 GS running in basic mode (no acceleration) in SL 10.6.6.
OSX tells me this about my card:
Vendor: 0x10de
Device ID: 0x06e4
Revision ID: 0x00a1
The list of strings under my IOPCIPrimaryMatch start off with an ID looking like this:
"0x00f010de&0xfff0ffff"
I used Text Edit to view the file, and I'm not sure if the OS will allow me to make any changes, but my biggest problem is how do I actually append my info into this file, when the ID's look like the one above?
Sorry, I have virtually almost no programming knowledge, and know very little about hexadecimals, but have managed to get everything working in SL, except for the graphics acceleration.
[After installing SL and running the updates, I did an 'Easybeast' install in Safe Mode,
and entered my screen resolution (1680x1050x32) into the com.apple.boot.plist file. If I run the NVEnabler, I just finish up with the dreaded 'black screen'.]

Thanking you (or anyone else who can help solve my problem) in anticipation ...
[If someone else has a different solution, I'd be pleased to hear about that, also.]
 
debac said:
RE: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.


Hi there, and thank you for your post.
I have a Zotac GeForce 8400 GS running in basic mode (no acceleration) in SL 10.6.6.
OSX tells me this about my card:
Vendor: 0x10de
Device ID: 0x06e4
Revision ID: 0x00a1
The list of strings under my IOPCIPrimaryMatch start off with an ID looking like this:
"0x00f010de&0xfff0ffff"
I used Text Edit to view the file, and I'm not sure if the OS will allow me to make any changes, but my biggest problem is how do I actually append my info into this file, when the ID's look like the one above?
Sorry, I have virtually almost no programming knowledge, and know very little about hexadecimals, but have managed to get everything working in SL, except for the graphics acceleration.
[After installing SL and running the updates, I did an 'Easybeast' install in Safe Mode,
and entered my screen resolution (1680x1050x32) into the com.apple.boot.plist file. If I run the NVEnabler, I just finish up with the dreaded 'black screen'.]

Thanking you (or anyone else who can help solve my problem) in anticipation ...
[If someone else has a different solution, I'd be pleased to hear about that, also.]

Hi there, sorry for the late reply. When you open the Info.plist, you will see the list of strings displayed something like this:

Code:
<key>IOPCIPrimaryMatch</key>
<string>0x000093af&0x0000ffff
0x00001234&0x0000ffff
0x00008284&0x0000ffff
0x00008283&0x0000ffff
0x00001028&0x0000ffff
</string>

I don't have access to my machine right now, so I can't say exactly what it looks like. But you get the idea. Simply add another line that looks exactly like one of those, and change the hex values to fit your ID.
 
Callum_Cc said:
husky403 said:
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.

(snip)

Thanks to the TonyMacx86 team and the people that visit this forum. :D Now, to get my wireless card working... :rolleyes:
Hello, this works perfect for me on 10.6.3 but when on any other update it hangs on a blue screen, I see the cursor and then it disappears? Any Idea?

Also it boots using -X but there is no transparent menu bar.

It's hard to say without seeing your logs. A useful method is to open up console and check your kernel.log. Make the boot fail and then make the boot work (using -x, right?), and check out the logs of both boots and compare. Everything will be timestamped so you can figure out which boot you're looking at.
 
Husky403: are you getting full hardware acceleration? Look at displays under system profiler. If you are it will say hardware acceleration: yes.

I am trying to figure out how to get hardware acceleration on my 9800gtx.


Mark.
 
n6yga said:
Husky403: are you getting full hardware acceleration? Look at displays under system profiler. If you are it will say hardware acceleration: yes.

I am trying to figure out how to get hardware acceleration on my 9800gtx.

Mark.

Yes, I am getting full hardware acceleration, otherwise known as QE/CI (Quartz Extreme/Core Image). But in Snow Leopard, you cannot use the method you detailed above to check if QE/CI is functional; the one you mentioned only works in Leopard and below. Apple removed that detail from the Displays category in System Profiler, presumably because every Mac that they sell supports hardware accelerated graphics. Of course, this presents a problem for us Hackintoshers.

The easiest way to check for QE/CI support in Snow Leopard is to run Front Row. Being an entirely QE and OpenGL-based application, it doesn't display anything if your hardware acceleration is non-functional.
 
JasonTechie said:
how to edit .kext file format?

Use search. That is about the simplest question anyone could ask, and you'd find an answer in literally three seconds with an intelligent Google search.

Also, can you make your signature picture smaller, or remove it? Thanks.
 
Status
Not open for further replies.
Back
Top