AMD 7xxx Working With Full QE (Updated12-7-2012)

About:

As of Mac OS X 10.8.3 Apple has added the ATI7000Controller.kext which enables AMD 7xxx Series using DSDT injection. The device ID for the AMD 7850 is currently not present. Currently you must have a Apple Developers Account to obtain the update. You can see the IOreg here. DSDT code can be found on step 5 of my guide. For users who are stuck at a white screen put your computer to sleep while at the white screen with the power button. Then  wake the system and the card should now work. Also use Chutoro if the default Framebuffer does not work.

btn_donatecc_lg

Guide:

Watch my video guide on how to use the code here and then proceed with the guide.

1. Open your saved IOreg file and locate the address location of your AMD/ATI graphic card and copy the entire Device associated with that address. This will look like (Device) POP1 or (Device) NPE3 for example.

2. Now open your DSDT from your Extra folder and search for PEGP or PEG0 in your DSDT. If you locate these device you have the HDMI audio edit for AMD/ATI GPU’s. If you do not locate these devices look for the address that your recorded for your GPU from your IOreg.

3. Now download this text document here

4. Open the text document and look at the following code:

Device (PEGP)
{
Name (_ADR, 0x00020000)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR02 ())
}
Return (PR02 ())
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Device (GFX0)

5. Now if you have the HDMI edits already (If you do not have the HDMI edits skip to step 6) in place copy all of the code from Device (PEGP) to Device (GFX0) and paste it over the code above in the text document. For example the following is what my code for my Graphic Card Address looks like:

Device (PEG0)
{
Name (_ADR, 0x00020000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR23)
}
Return (PR23)
}
Device (GFX0)

Note your information may look different and you may have more or less to copy over.

6. If you do not have the HDMI edits already you will copy the information with in the device address. For example the following is my code before the edits:

Device (NPE3)
{
Name (_ADR, 0x00020000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR23)
}
Return (PR23)
}
}

When I inserted the code into my text document that I have provided the top look like the following:

Device (PEGP)
{
Name (_ADR, 0x00020000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR23)
}
Return (PR23)
}
Device (GFX0)

Note your information may look different and you may have more or less to copy over.

7. Now in your text document find the following notes and replace the information that you have recorded earlier:

/** Change to your GPU Model **/

/** Change to your Device ID **/

0x98, 0x67, 0x00, 0x00 (AMD HD 7970)
0x9A, 0x67, 0x00, 0x00  (AMD HD 7950)
0x18, 0x68, 0x00, 0x00  (AMD HD 7870)
0x3D, 0x68, 0x00, 0x00 (AMD HD 7770)
0x3F, 0x68, 0x00, 0x00 (AMD HD 7750)

Experimental:

0x18, 0x68, 0x00, 0x00  (AMD HD 7850)
0x3F, 0x68, 0x00, 0x00 (AMD HD 7670)
0x3F, 0x68, 0x00, 0x00 (AMD HD 7650)

8. Now you are ready to copy the entire code from your text document and paste it over the original location. For example I pasted over the following code in my DSDT:

Device (NPE3)
{
Name (_ADR, 0x00020000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR23)
}
Return (PR23)
}
}

9. Now compile your DSDT and you will receive the following error:

Object does not exist (\_SB.PCI.NPE3)

Note: This was from my DSDT and your error could be different

10. Now go to the line that the error references and you will be changing the address to match PEGP. The following is what my code look after I had replaced the name:

 Notify (\_SB.PCI0.PEGP, 0x02)

11. Now compile your DSDT and you should not receive any errors. Now save your DSDT to your desktop as DSDT.aml

12. Copy your newly created DSDT and paste it over your current DSDT located in your Extra Folder located at the root of your drive

13. Now go into your org.chameleon.Boot.plist and set GraphicEnabler=No or remove the code completely and save the document

14. Restart and when you restart your GPU should be fully functioning as it was before with  GraphicEnabler=Yes and if not review what you have done

Benchmarks:

screen-shot-2012-12-04-at-5-47-54-pm1

screen-shot-2012-12-04-at-5-50-51-pm

Framebuffers:

