Jump to content

Asus Rampage IV Extreme X79 - Guide: Extract & Edit your own DSDT

Hackintosh DSDT Rampage IV X79 LGA 2011 Rampage IV Extreme R4E RIVE shilohhh

  • Please log in to reply
10 replies to this topic

#1
shilohhh

shilohhh

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
  • Gender:Male
  • Location:Texas

Using a DSDT that was extracted on a different build with different devices installed, may not work on your system even if you have an identical motherboard and BIOS.

If you still would like to try a DSDT edited and extracted by another, rampagedev is the best place to get it.


The DSDT edits in this guide are specifically for the Asus Rampage IV Extreme - Socket 2011 - X79 Motherboard, but some may work on similar systems.

This guide will walk you through extracting and editing a DSDT from your specific RIVE build using DSDTSE v2 beta.

 

Before We Start

A DSDT is a translation of your system's BIOS so:

1) Make sure you are updated to the BIOS you want to extract the DSDT from and set up your BIOS completely and correctly for your system.

2) Make sure you have all your PCI devices installed in the locations you want them before you continue.

3) Remove DSDT.aml from /Extra, if present, or reboot using the "DSDT=No" boot flag.
 

Getting Started

Download and open DSDTSE V2 Beta and my list of patches.

files.osx86.net/downloads.php?do=file&id=3099&act=down&actionhash=guest

http://www.insanelym...ttach_id=121230


On the main pane, click "Extract DSDT".

49117-screen-shot-2013-03-11-4-05-20-am.

Your DSDT will be extracted from your active BIOS in a "Decompiled" window.

49116-screen-shot-2013-03-11-4-06-05-am.

Click compile. You will be presented with a "Compile error" window.

49115-screen-shot-2013-03-11-4-06-46-am.

Click "OK". An "Error" window will open showing you all the current errors, warnings, and remarks.

49114-screen-shot-2013-03-11-4-07-07-am.

Note there are lots of errors. Close the window. Click "Fixcompile". The DSDT should compile successfully and another "Code" window will open. In the "Code" window, note that the DSDT's errors have all been fixed except for one warning.

49113-screen-shot-2013-03-11-4-07-41-am.

Close the "Code" window.

Patching

Open my list of DSDT Patches and lets start patching.

1) Add Method DTGP:
Copy "Method DTGP" from the list.

49134-screen-shot-2013-03-11-4-57-06-am.
Click on the right side of the " { " that follows the "DefinitionBlock". Hit the Right Arrow key. The cursor should be at the very start of the next line.

49110-screen-shot-2013-03-11-4-46-15-am.

Hit enter to make a space.

49109-screen-shot-2013-03-11-4-46-44-am.

Use the Up-Arrow key to move the cursor up to that space.

49108-screen-shot-2013-03-11-4-47-01-am.

Paste in "Method DTGP" there.

49112-screen-shot-2013-03-11-4-20-23-am.

You can change "Name (TMAC, "R4E 3404")" to read whatever you'd like it to. Example: Name (TMAC, "BIG BOB'S BIG DSDT"). I've only added this so I can see what version I've opened for future editing. Click "Fix Compile".

2) Cleaning up unnecessary stuff:
Note: This one is not necessary and adds no functionality.

Scroll down to Name (OSVR, Ones).

49107-screen-shot-2013-03-11-4-51-31-am.

Comment out the OS's.

49137-screen-shot-2013-03-11-4-52-04-am.

49136-screen-shot-2013-03-11-4-52-43-am.

Also see example in my list of DSDT patches. Click "Fix Compile".


3) Fix the SIOS Warning:
Copy "SIOS Warning" fix.

49135-screen-shot-2013-03-11-4-56-31-am.

Type "sios" in the search window and click search.

49133-screen-shot-2013-03-11-4-59-19-am.

Scroll to the bottom of the method and add a space right before the last " } " .

49132-screen-shot-2013-03-11-5-05-44-am.

Paste the fix in that space.

49131-screen-shot-2013-03-11-5-06-10-am.

Click "Fixcompile". Note that the last warning is no longer present in the "Code" widow that opens.

49130-screen-shot-2013-03-11-5-09-46-am.


4) Get the LPC controller to load and use native OS X kexts:

Copy the Device (SBRG) fix from the list.

49125-screen-shot-2013-03-11-5-35-33-am.

Search for "sbrg". Move the "Decompiled" window over to the left side of your screen so that the left side of the window is cut off right at the edge of the D in "Device (SBRG)".

49129-screen-shot-2013-03-11-5-23-13-am.

