Jump to content

Alienware M17X---old dsdt doesn't work on mountain lion


z1326
 Share

15 posts in this topic

Recommended Posts

I use a dsdt.aml file to drive my graphics card on OSX 10.7.0. But this DSDT deosn't work on mountain lion.I've tried many method.But all of them failed.

 

Method 1: put the old dsdt.aml in /Extra/------Chameleon -v start up,stuck at "PCI Configuration Begin"

 

Method 2:use nvcap maker 1.4 to get the nvcap of my graphics card from the rom file,and use the OSX86 tools to generate the EFI-String,then add it to Chameleon.------get the right information about the graphics card in system report,but the resolution can not be changed, QE-CI didn't work,check the system report and I found NVDANV50Hal.kext NVResman.kext were not loaded

 

Method 3:add hardware ID into NVDANV50Hal.kext info.plist------black screen on system startup

 

Method 4:put the old dsdt.aml in /Extra/+add hardware ID into NVDANV50Hal.kext info.plist-----black screen again

 

Method 5:add EFI-String+add hardware ID into NVDANV50Hal.kext info.plist-----the resolution can be changed,but QE-CI didn't work

 

Method 6: I've got a IOPCIFamily.kext from another forum, put this kext in /Extra/Extensions helps with the "PCI Configuration Begin" problem.So I put it in /Extra/Extensions,then put the old dsdt.aml in /Extra.----the information about the graphics card was ok,the pci-slot information was also detected(in method 2 and 5,the pci---slot infromation was not displayed),but but the resolution can not be changed, QE-CI didn't work,check the system report and I found NVDANV50Hal.kext NVResman.kext were not loaded.

So after this I add hardware ID into NVDANV50Hal.kext info.plist again,unfortunately,black screen again.

 

My Systerm

Dell Alienware M17X laptop

CPU:Q9100 Quad-core

Chipset: NVIDIA MCP79

RAM:4GB DDR3 1333 x2

Harddisk: Samsung 830 SSD 128GB+ WD 1TB Harddisk

Graphics: NVIDIA 9400M G Integrated Graphics(shut off in BIOS settings before start Mac OS system)

