Jump to content

iWire

iWire

Member Since 07 Apr 2009
Offline Last Active Nov 01 2014 10:42 PM
-----

Posts I've Made

In Topic: [Guide] [Mavericks & Yosemite] AMD Radeon HD5450

08 April 2014 - 02:14 AM

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!

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