The following are the new framebuffers and how many connectors that they support.  DSDT injection is the safest way to test these framebuffers due to the boot loaders not yet supporting them. Special thanks to fantomas1 for dumping the framebuffers. Original post can be found here.

Kext /System/Library/Extensions/ATI7000Controller.kext/Contents/MacOS/AMD7000Controller

Personality: Aji
ConnectorInfo count in decimal: 4
Disk offset in decimal 608736
0000000 00  04  00  00  04  03  00  00  00  01  01  00  12  04  05  01
0000010 00  04  00  00  04  03  00  00  00  01  02  00  22  05  04  02
0000020 04  00  00  00  14  02  00  00  00  01  03  00  00  00  03  06
0000030 00  08  00  00  04  02  00  00  00  01  04  00  11  02  01  04
0000040

Personality: Buri
ConnectorInfo count in decimal: 4
Disk offset in decimal 608800
0000000 02  00  00  00  00  01  00  00  29  05  01  00  10  00  05  05
0000010 00  04  00  00  04  03  00  00  00  09  02  00  11  02  01  01
0000020 00  04  00  00  04  03  00  00  00  09  03  00  21  03  02  02
0000030 00  08  00  00  04  02  00  00  00  01  04  00  12  04  03  03
0000040

Personality: Chutoro
ConnectorInfo count in decimal: 5
Disk offset in decimal 608864
0000000 02  00  00  00  00  01  00  00  09  01  01  00  12  04  03  03
0000010 00  04  00  00  04  03  00  00  00  01  02  00  11  02  01  01
0000020 00  04  00  00  00  01  00  00  00  09  03  00  21  03  02  02
0000030 00  04  00  00  00  01  00  00  00  09  04  00  22  05  04  04
0000040 00  04  00  00  04  03  00  00  00  01  05  00  10  00  05  05
0000050

Personality: Dashimaki
ConnectorInfo count in decimal: 4
Disk offset in decimal 608944
0000000 00  04  00  00  04  03  00  00  00  01  01  00  12  04  02  02
0000010 00  04  00  00  04  03  00  00  00  01  02  00  22  05  03  05
0000020 04  00  00  00  14  02  00  00  00  01  03  00  00  00  04  04
0000030 00  08  00  00  04  02  00  00  00  01  04  00  11  02  01  01
0000040

Personality: Ebi
ConnectorInfo count in decimal: 5
Disk offset in decimal 609008
0000000 02  00  00  00  00  01  00  00  09  01  01  00  12  04  03  03
0000010 00  04  00  00  04  03  00  00  00  01  02  00  11  02  01  01
0000020 00  04  00  00  00  01  00  00  00  09  03  00  21  03  02  02
0000030 00  04  00  00  00  01  00  00  00  09  04  00  22  05  04  04
0000040 00  04  00  00  04  03  00  00  00  01  05  00  10  00  05  05
0000050

Personality: Gari
ConnectorInfo count in decimal: 5
Disk offset in decimal 609088
0000000 02  00  00  00  00  01  00  00  09  01  01  00  12  04  03  03
0000010 00  04  00  00  04  03  00  00  00  01  02  00  11  02  01  01
0000020 00  04  00  00  00  01  00  00  00  09  03  00  21  03  02  02
0000030 00  04  00  00  00  01  00  00  00  09  04  00  22  05  04  04
0000040 00  04  00  00  04  03  00  00  00  01  05  00  10  00  05  05
0000050

Personality: Futomaki
ConnectorInfo count in decimal: 4
Disk offset in decimal 609168
0000000 00  04  00  00  04  03  00  00  00  01  01  00  12  04  04  01
0000010 00  04  00  00  04  03  00  00  00  01  02  00  22  05  05  02
0000020 04  00  00  00  14  02  00  00  00  01  03  00  00  00  06  06
0000030 00  08  00  00  04  02  00  00  00  01  04  00  11  02  01  03
0000040

Personality: Hamachi
ConnectorInfo count in decimal: 4
Disk offset in decimal 609232
0000000 00  04  00  00  04  03  00  00  00  01  01  00  12  04  05  01
0000010 00  04  00  00  04  03  00  00  00  01  02  00  22  05  04  02
0000020 04  00  00  00  14  02  00  00  00  01  03  00  00  00  03  06
0000030 00  08  00  00  04  02  00  00  00  01  04  00  11  02  01  04
0000040