NVIDIA GeForce GTX260M x2 (SLI,but this shouldn't cause any problem,in Mac OS,only one of them is used,the other one should be igored automaticly)

 

Kext in Extra/Extensions:AppleACPIPS2Nub.kext ApplePS2Controller.kext FakeSMC.kext IOAHCIBlockStorageInjector.kext

NullCPUPowerManagement.kext OpenHaltRestart.kext PlatformUUID.kext

Chameleon_2.1svn_r2028_trunk

DSDT problem.zip

There are 4 items in the attach fils---the old dsdt.aml which works fine in OSX 10.7.0,the information list of IORegistryExplorer,the ROM file of GTX 260M Graphics Card and the acpi_dsdt.bin file(I get this from the system information software Everest).

http://www.dell.com/...ware-m17x?s=dhs

And the BIOS file of my laptop can be downloaded here.

 

So I am sorry that I have to ask a favour of anyone, with the hope that he/she will help me to fix the dsdt file to make it effective in mountain lion.

(Sorry for my poor English,English is not my native language.)

Link to comment
Share on other sites

Why you need this?NullCPUPowerManagement.kext OpenHaltRestart.kext?Try without these,this is Puma,you have Q9100 Quad-core,only need good smbios.plist

Link to comment
Share on other sites

To HUSABER

These two items didn't cause any problems in 10.7.0.

NullCPUPowerManagement.kext without this the system won't start,chameleon -v mode will report panic.

OpenHaltRestart.kext when the system is shut off,the computer‘s power supply will remain whihout this.

Link to comment
Share on other sites

Aaaa OK now understand for what is this kext :thumbsup_anim: you take KP from VoodooHDA

Link to comment
Share on other sites

to bcc9:

In my bios there is a "Graphics Setting" menu under the "Advanced" label,and get in the "Graphics Setting" you can see 4 choices listed as "Hybrid Graphics" "Integrated Graphic" "PCIE Gen2" and "ASPM (L0s/L1)" ,each of them could be enabled or disabled. I assume the "Integrated Graphic" controls the 9400M G and the "PCIE Gen2" controls the GTX260M SLI. What do you think? Is that right?

I think it's not clear to me what those settings will do. I would verify with lspci what graphics hardware you actually have powered on (or check via windows if that is easier for you).

 

Apparently the NVDANV50Hal.kext was not loaded.So I inject the device-ID 086210de of my 9400M G into NVDANV50Hal.kext---info.plist

I don't think you're doing this right, as NVDANV50Hal's match clause is <key>IOPCIPrimaryMatch</key> ...

0x086010de & 0xffe0fff

 

that bitmask means it would match 10de:086*

so you wouldn't need to add anything to match 10de:0862

 

I guess I also don't understand what changed for you in 10.7 vs 10.8. I wonder if you were editing PCI match clauses in the nvidia kexts under 10.7?

For the dell 1340 we don't have to do any such editing, the matching works just fine for 9400m, 9400m+9200m (aka 9500m), or 9400m+g210m (in all cases the integrated 9400m hardware does the work under OSX and any discrete co-processor just sits there wasting power&heat).

So what's your devvice-ID of 9400M G? Is it 086210de?And is there a 9200mgs graphics card in your XPS 1340?

On the system I had:

03:00.0 VGA compatible controller [0300]: nVidia Corporation GeForce 9400M G [10de:0866] (rev b1)

others with the "9500m" model have the above 9400m part plus the 9200m gs:

 

02:00.0 VGA compatible controller: nVidia Corporation GeForce 9200M GS (rev a1)

with pci device id: 10de:06e8 for the 9200M GS co-processor.

 

 

BTW, last I checked, geniune macbooks with 9400m use pci id 10de:0863

By the way, in the system report, the Graphics is displayed as NVidia GeForce 9400M G,But the VRAM is only 4MB,and it became 3mb after put your smbios.plst and the org.chameleon.Boot.plist into /Extra.

My DSDT edit doesn't inject any VRAM size. If you're seeing that change, I suspect you're using GraphicsEnabler (which I used to have enabled in my org.chameleon.Boot.plist, but not in the current version in the dell 1340 thread).

GraphicsEnabler injects VRAM,totalsize.

Link to comment
Share on other sites

to bcc9:

 

1 It's a bad news for me that your devecd-ID of 9400M G is 0866,since mine is 0862,so maybe I cannot just take your DSDT without editing something.

 

2 I didn't edit anything except the items mentioned in the post.Each time before I try a new method I usually format the mac os disk and re-install the OSX system.I've been working on this for about 2 weeks.

 

3 if you want to make a DSDT,what informations or files do you need?Could you help to try to edit a DSDT for this Alienware M17X? I can provide the informations the specs and the files you need.Since both of our laptop have the NVIDIA MCP79 chipset and the two integrated graphics(9400M G 10de:0866 and 9400M G 10de:0862)are almost the same.So I assume that might be a easy job.Maybe just a few corrections from you previous one will work.

 

4 As mentioned in post#1,I use the deft,aml to make the GTX260M graphics work in 10.7.0,but it didn;t work in 10.8.

<1>Put it into the /Extra and the screen will freeze at "PCI Configuration Begin".

<2>Then if I inject the device-ID of GTX260M(0x061810de) into NVDANV50Hal.kext---info.plist I'll get a black screen.

<3>If I use the special IOPCIFamily.kext to get rid of "PCI Configuration Begin" and put the dsdt.aml into /Extra at the same time. The dsdt.aml was loaded and used.I could get into the system but there's no changeable resolution and no QE-CI effect.Apparently the NVDANV50Hal.kext nwas not loaded at that time.In 10.7.0 the dsdt.aml worked fine,and when system started with it,the NVDANV50Hal.kext will be loaded automaticlly.

I'm really confused by this.Do you have some idea.Or what kind of correction do you think will make the old dsdt,aml work fine in 10.8?

 

5 In the Hackintosh forum of my country I've got some news.It is said that in this forum there is a great guy call "The King" who knows a lot about Hackintosh.And he's graphics card is NVIDIA 9400,too.So he should know how to make this thing work.Is it true?

 

6 In your XPS1340 DSDT,what's the hardware location of 9400M G?I assume the"PCI0.IXVE.IGPU"is the 9400M G integrated graphics and the "PCI0.XVR0" is the 9200m gs or the g210M co-processor.Is that right?

Link to comment
Share on other sites

1 It's a bad news for me that your devecd-ID of 9400M G is 0866,since mine is 0862,so maybe I cannot just take your DSDT without editing something.

I don't think it should be a concern as I've shown that the driver is matching on a whole range of PCI ids, 32 of them, and that the macbook uses a different pci id for the 9400m than the 1340 yet the driver works fine for both.

3 if you want to make a DSDT,what informations or files do you need?Could you help to try to edit a DSDT for this Alienware M17X? I can provide the informations the specs and the files you need.Since both of our laptop have the NVIDIA MCP79 chipset and the two integrated graphics(9400M G 10de:0866 and 9400M G 10de:0862)are almost the same.So I assume that might be a easy job.Maybe just a few corrections from you previous one will work.

No, sorry I don't have time to edit dsdts (or plists) for other platforms.

Nvidia graphics injection is not difficult, you should read up on existing threads if you need help. Injection can work via dsdt, GraphicsEnabler or a plist-only kext.

One catch is you have to be sure you are injecting to the right PCI device, where right probably means the pci graphics device that is being used at boot time. With graphicsenabler, you can verify this with the diagnostic output using Wait=yes vs your lspci output. With the dsdt, you likely have 2 GPU Device entries to work with and you want to be editing the correct one (not both).

 

 

4 As mentioned in post#1,I use the deft,aml to make the GTX260M graphics work in 10.7.0,but it didn;t work in 10.8.

If you already have the right injection strings set up from 10.7 I don't know why we're discussing this - continue to use your working injection strings and debug what is really going on....

<1>Put it into the /Extra and the screen will freeze at "PCI Configuration Begin".

So then troubleshoot what is causing the system to hang. Have you tried my npci=0x2000 workaround? Other solutions include testing rolling back of IOPCIFamily or using a recompiled version that doesn't perform pci relocation.

Is the system really frozen or is it just the display? If the later, then try moving the nvidia kexts out of the way to verify that they are really the problem.

 

<2>Then if I inject the device-ID of GTX260M(0x061810de) into NVDANV50Hal.kext---info.plist I'll get a black screen.

Doesn't make sense, I've already shown that the 10.8 version of this kext matches on 10de:0618

 

<3>If I use the special IOPCIFamily.kext to get rid of "PCI Configuration Begin" and put the dsdt.aml into /Extra at the same time. The dsdt.aml was loaded and used.I could get into the system but there's no changeable resolution and no QE-CI effect.Apparently the NVDANV50Hal.kext nwas not loaded at that time.In 10.7.0 the dsdt.aml worked fine,and when system started with it,the NVDANV50Hal.kext will be loaded automaticlly.

I'm really confused by this.Do you have some idea.Or what kind of correction do you think will make the old dsdt,aml work fine in 10.8?

Ok so you are in fact having pci relocation problems. Also maybe you corrupted your kext since post #7 was suggesting replacing it? Does it load manually?

Check your ioregistry output (with ioreg) to verify that the nvidia injection strings are being inserted correctly. Compare your 10.7 ioregistry with 10.8.

5 In the Hackintosh forum of my country I've got some news.It is said that in this forum there is a great guy call "The King" who knows a lot about Hackintosh.And he's graphics card is NVIDIA 9400,too.So he should know how to make this thing work.Is it true?

Back in 2009 there were a lot more people using nvidia mcp79 based systems then there are now. (Back then intel's mobile solution required 3 chips vs 1 with nvidia so it made sense to put in effort to hackintosh nvidia's chipset). I remember he used to use such a system but I suspect he no longer personally does (like myself).

6 In your XPS1340 DSDT,what's the hardware location of 9400M G?I assume the"PCI0.IXVE.IGPU"is the 9400M G integrated graphics and the "PCI0.XVR0" is the 9200m gs or the g210M co-processor.Is that right?

Yes. You can definitively tell this by comparing the _ADR field for the Device declaration in the DSDT vs the lspci output.

 

In the 1340 thread, 9400m+g210m users are also reporting problems booting 10.8 with working graphics. There has been no troubleshooting done by those users, but maybe you guys are sharing a common problem.

Link to comment
Share on other sites

to bcc9:

-----Ok so you are in fact having pci relocation problems. Also maybe you corrupted your kext since post #7 was suggesting replacing it? Does it load manually?

Check your ioregistry output (with ioreg) to verify that the nvidia injection strings are being inserted correctly. Compare your 10.7 ioregistry with 10.8.

 

Each time before I try a new method I'll re-install the system so post #7's kext should not cause any problem.

 

I've tried sometimes these days and I've confirmed that in my platform,once the NVDANV50Hal.kext is loaded( I can tell this from the -v mode display),it will end up in black screen.I checked the plist of NVDANV50Hal.kext and NVResman.kext from 10.7 and 10.8 and compared them.I found there are IOPCICLASS=0x30000000(or something like that) and this doesn't exit in 10.7.

So can you figure out wht's the reason of the blackscreen?

 

And I have another question.If I decomplie a dsdt.aml file and get a dsdt.dsl,then I complie the dsl to aml again.Are the two aml files exactly the same?I decomplie my old aml used in 10.7 with iaslme and always found gibberish in the dsl.And I just can't complie the dsl back to aml because of iaslme's reporting error.

 

Last but not least,did you inject the deivce-ID (086610de) of your 9400M G into your DSDT.aml? If you did this,could you just change it to 086210de(the deivce-ID of my 9400M G) and complie it to a aml?Maybe this aml can be used in my platform.I assume that since in my bios I can shut the GTX260M SLI off then my platform become very similar to a XPS1340 with 9400M G only.

Link to comment
Share on other sites

I've tried sometimes these days and I've confirmed that in my platform,once the NVDANV50Hal.kext is loaded( I can tell this from the -v mode display),it will end up in black screen.I checked the plist of NVDANV50Hal.kext and NVResman.kext from 10.7 and 10.8 and compared them.I found there are IOPCICLASS=0x30000000(or something like that) and this doesn't exit in 10.7.

So can you figure out wht's the reason of the blackscreen?

 

No, I probably can't. You gotta figure out what is different between your 10.7 case vs 10.8 and or your 10.8 case and the working dell 1340 case with 10.8. Perhaps you can try your system with just the 9400m part enabled, since that's the known working case for 10.8 on the 1340.

 

And I have another question.If I decomplie a dsdt.aml file and get a dsdt.dsl,then I complie the dsl to aml again.Are the two aml files exactly the same?

They often differ as the BIOS vendors use a different AML compiler (Microsoft's) than us users (intel's). If you compile, decompile, compile, then you should get the same aml results across the two compiles.

I decomplie my old aml used in 10.7 with iaslme and always found gibberish in the dsl.And I just can't complie the dsl back to aml because of iaslme's reporting error.

I don't use iaslme so beats me (I compile under linux). That is, beats me if you're really getting giberish.

Having to clean up a couple compile errors is normal (as the microsoft and intel iasl compilers differ in what they allow).

Last but not least,did you inject the deivce-ID (086610de) of your 9400M G into your DSDT.aml? If you did this,could you just change it to 086210de(the deivce-ID of my 9400M G) and complie it to a aml?Maybe this aml can be used in my platform.I assume that since in my bios I can shut the GTX260M SLI off then my platform become very similar to a XPS1340 with 9400M G only.

You can't change the real pci device id (it's in read only pci memory) via dsdt, but, yes, you can inject a device-id string that is used by the iokit for matching purposes. This should be functionally the same as changing the match clause in the kext's Info.plist. Which again, I don't believe you're having a problem with. The nvidia driver is in fact loading, correct? (as seen via your ioreg output)? The driver would not be loaded if there was not a match.

 

