Jump to content
Welcome to InsanelyMac Forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

  • Announcements

    • Allan

      Forum Rules   04/13/2018

      Hello folks! As some things are being fixed, we'll keep you updated. Per hour the Forum Rules don't have a dedicated "Tab", so here is the place that we have our Rules back. New Users Lounge > [READ] - InsanelyMac Forum Rules - The InsanelyMac Staff Team. 
Dr. Hurt

[Guide] [Mavericks & Yosemite] AMD Radeon HD5450

214 posts in this topic

Recommended Posts

My DSDT (Gigabyte GA-EX58-UD4P) DSDT (attached) does not appear to have either PEG0 or PEGP, can you assist?

 

Thanks very much...

 

UPDATE:  Disregard, the DSDT file previously built for JuniorGump's similar (UD3R) board works fine.  Thanks...

Interesting that it did not work here. :wacko:

Share this post


Link to post
Share on other sites

Introduction:

After seeing a lot of people having trouble getting the Radeon HD5450 working with Mavericks, I decided to make a guide.

The card works perfectly without any graphics enabler as long as the proper device ids are in place.

Guides made for Mountain Lion are obsolete because Apple changed the kext names.

 

--- The are two ways to get the HD5450 to work properly in Mavericks:

1- Injecting a compatible fake-id (in this case, 68E01002) via DSDT. This has the advantage of using Apple's stock kexts and thus no need to re-patch kexts with every system update. 

2- Adding your specific device-id to the appropriate kexts. This is probably easier, but you'll have to redo it everytime you update the system.

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

1- Inject a compatible fake-id via DSDT. (Recommended if you have the skills)

All you need is to add the following code in the appropriate location in your DSDT (usually under PEG0 or PEGP).

PS. With this method you *must* use the original unmodified kexts.

Device (GFX0)
                {
                    Name (_ADR, Zero)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x0C)
                            {
                                "device-id", 
                                Buffer (0x04)
                                {
                                    0xE0, 0x68, 0x00, 0x00
                                }, 


                                "ATY,DeviceID", 
                                Buffer (0x02)
                                {
                                    0xE0, 0x68
                                }, 


                                "vendor-id", 
                                Buffer (0x04)
                                {
                                    0x02, 0x10, 0x00, 0x00
                                }, 


                                "ATY,VendorID", 
                                Buffer (0x02)
                                {
                                    0x02, 0x10
                                }, 


                                "AAPL,slot-name", 
                                Buffer (0x07)
                                {
                                    "Slot-1"
                                }, 


                                "@0,AAPL,boot-display", 
                                Buffer (Zero) {}
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }
 

2- Add the device id of your GPU to the appropriate kexts.

Add your device-id to the cedar section of the AMDRadeonX3000.kext and anywhere in the AMD5000Controller.kext

- Go to /System/Library/Extensions/ 
- Copy AMDRadeonX3000.kext and AMD5000Controller.kext to your desktop