Personality: OPM
ConnectorInfo count in decimal: 6
Disk offset in decimal 609296
0000000 00  04  00  00  04  03  00  00  00  01  00  00  11  02  01  01
0000010 00  04  00  00  04  03  00  00  00  01  00  00  21  03  02  02
0000020 00  04  00  00  04  03  00  00  00  01  00  00  12  04  03  03
0000030 00  04  00  00  04  03  00  00  00  01  00  00  22  05  04  04
0000040 00  04  00  00  04  03  00  00  00  01  00  00  10  00  05  05
0000050 00  04  00  00  14  03  00  00  00  01  00  00  20  01  06  06
0000060

Personality: Ikura
ConnectorInfo count in decimal: 6
Disk offset in decimal 609392
0000000 00  04  00  00  04  03  00  00  00  01  01  00  11  02  01  03
0000010 00  04  00  00  04  03  00  00  00  01  02  00  21  03  02  04
0000020 00  04  00  00  04  03  00  00  00  01  83  00  12  04  03  01
0000030 00  04  00  00  04  03  00  00  00  01  04  00  22  05  04  02
0000040 00  04  00  00  04  03  00  00  00  01  05  00  10  00  05  05
0000050 00  04  00  00  04  03  00  00  00  01  06  00  20  01  06  06
0000060

Personality: IkuraS
ConnectorInfo count in decimal: 1
Disk offset in decimal 609488
0000000 00  08  00  00  04  02  00  00  00  01  01  00  12  04  03  01
0000010

This entry was posted in Uncategorized. Bookmark the permalink.

