z1326 Posted August 11, 2012 Share Posted August 11, 2012 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 More sharing options...
HUSABER Posted August 11, 2012 Share Posted August 11, 2012 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 More sharing options...
z1326 Posted August 11, 2012 Author Share Posted August 11, 2012 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 More sharing options...
HUSABER Posted August 11, 2012 Share Posted August 11, 2012 Aaaa OK now understand for what is this kext you take KP from VoodooHDA Link to comment Share on other sites More sharing options...
z1326 Posted August 11, 2012 Author Share Posted August 11, 2012 VoodooHDA Is this the kext that is used for the audio? I use it in 10.7.0 to make the audio work。 Link to comment Share on other sites More sharing options...
HUSABER Posted August 11, 2012 Share Posted August 11, 2012 PUMA is diferent(So says my Mama) Link to comment Share on other sites More sharing options...
iFIRE Posted August 11, 2012 Share Posted August 11, 2012 try this kext and add your device id for your card:NVDANV50Hal_DP4.kext.zip Link to comment Share on other sites More sharing options...
z1326 Posted August 13, 2012 Author Share Posted August 13, 2012 to #6 OK I'll try it. to #7 I tried it and got another black screen. Link to comment Share on other sites More sharing options...
bcc9 Posted August 14, 2012 Share Posted August 14, 2012 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 More sharing options...
z1326 Posted August 14, 2012 Author Share Posted August 14, 2012 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 More sharing options...
bcc9 Posted August 15, 2012 Share Posted August 15, 2012 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 More sharing options...
z1326 Posted August 18, 2012 Author Share Posted August 18, 2012 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 More sharing options...
bcc9 Posted August 19, 2012 Share Posted August 19, 2012 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 More sharing options...
z1326 Posted August 19, 2012 Author Share Posted August 19, 2012 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 More sharing options...
z1326 Posted September 1, 2012 Author Share Posted September 1, 2012 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 More sharing options...
Recommended Posts