- Right click on the AMD5000Controller.kext and click show contents.
- Open the info.plist (using TextEdit or any plist editor)
- Find the IOPCIMatch key and you'll see many device-ids
- Change any of those device-ids with yours (eg. 68981002 -> 68F91002)
- Save (make sure you don't change file extension)

- Right click on the AMDRadeonX3000.kext and click show contents.
- Open info.plist
- Find the AMDCedarGraphicsAccelerator
- Under IOPCIMatch, change 68E01002 to 68F91002
- Save

Use Kext Wizard to reinstall the modified kexts.

 

===============================================================================================================

 

Further Considerations:

1- Power Management

a- I use MacPro3,1 smbios to avoid loading AGPM and my temperature and performance are very acceptable.

b- You can experiment with different smbios (mainly iMac11,2 and 11,1) which will load AGPM.

 

2-  Framebuffers:

a- You can either use the Eulemur or the Generic framebuffer. My tests show no performance difference.

b- Eulemur breaks sleep with DVI and HDMI monitors. VGA works fine though!

c- Clover and Chameleon will automatically set framebuffer to Eulemur so I strongly recommend you disable the graphics injector features. 

 

3-  VESA modes (aka. boot resolution)

a- Chameleon's resolution module can patch the vbios and give you full resolution during boot.

b- Clover's built-in vbios patcher works perfectly too. 

c- VGA does not work in either case. The bootloader fails to read the EDID to obtain the optimal resolution.

 

4- Clover:

a- Clover's graphics injector has the ability to inject a fake id

b- As stated before, the injector automatically set framebuffer to Eulemur and thus breaks sleep. 

You da Man Doc!  DSDT method works great.....10.9.2!

Share this post


Link to post
Share on other sites

Dr. HurtPlease Patch my DSDT

 

Maverick 10.9.2

 

feat.

AMD Fx6300

GA-970A-D3P

PowerColor Radeon HD 7730 2GB DDR3 (DeviceID 68371002)

 

Here is my DSDT + ioreg 

 

 

 

Thanks in advance  :(

Share this post


Link to post
Share on other sites

Dear Dr. Hurt,

 

hoping not to trouble you too much with my question,

 

could you please help me to better understand which "compatible fake-id" I should use (within the code that you provided as a sample in your guide) to inject a compatible fake-Id for my XFX Radeon HD5670 card for its inclusion in the DSDT of my Asus 7P55D-E ?

 

More precisely: based on the fact that the ID of the card detected in my system is 68d81002, should I modify your sample code replacing any occurrence of "0xE0" with "0xD8" or should I use a completely different (btw: which one?) ID that is known to be 'compatible' with my HD5670?

 

I apologize if the question might sound stupid or obvious, but I have spent the last four late evenings trying (unsuccessfully) to have my XFX Radeon HD5670 working in my 10.9.2 Vanilla installation playing in whatever way with Kexts, plist editor and Chameleon boot flags, and I would really like to try a different method to finally manage to activate my card using the DSDT injection approach that you recommended In your guide (currently my problem is not only QE/CI missing, but the whole card not detected, with my system simply showing a generic 5MB monitor...).

However, although I initially seemed to understand that I should indeed replace 0xE0 with 0xD0 in your example, I was a quite confused reading your remarks in post#5 about the mistake of adding "own Id" instead of the fake one (and by "own ID" I assume you indeed referred to the correct ID of the peripheral as reported by the system info).

 

Thanks very much for your help.

Share this post


Link to post
Share on other sites

Hello, I got the card working with full QI/CI with a edit on its kext. Just putting the ID in its info.plist. But what I didn't got working was the HDMI audio. Did you got this working? Can you tell me how? Thanks.

Share this post


Link to post
Share on other sites

I have fully QE/CI on 10.9.1, updated to new 10.9.3 and bye bye QE/CI.

 

AMD5000Controller and AMDRadeonX3000 are edited with my id.

 

Anyone help???

Share this post


Link to post
Share on other sites

Hi everyone!

 

Dr. Hurt, Thank you for the wonderful topic! I modified the kexts and now I have QE/CI enabled. Works great! This is wonderful!

 

Next thing I would like to try the DSDT injection approach.

I extracted my DSDT (attached) but I can't find the PEG0 or PEGP section to inject the code.

 

dsdt.dsl.zip

 

Can anyone please have a look and advice me on this? Thank you very much in advance!

Share this post


Link to post
Share on other sites

Hi everyone!

 

Dr. Hurt, Thank you for the wonderful topic! I modified the kexts and now I have QE/CI enabled. Works great! This is wonderful!

 

Next thing I would like to try the DSDT injection approach.

I extracted my DSDT (attached) but I can't find the PEG0 or PEGP section to inject the code.

 

attachicon.gifdsdt.dsl.zip

 

Can anyone please have a look and advice me on this? Thank you very much in advance!

 

In your case, the code needs to be added P0P1.

 

Anyway, here's your DSDT patched with the needed stuff.

 

Remember that you *must* revert the edits you made to your kexts before using the patched DSDT.

DSDT.zip

Share this post


Link to post
Share on other sites

In your case, the code needs to be added P0P1.

 

Anyway, here's your DSDT patched with the needed stuff.

 

Remember that you *must* revert the edits you made to your kexts before using the patched DSDT.

Thank you very much for patching my DSDT!

 

I placed the file in /Extra, restored the patched kexts to the original ones, and rebooted with GraphicsEnabler=No

 

However it seems not to work: now I lost QE/CI, in "About this Mac" there is a blank field under "Graphics", and my monitor switched back to 600x800 resolution.

 

The patched DSDT seems to be loaded: in Chameleon Wizard under Compile/Extract it tells me "DSDT cannot be extracted because you are using custom file DSDT.aml"

 

Anything I could be doing wrong?

Share this post


Link to post
Share on other sites

Thanks for the patch, Dr. Hurt. I have put it right unde the PEG device and it works like a charm.

Share this post


Link to post
Share on other sites

This files works 100% on Mavericks 10.9.3

 

Edit with your ids and install with kext utility.

Help please. Updated to 10.9.3 and used these kext and have also tried my old 10.9.2 ones but cannot the the card to work correctly.

 

I have amended the info list with the ids of my card, anything else I can try.

 

Thank you

Share this post


Link to post
Share on other sites

Installed the kext and all was working fine, so I tried the same procedure on the main drive and no QE/CI. Re booted back into the back up and the same issue. My card has an id of 68E1, I have checked the info list and the id is present.

 

Do I have to run myhack after installing the kext with kext utility? Do I need any flags in the org.chameleon.Boot?

 

Thank you

Share this post


Link to post
Share on other sites

Try :

 

GraphicsEnabler=Yes and AtiConfig=Eulemur

or

GraphicsEnabler=No and AtiConfig=Eulemur

or

GraphicsEnabler=No

 

Check that ID's are presents in both AMDRadeon5000Controller.kext and AMDRadeonx3000.kext and that you've rebuild System Cache (type sudo touch /System/Library/Extensions in terminal) and reboot with UseKernelCache=No and - f

 

You shouldn't need to use myHack if you installed your kexts with Kext Utility but it won't mess up your system if you do so.

Share this post


Link to post
Share on other sites

Thanks. I deleted the two kexts from the library / extension, remade them using kext wizard it started working fine on the test hd.

 

I did the same on the live hd and no joy. I just restored the test over live and all is good. I did use your kext.

 

Thank you once again for the rescue. :D

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.



×