320 Responses to AMD 7xxx Working With Full QE (Updated12-7-2012)

  1. Staypuft says:

    Hey Rampage – I started using this guide because my new 7870 was not being fully accelerated. As a result I was having scrambled picture in Airplay and slow response on benchmarks/graphic intensive activities.

    Your guide was very useful and I have a completely different problem. I had to modify my input based on your guide but I was able to get the DSDT updated into the DSDT causing my Card name to be injected into the Sysinfo screens with the right amount of Ram and a slot ID.

    Image of the Sysinfo screen for Graphics: http://imgur.com/iKyzpuQ

    I have tried every frame buffer personality with 4 ports (the number of ports I have) and I have tried your recommendation of Chutoro.

    The current situation is that my box is stuck with a black screen on all DVI ports on the 7780. Luckily the box boots the HD3000 onboard graphics very reliably. This has resolved the problems with Airplay which is now running clearly. I have no errors – just no recognized monitor.

    Any thoughts? Could I send you my Ioreg and DSDT to have a look?

    Thanks for the great guide – and any input you have.

    ~Staypuft

  2. Andrew Marshall says:

    Hello Rampage,

    I have been trying to enable my 7850 under mavericks. I have a Mac Pro 2,1 hacked to run mavericks using chameleon, it works fine with the nvidia 8800GT card, but when i put the 7850 in, it boots up as “display 8 MB” and is very juddery. Tried to follow your tutorial on patching the dsdt file, but when i use ioreg it finds my display as nrv4 on pci0, but when i look in the dsdt.aml file there is no entry for device nrv4?

    Any help would be much appreciated. I have patched both the amd7000controller.kext and the amdradeonx4000.kext files

    When i look in about this mac, for the graphics card, it reports the vendor as ati and the correct device id, but it says no kext loaded!

    Im tearing my hair out trying to work it out.

    Kind regards,

    Andrew

    • rampagedev says:

      Must be in one for the SSDT’s.

      • tuckshoprn says:

        Ok, Update, I repatched the kexts, instead of replacing the 68181002, i added after it 68191002. This seems to have solved most of my issues, card now recognised as HD 7XXX 1024MB. No judder. Graphics enabler=No.

        I am a bit new to this, i have tried your tutorials, but i can’t find a way to generate the current ssdt file to look in it to see if my nrv4 device is listed. Sorry if this is a stupid question, but how do i generate the ssdt file?

        Thanks for your help

        Andrew

      • rampagedev says:

        You can just add it in the DSDT.

  3. tuckshoprn says:

    As explained earlier, can’t find the device id for the card in the dsdt file, it shows as nrv4 in the ioreg, but no sign in the dsdt file. Hence the addition of the id into the kexts. Any help you could offer on solving this problem and enabling it to be in the dsdt file would be appreciated.

  4. crushers1982 says:

    @rampagedev I’m use a ATI Radeon 7870,but after put your DSDT Injection and restart PC my monitor is black screen.Please help.Thanksss

  5. ChunkiZukini says:

    Hello Rampagedev,

    Here’s my setup:
    Asus p9x79ws
    Intel i7
    AMD HD 5450
    AMD XTX HD 7850
    Mavericks 10.9.2

    I’m trying to get my AMD HD7850 XTX to work on my hackintosh, but so far i only get a black screen. I also have a HD5450 installed and this one is working just fine. I have loaded the correct kexts for the 7850 and both the graphic cards are showing in ‘about this mac’ with the right version number and device id, but If i plug a screen onto the 7850, nothing….
    I’ve read this guide but i’m confused about this DSDT injection thing. I’ve installed my hackintosh with your myhack guide using chameleon. In this guide you only talk about copying the SSDT to the extra folder. How and where can i get this DSDT to make the proper adjustments to get this 7850 working. Or is there something else i’m missing here. This is my very first hackintosh and thanks to your guide it was surprisingly easy to get things going, apart from this hd 7850. I tried just about anything but now i’m lost.
    I also read somewhere that for asus boards you need to patch the bios. I tried this, using pmpatch, but this did not work. I was not able to extract a patched bios file.
    Any help would be greatly appreciated.
    Thanx in advance
    ChunkiZukini

  6. ChunkiZukini says:

    Ok, so i’ve tried this with dsdt editor,but when i try to save it as .aml, i get the error ‘file was not compiled successfully’. Any ideas?

  7. ChunkiZukini says:

    Took my time, could not find proper location to copy. The IOreg says my gpu is under SCOPE (NPE3). So that’s where i copy, after compiling i get either ‘could not update tree, pairs of brackets incorrect’ or ‘file was not compiled succesfully’. I tried different things but i guess this 7850 is a no go.
    Thanx anyway for your input.
    Kind regards

  8. Jd says:

    I have a Sapphire 280x and a 4930k on Rampage IV Black. I swapped a GTX 670 with this gpu as I read that now this is compatible. Turns out I can not boot via displayport (to my Dell U2711), and there are severe issues with audio/video playback both on local files as well as on the websites e.g. youtube. The video sorta keeps on reloading itself on youtube after 4 seconds. However when I select audio output to be “virtual device” (whatever that is) the video proceeds but of course no sound. Is the combination of this hardware incompatible? I used myHack method to install 10.9.2

    • rampagedev says:

      Not related to Hackintosh. Sounds like you missed something… is there a myHack.kext in SLE?

      • Jd says:

        The audio video issue solved itself with a reinstallation of audio driver, but I still can not boot from the displayport. If I plug the displayport in after booting into the OSX, the system freezes. I really want displayport working as with the HDMI, the resolution is limited to 1080p. With the DVI, I only have a single link DVI cable – the text is jumbled up in OSX with DVI, to the point of unreadable. Color scheme too is messed up.
        No I do not have myHack.kext in SLE. Seems like I did miss something. Should I reinstall?

      • rampagedev says:

        Something more is at play… From the sound of it you did the install correct. A reinstall the same way would not hurt.

  9. Jd says:

    So I reinstalled 10.9.2 on my machine: Asus Rampage IV Black, 4930k, Sapphire r9 280x etc. The sound problem didn’t occur this time around. But the problem with the displayport right out of the box is the same, i.e. it doesn’t boot if I only have displayport plugged into the gpu. However I did get it to boot via the following: plugin both HDMI and displayport and then using GraphicsEnabler=Yes flag. However with this combination, the gpu doesn’t seem to work properly. All websites with flash load painfully slow, and I am guessing any apps that use gpu won’t benefit from it either. I am a total noob when it comes to editing framebuffers etc. Kindly help me.

    • Jd says:

      in verbose mode, the system hangs after “RadeonSensors (pci1): started”. It boots in the safemode with -x flag but the GPU then doesn’t seem to be working properly.

      • Jd says:

        yet another interesting observation is when booting with the following flags:
        -x -v cpus = 1 npci=0x2000 GraphicsEnabler=Yes
        The GPU in system information shows that it has been recognized correctly, i.e. AMD Radeon HD 7970 X-Edition 3072. However if I don’t use these flags (by default GraphicsEnabler=No chosen) then it says AMD Radeon HD 7xxx

      • rampagedev says:

        Rm issue with the gpu.

  10. Jd says:

    I’m sorry but what does RM issue with gpu means? And does that mean this gpu is incompatible?

  11. John Smith says:

    how about the AMD HD 7790, it is a different GPU code name (Bonaire) ?

  12. hello,

    i have problem!

    i have mackintosh and AMD 7970 and no sound on HMDI port!

    who can help? my dsdt editing?

    I’m a stupid German 🙂

    my dsdt

    https://app.box.com/s/5jd3qeuayj6kcuu9b7xd

    best greeting by Kasi

  13. why is my post deleted?

    best greeting by kasi

  14. Vinicius says:

    Rampage.
    I have an Asus Radeon 7970 DCII Top
    Asus Rampage 4 Extreme – Bios 4804
    Intel i7 3930K
    Mac Os X Maverics 10.9.3 with Chameleon 2377

    I followed their tutorials installation, and say to them we only use SSDT that comes along with your DMG file.
    I followed some of your tutorials but the maximum I can get it to recognize my video card with 3Mb

    The code in this tutorial I put in your SSDT (instead of putting in DSDT) and still nothing happens.
    Only these command lines I could not place because the compiler says have errors because there are no paths (PICM, AR23, PR23 and GPRW).
    Device (NPE3)
    {
    Name (_ADR, 0×00020000)
    Method (_PRW, 0, NotSerialized)
    {
    Return (GPRW (0×09, 0×04))
    }
    Method (_PRT, 0, NotSerialized)
    {
    If (PICM)
    {
    Return (AR23)
    }
    Return (PR23)
    }
    Note. SSDT is not “Device (NPE3)” but “Scope (NPE3)”

    Can you tell me what can I do or what should I search tutorial to get enable my video correctly? I do not know which path to take.

    • rampagedev says:

      I have a few comments for you bellow. These are the facts of the issue at hand.

      1. this is not needed on 10.9.x

      2. Your not reading the guide

      3. Your not using the files in the appropriate manor

      4. Please review the ACPI spec sheet for further understanding of DSDT and SSDT editing.

  15. aureliusvito says:

    Hello,
    I just wanna ask you a question

    Is this guide working with AMD Radeon HD 7670m with dev id 0x6840 ?

    Thanks for your attention, have a nice day.. 🙂

    PS: Sorry bad English, I’m Indonesian..

  16. Vinícius says:

    Rampage. I’m having a problem with my video. I have a Radeon 7970 Direct CU II Top on Rampage IV Extreme motherboard. I edited SSDT in your DMG according to your video on the Radeon 7970. Earlier was working very bad so I changed the name of the families SSDT to find the best (I tried all I knew). Now I have all the video running even with DisplayPort. But I opened a game to test, World Of Warcraft and put everything on Ultra. Everything went well until in a moment the screen froze, the mouse worked but not respond to any command. I could not even force quit. And it came to happening a few times, some days over others not happened. I changed the families and the problem persisted. Do you have any solution can help me?

  17. Revo says:

    while compiling I get: Object does not exist (DTGP) clean extracted DSDT.

  18. Revo says:

    Got it! just needed to add the missing method right at the top, after DefinitionBlock .. {
    DTGP method code –> http://pastebin.com/fPZnzjj3

  19. tasos says:

    i have hp probook i5 sb with intel 3000 & mad hd 7650m …is a hpe to work 7650m on hackintosh?

Leave a comment