Scroll down until you find the " } " that lines up the the same spot as the D from "Device (SBRG)". This is where SBRG's sub device chain ends.

49128-screen-shot-2013-03-11-5-25-36-am.

Move the window back over so you can see all of the left side again. Select from right side of the " } " that you found, all the to the left edge.

49124-screen-shot-2013-03-11-5-35-58-am.

Paste over it with the Device (SBRG) fix from the list.

49126-screen-shot-2013-03-11-5-31-40-am.

Click "Fixcompile".

5) Remove dedicated IRQs from devices to later give them to the High Precision Event Timer:

Type "IRQNoFlags ()" without the " " into the search box.

49122-screen-shot-2013-03-11-5-38-34-am.

Click "Next". The first match will be in "Device (PIC)". Select from the right edge of "{2}" below it, all the way up to the far left edge of "IRQNoFlags ()".

49121-screen-shot-2013-03-11-5-39-59-am.

Hit Delete.

49120-screen-shot-2013-03-11-5-40-14-am.

Click next again. It should now find "{0}" in "Device (TMR)".

49119-screen-shot-2013-03-11-5-46-11-am.

Delete it.

49118-screen-shot-2013-03-11-5-48-41-am.

Click next. You should now find "{8}" in "Device (RTC0).

49156-screen-shot-2013-03-11-5-50-31-am.

Delete it.

Click next. You should find "{13}" in "Device (COPR)". Leave this one alone.

Click "Next". Continue the same process and delete all the "{1}"s from "Device (PS2K)".

49155-screen-shot-2013-03-11-5-54-18-am.

Delete all the "{12}"s from "Device (PS2M)".

49153-screen-shot-2013-03-11-6-09-41-am.

Note: If you are using a PS2 mouse or keyboard, you may need to find different IRQ values to use instead of {1} and {12}.

6) Give Device (HPET) 4 dedicated IRQ values to use so it doesn't try to steal any from USB:
Search "hpet" and paste in fix

49146-screen-shot-2013-03-11-6-34-28-am.

49145-screen-shot-2013-03-11-6-35-01-am.

49143-screen-shot-2013-03-11-6-35-27-am.

-as in my example on the list.
Click "Fixcompile".


7) Add sub-device "Device (BUS0)" to "Device (SMB)" to load native SMBus kexts:

Search "Device (SMB)"

49142-screen-shot-2013-03-11-6-39-55-am.

and paste in fix over the last " } " before the next device.

49141-screen-shot-2013-03-11-6-41-25-am.

49140-screen-shot-2013-03-11-6-42-33-am.

Also see my example on the list. "Fixcompile".


8) Add Device (HDEF) to the end of Device (PCI0) to enable onboard audio with the "Interim IvyBridge" kext from Toleda:

Search "Device (PCI0)". Find the end of the device chain the same way we did in the "Device (SBRG)" fix.

49139-screen-shot-2013-03-11-6-50-10-am.

It's a LONG ways down.
For me, the PCI0 device chain starts at line 1670 and ends at line 6286. Paste the fix over the last " } " in the device chain.

49138-screen-shot-2013-03-11-6-53-43-am.

49176-screen-shot-2013-03-11-6-54-27-am.

"Fixcompile".


9) Add AAPL,clock-id 2 to PEX1-4 to allow sleep (SleepEnabler.kext is necessary) while USB 3.0 storage is plugged in:

Search "Device (PEX" and hit next until you find "Device (PEX1)".

49175-screen-shot-2013-03-11-7-06-12-am.

Paste patch in between "Name" and "OperationRegion".

49174-screen-shot-2013-03-11-7-06-31-am.

49173-screen-shot-2013-03-11-7-06-41-am.

49171-screen-shot-2013-03-11-7-07-17-am.

Repeat for "Device (PEX2)", "Device (PEX3)", and "Device (PEX4)". Fixcompile.

Note: Any drives plugged into USB 3 ports will be force ejected upon wake. They will then automatically remount. This may be solved in the future with more USB 3.0 support from Apple.


Fixcompile.
 

Finishing Up

Click on the "Compile" tab to get into the compile section.

49161-screen-shot-2013-03-11-7-24-13-am.

Check the "Autofix errors" box and the "Fixes report" box. Click the "Compile" button.

49159-screen-shot-2013-03-11-7-27-25-am.

Click the "Gimme my DSDT" button. A finder window will open containing your edited DSDT. It will be named "DSDT.aml".

49158-screen-shot-2013-03-11-7-29-24-am.

Drag "DSDT.aml" into your "/Extra" folder. Delete or overwrite the old DSDT.aml if one is present. If you haven't installed a boot loader yet, and don't have an "/Extra" folder, place "DSDT.aml" in /Extra after you've installed a boot loader.










