Jump to content

Any good guide about editing DSDT?


jm_1990
 Share

8 posts in this topic

Recommended Posts

Hi. I want to know if there is any guide on internet about editing DSDT by my own. I don't like using kexts, they usually cause trouble. And the edited DSDT on the web don't work for me. I searched but i can't find anything where they explain how to edit a dsdt. Thanks!

Link to comment
Share on other sites

Which kexts do you want to replace?

 

I have a ASUS P8Z68-V PRO wich have a lot of extras that I don't use like 4 ports of USB 3.0, a Intel Ethernet, 2 SATA 3 (Marvell) and one eSATA (JMicron). There are kexts for this things but they don't work correctly, but for example i wanna use USB 3.0 in Windows, so I don't want to disable from the BIOS, i want to disable from the dsdt so only is disabled in Mac. The reboot and sleep don't work also with the dsdt i found on internet of this motherboard. Also don't work with EVO Reboot. I can't boot in 64 bits without NullCPUPowerManagement kext, it causes kernel panic with or without the edited DSDT. The audio don't work (ALC892) the same with or without the DSDT, without DSDT i tried a enabler and don't work. The thing is I wanna learn how to do it from my own, so I can't configure the way i want. Thanks.

Link to comment
Share on other sites

I too have to use the NullCPUPowerManagement.kext, or I KP regularly on boot with a Gigabyte motherboard using Cartri's Mod-BIOS from a year old installation and 10.6.8.

 

I think your simple (basic, but extremely important) point is lost on many who actually do the bulk of work around here and some of the other useful sites that provide support for hackintosh enthusiasts. We (the end users) would by and large like to be taught how to do the bulk of the work for our specific hardware ourselves. If there were a detailed guide explaining how to modify your DSDT file to address video card quirks (nVidia and ATI), LAN and wireless issues, sound cards, etc., I suspect that many users would have more questions, but they would be asked with knowledge and not just begging.

 

Sorry for my rant, but to paraphrase Bill Clinton, I feel your pain.

Link to comment
Share on other sites

We (the end users) would by and large like to be taught how to do the bulk of the work for our specific hardware ourselves.

Not going to happen, nobody is going to sit down and teach every single newbie, each with your specific hardware. That's science fiction.

Everybody here is an "end user". It works like this - you're lucky that somebody who had an issue with his Hackintosh discovered or taught himself how to fix it and then decided, for some reason, to share how he did it with the rest of us. If his hardware was similar to yours, then you're lucky again, maybe you can use the information. But you have to look for it and find it yourself.

 

If there were a detailed guide explaining how to modify your DSDT file to address video card quirks (nVidia and ATI), LAN and wireless issues, sound cards, etc., I suspect that many users would have more questions, but they would be asked with knowledge and not just begging.

Knowledge is gained by researching the subject you're interested in learning about. It's impossible to write a good, general guide on DSDT editing. Nobody writes guides for hardware that they don't have. People share what worked for them, on their hardware. There are tons and tons of code examples available for someone's specific hardware here on InsanelyMac and elsewhere, on personal blogs, other scene forums etc. Also some DSDT editors (DSDTSE for example) come with code examples, some even commented. You can even find some threads where you'll be able to follow somebody's research process, learn from his/her mistakes and even from the input from other users participating in the thread. Two great examples of this are the gargantuan "DSDT fixes for Gigabyte Boards" (right here in this sub-forum) and Master Chief's P5K Pro thread: http://www.insanelymac.com/forum/index.php?showtopic=188920

 

If you're new to DSDT editing and looking for "an easy way" one of the most important things you should know is to never use somebody else's DSDT, even if they have the same motherboard as you. Always extract your own and patch that instead. Be careful when copying/pasting code, this breaks the formatting in most cases and causes compiling errors. Make sure that the code you are pasting is properly formatted and aligned with existing code. Better yet, type it yourself.

 

Start by extracting your DSDT, decompile/open it in an editor, then try to compile it. It probably either won't compile at all, or it compiles but with errors and warnings. The first thing you should do is to try and fix them. Each compiling error or warning has a number + a standard error message that you can conveniently use as a search term. If your DSDT has it, someone else has had it too and the fix you find for it will, in most cases, work for you as well.

 

Tackle one issue at a time and remember that the Chameleon bootloader supports loading an alternative DSDT from the boot prompt using the command DSDT=foo.aml (place foo.aml in /Extra). This way you can experiment with various DSDTs, if you don't type anything Chameleon will load the default DSDT.aml.

Link to comment
Share on other sites

I'm not dumb. I use computers since I am six years old. I did a lot of thing from the basic to most advanced things. Much of my knowing is "auto-learning" but much more I learned from a guide or a manual or something. Nobody borns knowing. For example when I bought my first iPod I didn't know anything about digital video compression, I seached all the web, i read a lot of articles, and then i started using x264 from the command line to trascode all my videos to my iPod, and i know every parameter in x264, how it works, and all the possible result with every combination. Do you think i would know how to do it if anyone haven't posted a guide of how to use it? And after i learned that i helped guys like me, to understand the process and do it for them own.

The thing is I have no idea about DSDT. I edit mine, and all I see is a bunch of numbers that I don't understand what they mean. And nobody explains here that. All I see is a little group of users who edit tons of DSDT because users beg them. It would be so much easy if they explain to the users, and they do it for the own. Don't you think?

Link to comment
Share on other sites

if you really want to learn, and not just taking air, take some real time and read the ACPI spec: http://www.acpi.info/spec.htm - also read the spec for your chipset, this at least what the thread gringo is pointing you to is all about, in the thread he mention there is an incredible smart and contributing man and also various people helping him out, share all what they learned about acpi table into this one gigantic thread.

in hell there is no way you could learn it the easy way, ACPI tables are really complex things

but if you not that want to learn, then stick with google, the hackintosh community and the thread that already open about various DSDT fixes (and there are a lot of them, in all various ways)

Link to comment
Share on other sites

Thanks Noam for supporting my argument.

All I see is a little group of users who edit tons of DSDT because users beg them.

 

Then you're not looking hard enough. It's all here. It's just not "presented" in a nice way because people discover things as they go along and so the information is fragmented and scattered.

 

It's like I said, people work on the hardware they have, so if you can't find someone with hardware identical to yours you will have to mix and match and take what you can use from various different posts and threads, one fix here, one patch there.

 

I have an ASUS P5Q-E motherboard but almost all the fixes in the P5K Pro thread (link above) worked on my motherboard as well with very little modification. The coolest thing about that thread is that you can follow all the changes from a completely clean P5K Pro DSDT to a tricked out, optimized bare metal DSDT in the end. Each time a change was made, a new DSDT was uploaded, and they are full of comments that make it easy to track the changes.

 

Some of the code and ideas were usable even on my old (now retired) P4 Hackintosh that had an Asus motherboard with i865+ICH5 chipset.

 

As an example, If you have a motherboard with ICH7 Southbridge, you could use the same fixes for your USB ports as someone else with ICH7 - even if their motherboard is different. It makes it easier if the motherboard is from the same manufacturer, but even if you have a Gigabyte board and the fixes you find are for an ASUS board you should be able to use the same code with little modification.

 

Feel free to ask me anything, I don't know much but I might know at least where to find the information you need. I am not going to write a guide or edit your DSDT for you :-) but if you have specific questions maybe I can help push you in the right direction.

 

For example "I look at some numbers and I don't understand what they mean" is not specific, it's not something I can help you with. Google will not be able to help you with that either. Try to ask high quality questions :) then you might get some good answers.

Link to comment
Share on other sites

 Share

×
×
  • Create New...