Jump to content

Graphics card in DSDT benefits


4 posts in this topic

Recommended Posts



I'm quite new to Hackintosh and did a lot of reading so far.

I have a Gigabyte GA-X58A-UD7 Rev.2 BIOS FC Motherboard and a Nvidia GTX460 card.

Now I want to know what benefit I would have to 'inject' my graphics card into my DSDT file.

Currently I'm using [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url]+GE+[url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] and the TonyMac Nvidia 'Fermi' drivers.

So basically what I want to know is:


-Is there a benefit of doing the graphics card in the DSDT?

-Will I still need the GE option if I put it in the DSDT?

-Can I upgrade anyhow when it is in the DSDT? eg. is it 'native vanilla'?


-is it possible to put my network and audio in the DSDT as well?


Hope somebody can help me with this because these are the last questions I can't figure out by reading the internet.





Link to comment
Share on other sites

  • 11 months later...

I basically had the same question. I understand the purpose of the DSDT file and I understand why you would want to use it, however what I really want to know is, are there benefits to using it? Will the hardware perform any better?


I figured I could piggy back onto this topic rather than create another.

Link to comment
Share on other sites

Put bluntly, the purpose of device injection, whether via DSDT, kext or device properties string, is to tell OS X what and where the injected device is. On a real Mac, this exchange is handled via Apple specific EFI ROM, which our BIOS based PC devices and motherboards don't have.


Unless your injection method (GraphicsEnabler, DSDT, Device Property String, SomeEnabler.kext) is broken, there can be no performance difference. Once you're done booting and arrive at the desktop, your injection method has served its purpose. It's the drivers that load for your hardware that are responsible for performance.


DSDT is part of your motherboard BIOS, and all of the code in it deals with fixed motherboard devices. Some will argue that code for add-on cards (like your video card) doesn't belong there.


Standard GTX 460 w/ device ID 0e22 works perfectly fine with Chameleon's GraphicsEnabler, which also allows you to override NVCAP, display-cfg and PciRoot if you need to. While DSDT injection allows for finer control over what's injected, the three that I mentioned are basically the only parameters that you would want to tweak anyway. So unless you'd like to see something like "Chant loves unicorns and rainbows" instead of "Nvidia GeForce GTX 460" under Graphics in System Profiler, then by all means use GraphicsEnabler=y.


The only instance where DSDT graphics injection is required* is when you want to use two video cards.


The main reason for patching the code for your on-board, wired ethernet in DSDT is to have OS X see it as internal and built-in. This is very important for compatibility, many apps will not work without it and some will even refuse to install. But EthernetBuiltin=y or an ethernet device properties string in /Extra/org.chameleon.Boot.plist both do the same thing.


You can add a "standard" HDEF device to your DSDT (or modify existing code to make it OS X compliant) but this is only done in order to make AppleHDA.kext load. In most cases you still need to modify AppleHDA.kext itself to make it work right with your hardware. HDAEnabler.kext does the same thing and you could probably cook up a device properties string for this as well.

If you don't have Intel HD compliant audio hardware, or if you are using VoodooHDA.kext for audio, adding a HDEF device to your DSDT is useless. In some cases it will result in kernel panics as it causes AppleHDA to load at the same time as VoodooHDA.


DSDT cannot drive hardware. If there is no driver that works with your hardware, doing anything to it via DSDT is a waste of time.

In some instances it is possible to trick a driver into loading for an unsupported device via DSDT but of course this only works for hardware that is very similar to already supported hardware. There's a pinned topic by zhell in the DSDT sub-forum that deals with this.


In a nutshell, DSDT patching is done mainly to improve compatibility (like fixing S3 sleep/wake for example) with hardware that is already supported by OS X. This is sometimes referred to as "injecting" because we "inject" properties (such as built-in) for a device into the IORegistry.


*NVEnabler.kext can inject two cards as well but I've never ever seen a topic or post documenting this.

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...