Contribute
Register

DSDT edited for ATI Radeon 4650

Status
Not open for further replies.
Joined
Jan 20, 2010
Messages
37
Motherboard
Gigabyte P55A-UD3
CPU
i5-750
Graphics
ATI 4650
Mac
  1. iMac
Mobile Phone
  1. iOS
I have successfully edited my DSDT for an ATI 4650 card. I used #13 hack in the DSDTSE app. I Edited ATI4600Controller.kext & ATIRadeonX2000.kext with my device ID.
I also installed EVOenabler.kext for injection. For some reason system profiler recognized my card as a 4890 not a 4650 but when I put the correct dev.ID in the DSDT it wouldn't work so I put 4890 in the DSDT and now I get QE & CI and many different resolutions to use. Here is a link to my DSDT if you what to check it out.
http://rapidshare.com/files/341533166/DSDT.aml.html You need to find out what your framebuffer is, mine is Motmot. I found this info under PCI cards in system profiler. Other framebuffers are Peregrine, Wormey, and Lamna. There are a lot of them. If anyone needs any help I'm willing to try to help them with what little I know.
 
Great! My 4850 used Motmot too. I'm working on it.

By the way, your aml is not good for other people, it needs to be decoded so others can grab the relevant code and paste it into their own. I'm attaching the decoded dsl of your aml.

EDIT: Can't get the attachment on this board to work. Here it is http://rapidshare.com/files/341582654/DSDT.dsl
 
I just posted it so if someone wanted to see how it is edited, not to use it. Unless they have the same mobo as me.
 
Yeah, didn't mean it disrespectfully, just helping out by posting the decoded file and making sure to remind others not try to use it directly.

Where did you get the first package number from ? It's 1E, tony's nvidia one is 1A.
 
I'm not sure what you mean by package # where is that number your getting.
 
Code:
        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_ADR, Zero)
            Name (_UID, One)
            Name (_BBN, Zero)
            Device (GFX0)
            {
                Name (_ADR, Zero)
                Name (_SUN, One)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x1E)

Last line in the above. Tony's is 1A. I saw the 1E in the DSDTSE hack but I'm wondering where is it coming from and what does it mean. Can't find it in IOregistryexplorer.
 
I see it. If you go into DSDTSE and click on Window on tool bar then click Main pane it opens a little window on the left then click DSDT hacks and choose #13, that is how I edited my DSDT.
 
Nevermind, I figured it out. It's simply a counter declaring how many arguments are going to be stored. Tony's has two less than the ATI ones, thus the 1A (must be doubles).
 
All I did was use the apps hack & changed it where it showed, right now I'm trying to do Tony's hack because when my PC goes to sleep it will start back up except the monitor. The light changes from yellow to green then goes back to yellow. So now I've installed SL onto another HDD and I'm going to try again. But I figured I let people know what I had done because I know what it's like googling & searching for a way to get the proper graphics.
 
Ok, here's mine.

Code:
        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_ADR, Zero)
            Name (_UID, One)
            Name (_BBN, Zero)
			Device (GFX0)
			{
			    Name (_ADR, Zero)
			    Name (_SUN, One) 
  			    Method (_DSM, 4, NotSerialized)
			                    {
			                        Store (Package (0x1E)
			                            {
			                                "@0,compatible", 
			                                Buffer (0x0B)
			                                {
			                                    "ATY,Motmot" /* <-----Change your framebuffer to the one you need (Wormy, Megalodon, Motmot) */
			                                }, 

			                                "@0,deviceType", 
			                                Buffer (0x08)
			                                {
			                                    "display"
			                                }, 

			                                "@0,VRAM,memsize", 
			                                Buffer (0x04)
			                                {
			                                    0x00, 0x00, 0x00, 0x40
			                                }, 

			                                "@0,display-connect-flags", 
			                                Buffer (0x02)
			                                {
			                                    0x00, 0x04
			                                }, 

			                                "@0,name", 
			                                Buffer (0x0E)
			                                {
			                                    "ATY,Display_A"
			                                }, 

			                                "@1,compatible", 
			                                Buffer (0x0B)
			                                {
			                                    "ATY,Motmot"  /* <-----Change your framebuffer to the one you need (Wormy, Megalodon, Motmot) */
			                                }, 

			                                "@1,device_type", 
			                                Buffer (0x08)
			                                {
			                                    "display"
			                                }, 

			                                "@1,VRAM,memsize", 
			                                Buffer (0x08)
			                                {
			                                    0x00, 0x00, 0x00, 0x40
			                                }, 

			                                "@1,display-connect-flags", 
			                                Buffer (0x02)
			                                {
			                                    0x00, 0x04
			                                }, 

			                                "@1,name", 
			                                Buffer (0x0E)
			                                {
			                                    "ATY,Display_B"
			                                }, 

			                                "ATY,Card#", 
			                                Buffer (0x0E)
			                                {
			                                    "109-B77101-00"
			                                }, 

			                                "ATY,Rom#", 
			                                Buffer (0x0F)
			                                {
			                                    "113-B7710C-176"
			                                }, 

			                                "device_type", 
			                                Buffer (0x11)
			                                {
			                                    "ATY,MotmotParent" /* <--Change your framebuffer to the one you need (Wormy, Megalodon, Motmot) */
			                                }, 

			                                "VRAM,totalsize", 
			                                Buffer (0x04)
			                                {
			                                    0x00, 0x00, 0x00, 0x40  /*<-----------Ram Amount: 0x40 = 1024mb, 0x20= 512mb, 0x10= 256mb */
			                                }, 

			                                "model", 
			                                Buffer (0x13)
			                                {
			                                    "ATI Radeon HD 4850" /* Change name here  */
			                                }
			                            }, Local0)
			                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			                        Return (Local0)
			                    }
			               }

Changes from styro's.
- I added my own rom# and card# which I got from IORegistryExplorer
- Added the 0x13 argument in the last entry. This is a counter denoting how many characters are in the saved text (in my case "ATI Radeon HD 4850"). Don't forget to add one for the C-style null character at the end.

I then removed GraphicsEnabler=y from .boot.plist and worked just as before. I didn't have any enabler kexts already. I'm keeping my edited ATI4800Controller.kext which has this
Code:
<key>IOPCIMatch</key>
			<string>0x94401002 0x944a1002 0x94421002</string>
to correctly identify my card (the last value was added for the correct device-id).

Everything works as before, resolutions etc. but unfortunately it didn't fix my wake from sleep issue.
 
Status
Not open for further replies.
Back
Top