Yes, I think testing with your gtx260m turned off is the way to narrow things down.

Link to comment
Share on other sites

to bcc9:

gibberish---I don't know if I"ve explained the situation correctly(sorry for my poor English),this word means some word which cannot be readed(some very strange characters).

 

I've heard of a conclusion in my own country's Hackintosh forum.It said that it's very hard to make a integrated graphics card work in PC-based OSX system unless this integrated graphics card have been used in real MAC(like Intel sandybridge HD 3000).and it will be much easier for a independent graphics card.So in the past I was quite unconfient in the 9400M G.

 

By the way,since you edit dsdt in linux.I've heard of a rumor that in Linux system you can type in some command in terminal then get the dsdt.aml directly.And this aml could be used in OSX. Is this true.

Link to comment
Share on other sites

  • 2 weeks later...

to bcc9:

 

I've been editing the dsdt code these days and finally I've solved the graphics problem.I've got the dual GTX260M work through DSDT injection under Mountain Lion so just ignore post#14.

 

But I've got some new problems.

 

Firstly,I must use an IOPCIFamily.KEXT to make the graphics work.IOPCIFamily.kext.zip If I don't put it under /Extra/Extensions,I'll got a black screen when the system start up.But if I use this I'll lose the wifi adapter(BroadCom BCM4322AG) which should effect immediately after the system installation since 10.6 Snow Leopard.Chameleon -v mode showed information such as "Can't load kext com.apple.driver.Airplay.BCM4331 - link failed".

So how did you get the wifi adapter of XPS1340 work.Can I make my BCM4322AG work through DSDT injection?

 

And I think my M17X R1 and your XPS1340 share the same audio solution and the pci-location of the audio should be the same.(My onboard audio is displayed as IDT 92HD73C1/92HDW74C1/92HDW74C2 in AIDA64. And the device-ID is displayed as "HDAUDIO\FUNC_01&VEN_111D&DEV_7675&SUBSYS_102802A1&REV_1001" in windows device manager").

 

Although I can dirve my audio by voodooHDA but there will be a lot of noise.So could you help me to inject the audio information into my dsdt to make it work?my dsdt is here.dsdt.zip It should be easy since the device and the pci-location are the same.

Link to comment
Share on other sites

 Share

×
×
  • Create New...