Verification

On the "Main Pane", in the second box, under "Registry Info", click "Get".

49117-screen-shot-2013-03-11-4-05-20-am.

This will open IORegistryExplorer and show you all the devices loaded and information about them.

1) In the search box of the newly opened IOReg window, enter "hpet". With HPET selected on the left twirl open the disclosure triangle for "IOInteruptSpecifiers".

49198-screen-shot-2013-03-11-10-53-19-pm

In the "Values" column, the first pair of numbers (they are displayed as Hexadecimals and you will need to convert them to decimal using something like HexDecBin.app)

49199-screen-shot-2013-03-11-10-53-44-pm

-are the IRQs that HPET is using. You should have, 0c (12), 08, 02, and 01.

2) Find "SBRG" and note that AppleLPC shows up as a sub-device and that it has the native OS X driver loaded.

49200-screen-shot-2013-03-11-10-57-51-pm

3) Find "SMB". Note that the device we added, "BUS0", shows up in the device tree and it is using the native OS X driver.

49201-screen-shot-2013-03-11-10-59-03-pm

4) At "EUSB" and "USBE", you should see the"AAPL,clock-id" we added.

49203-screen-shot-2013-03-11-11-02-20-pm

5) At "PEX1", "PEX2", "PEX3", and "PEX4", you should see the"AAPL,clock-id" we added.

49206-screen-shot-2013-03-11-11-19-29-pm

6) Note that "HDEF" should now be present and loaded.


49204-screen-shot-2013-03-11-11-07-02-pm

Attached Files



#2
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 2,017 posts
  • Gender:Male
Great work my friend.

#3
Lejenk

Lejenk

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,381 posts
  • Gender:Male
  • Location:Netherlands
Hi,

I really like this guide, but extracting the DSDT from within OSX, except if everything is functioning properly, is in my opinion the worst method.

The guide contains a lot of usefull information, so chapeau! :thumbsup_anim:.



PS: You can leave the current DSDT. DSDT=somefilename.aml does also work :)

#4
shilohhh

shilohhh

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
  • Gender:Male
  • Location:Texas

I really like this guide, but extracting the DSDT from within OSX, except if everything is functioning properly, is in my opinion the worst method.

Thanks!
Do you feel extracting from windows is better? and why? I assume using terminal would be the same as using DSDTSE?

Can you please outline your preferred method?

#5
Lejenk

Lejenk

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,381 posts
  • Gender:Male
  • Location:Netherlands
I prefer Windows and Linux to extract the DSDT, because they can access information from the bios, that OS X can not, so you will have a more correct DSDT from those OS'es. (Easier to fix/edit)

I'm bad at explaining, hope you get my point.

#6
shilohhh

shilohhh

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
  • Gender:Male
  • Location:Texas

I'm bad at explaining, hope you get my point.


I do. I had issues switching PCI cards and having to re-extract and edit. I guess that could have been avoided if I would have extracted without OS X loaded.

If I extracted in windows, is the DSDT affected by installed PCI card GPUs ect... Would I get the same DSDT no matter how many devices are Installed?

#7
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 2,017 posts
  • Gender:Male

I do. I had issues switching PCI cards and having to re-extract and edit. I guess that could have been avoided if I would have extracted without OS X loaded.

If I extracted in windows, is the DSDT affected by installed PCI card GPUs ect... Would I get the same DSDT no matter how many devices are Installed?


Sometime. I extracted the Gigabyte x79 DSDT's from the ROMS and they all work perfectly but the UD3 has to be extracted from the system or it will not work even if it is extracted from Windows.

#8
shilohhh

shilohhh

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
  • Gender:Male
  • Location:Texas
Can I extract 3404.ROM for the R4E?
If so, How?

#9
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 2,017 posts
  • Gender:Male

Can I extract 3404.ROM for the R4E?
If so, How?


I will have to dig up my notes for it as I last did it last year. That was the last time Gigabyte updated there BIOS.

#10
shilohhh

shilohhh

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
  • Gender:Male
  • Location:Texas

I will have to dig up my notes for it as I last did it last year. That was the last time Gigabyte updated there BIOS.

No biggie unless you think this could be a superior way to extract the DSDT.

#11
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 2,017 posts
  • Gender:Male

No biggie unless you think this could be a superior way to extract the DSDT.


No, not in my tests at least and you know how I test everything... lol





Also tagged with one or more of these keywords: Hackintosh, DSDT, Rampage IV, X79, LGA 2011, Rampage IV Extreme, R4E, RIVE, shilohhh


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy