Jump to content

[Guide] Mavericks 10.9.X - Dell Optiplex 780 (760)


pepto
 Share

307 posts in this topic

Recommended Posts

HELP WANTED !!!!


Hi everyone !

I plan to make a full patched DSDT with sleep/Wake and video injection for Optiplex 760 with AMD Radeon HD 5450 owners (and maybe for some others models too).

I already have a working DSDT video injection with correct model info, proper framebuffer (Eulemur but can be easily changed for another one), HDMI audio and of course full QE/CI.

But I don't have any skills on how to deal with sleep/wake concerns. I've read here that some of you had success by using a DSDT to fix that.



 

So my proposal is to unite our efforts to combine those fixes to have a complete, fully working DSDT to rule them all ;)

 

RadeonFULL.png

Here's the video injection code if you're interested in (credits goes to Dr Hurt for a large portion of the code  :thumbsup_anim:  )

                Device (GFX0)
                {
                    Name (_ADR, Zero)       /** Check IOREG to know the adress of your CG card **/ 
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x10)
                            {
                                "AAPL,slot-name", 
                                Buffer (0x07)
                                {
                                    "Slot-1"
                                }, 

                                "device-id", 
                                Buffer (0x04)
                                {
                                    0xE0, 0x68, 0x00, 0x00    /** This is the fake ID used by Dr Hurt, don't modify it **/ 
                                }, 

                                "@0,name", 
                                Buffer (0x0C)
                                {
                                    "ATY,Eulemur"    /** This is the name of the Framebuffer used by the card, you can change, this one works fine **/ 
                                }, 

                                "@1,name", 
                                Buffer (0x0C)
                                {
                                    "ATY,Eulemur"
                                }, 

                                "@2,name", 
                                Buffer (0x0C)
                                {
                                    "ATY,Eulemur"
                                }, 

                                "@3,name", 
                                Buffer (0x0C)
                                {
                                    "ATY,Eulemur"
                                }, 

                                "model", 
                                Buffer (0x13)     /** This reflects the number (including spaces) of letters + 1 from the name below in hexadecimal see here : https://paulschou.com//tools/xlate/ **/ 
                                {
                                    "AMD Radeon HD 5450"    /** You can Have a free Radeon R9 M290X by changing this  **/ 
                                }, 

                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }

                Device (HDAU)     /** Enable HDMI audio **/ 
                {
                    Name (_ADR, One)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x02)
                            {
                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }
Link to comment
Share on other sites

Lukin has one that's already fix sleep and wake issue. I've added the patch for AMD 5450 graphics and HDMI Audio.

Haven't test the HDMI audio, but full QE/CI is working without modding the kexts.

 

Awesome!!! Christmas comes early!  :thumbsup_anim:  Video Patch along with sleep and wake confirmed working on my Optiplex 780.   :yes:

 

I have not been able to get HDMI audio working yet, but I have tried so many different kexts for sound I can't remember them all. I might just need the correct kext.

 

For anyone wanting to use this dsdt, remember to go back to your original unedited AMD5000Controller.kext and AMDRadeonX3000.kext

 

Thanks again, I have been trying to get this dsdt working with Video Patch for months now. DSDT editing seems beyond my skill or patience level. ;)

Link to comment
Share on other sites

Yes, it works very well for my Optiplex 760.

 

I just have an issue with Ethernet as I 'm loosing Internet connection when the 760 wakes-up. I'm using the old AppleIntelE1000e.kext, I think a newer or different kext could fix that. (help's welcome :) )

 

I also ediited your DSDT to include my personal edits as yours lacks Model name and Framebuffer definition. So we now have a full working DSDT for both 760 & 780 with Radeon HD 5450 owners.

 

Many thanks to Lukin & Dr Hurt for their works on sleep/wake & video injection ! :thumbsup_anim:

 

[EDIT] I replaced AppleIntelE1000e by Intel82566MM.kext and BOOM ! No more problems ! :thumbsup_anim:

DSDT.aml.zip

Link to comment
Share on other sites

Yes, it works very well for my Optiplex 760.

 

I just have an issue with Ethernet as I 'm loosing Internet connection when the 760 wakes-up. I'm using the old AppleIntelE1000e.kext, I think a newer or different kext could fix that. (help's welcome :) )

 

I also ediited your DSDT to include my personal edits as yours lacks Model name and Framebuffer definition. So we now have a full working DSDT for both 760 & 780 with Radeon HD 5450 owners.

 

Many thanks to Lukin & Dr Hurt for their works on sleep/wake & video injection ! :thumbsup_anim:

 

 

Try taking the "Patched_10.7_AppleRTC.kext"out of your extensions folder.

Link to comment
Share on other sites

Yes, it works very well for my Optiplex 760.

 

I just have an issue with Ethernet as I 'm loosing Internet connection when the 760 wakes-up. I'm using the old AppleIntelE1000e.kext, I think a newer or different kext could fix that. (help's welcome :) )

 

I also ediited your DSDT to include my personal edits as yours lacks Model name and Framebuffer definition. So we now have a full working DSDT for both 760 & 780 with Radeon HD 5450 owners.

 

Many thanks to Lukin & Dr Hurt for their works on sleep/wake & video injection ! :thumbsup_anim:

 

[EDIT] I replaced AppleIntelE1000e by Intel82566MM.kext and BOOM ! No more problems ! :thumbsup_anim:

 

 

When I use this DSDT my video, which is connected by hdmi, does not come back on after wake from sleep. :(

 

The DSDT supplied by Jake Lo works fine. 

Link to comment
Share on other sites

Welcome to the beta-test ! ;)

 

You can try to change the framebuffer in the DSDT from Eulemur to Baboon and change the buffer from 0C to 0b

like this :


/** Change this **/

"@0,name", 
                                Buffer (0x0C)
                                {
                                    "ATY,Eulemur"
                                }, 

/** to this **/


"@0,name", 
                                Buffer (0x0b)
                                {
                                    "ATY,Baboon"
                                }, 

Don't forget to change every references to Eulemur then compile to check and save. Restart.

  • Like 1
Link to comment
Share on other sites

Welcome to the beta-test ! ;)

 

You can try to change the framebuffer in the DSDT from Eulemur to Baboon and change the buffer from 0C to 0b

like this :


/** Change this **/

"@0,name", 
                                Buffer (0x0C)
                                {
                                    "ATY,Eulemur"
                                }, 

/** to this **/


"@0,name", 
                                Buffer (0x0b)
                                {
                                    "ATY,Baboon"
                                }, 

Don't forget to change every references to Eulemur then compile to check and save. Restart.

 

Otherwise, attached is an edited DSDT with no framebuffer injection but still with Model name that should works fine.

 

 

Beta Test, you mean I have to participate in this process? :(

 

I thought I paid extra for the Two-Year, Spoon-Feed-Me Warranty?  ;)

  • Like 1
Link to comment
Share on other sites

Nope, End User License Agreement have expired ! You must renew it right now for a 25$/day subscription :dev:


BTW, HDMI audio doesn't works and indeed, with Eulemur, HDMI video signal is lost after wake up (the Mac is still running and can be controlled via vnc or ssh though). I didn't tried with Baboon but it seems we need further investigation on that point.

 

Maybe a patched AMD5000Controller.kext binary could do the trick or by using an on-the-fly Clover patch to leave the kext untouched.

 

Or we can just use the DSDT provided by Jack Lo which at least works very well :)

  • Like 1
Link to comment
Share on other sites

Indeed :)

 

Mine has DVI, HDMI and VGA. I didn't tried Dual/Triple monitor and Eulemur seems to work only with VGA (HDMI has wake up issues and I didn't tried with DVI yet). Baboon works in VGA too but here again, I didn't test other ports.

 

So I think you're right ! ATM there are too many problems with Framebuffer injection to pretend to be the DSDT for everyone ;)

 

I will still continue to investigate :wink_anim:

Link to comment
Share on other sites

attachicon.gifAMD HD 5450.png

This is the cheap card I have. I would lose dual monitor if I use either FB Eulemur or Baboon. 

Sticking with Dr. Hurt's patch works, I could live without the correct name "AMD Radeon HD 5450"  :)

 

I have a Saphire Radeon HD5450 with VGA, DVI and HDMI.  I connect with HDMI. Your DSDT is the only one that has worked on my Optiplex 780. I can live without the correct name in the System info.

 

I would be more concerned myself with learning to upgrade to clover so that iMessage will work on my Yosemite install, that is something I actually use a lot.

Link to comment
Share on other sites

I used Clover with the DP's and I had issue with QE/CI. I set Inject ATI in the config.plist but I never succeed to enable QE/CI without patching the kexts.

 

I may have missed something but knowing that it can works like that, you can migrate from Chameleon to Clover and have iMessage/FaceTime working.

 

There are some guides on how to do this here at IM but you can have a look at Clover wiki here : http://clover-wiki.zetam.org/Contents

  • Like 1
Link to comment
Share on other sites

I used Clover with the DP's and I had issue with QE/CI. I set Inject ATI in the config.plist but I never succeed to enable QE/CI without patching the kexts.

 

I may have missed something but knowing that it can works like that, you can migrate from Chameleon to Clover and have iMessage/FaceTime working.

 

There are some guides on how to do this here at IM but you can have a look at Clover wiki here : http://clover-wiki.zetam.org/Contents

 

Appreciate the info. I went back to using mavericks because I have so many friends and relatives with iPhones, iPads, and iMacs that iMessage is important to me.

 

I can deal with editing the video kexts if need be. I have spent some time reading guides on Clover, but it is still very confusing to me. I tried to do a Yosemite install with Clover many times on my 780, but never had any luck.

Link to comment
Share on other sites

Is it a GUID or MBR USB ?

I gave up on my attempts to boot from any GUID device with Clover. I install the boot files right on the root of my HD, in the MBR, so I know where they really are and how to manage them.

 

I haven't tried Clover boot on my 760 yet but I'll give a chance to test it. But I really prefer Chameleon which is far more simple and largely enough for me as I don't use iMessage or FaceTime.

 

BTW, did you know that you can have both Clover & Chameleon and choose the one you want to use at boot ;)

 

Will report soon…

Link to comment
Share on other sites

Little Update of my guide i have it almost ready but i am also busy at my work so it will take some time. I hope to finished it next week but i can't guaranty.

I wanna it 100% to release it so sorry it takes some time.

Link to comment
Share on other sites

Little Update of my guide i have it almost ready but i am also busy at my work so it will take some time. I hope to finished it next week but i can't guaranty.

I wanna it 100% to release it so sorry it takes some time.

 

 

 

Has anyone had any luck with this yet? I still cannot boot from the USB Installer.

 

I must have between 15 and 20 hours trying to get this running with Clover. I have Yosemite running with Chameleon, but can not get it working with Clover. Never had this much trouble doing an 0SX install. I must be a complete idiot.

 

A couple things here...

 

In creating USB installer, Step 14:  

 

open /Volumes/OS X Install ESD/BaseSystem.dmg,  are quotes missing in this command? Should it be   >>>> open "/Volumes/OS X Install ESD/BaseSystem.dmg"

 

And here is something I just cannot seem to understand,  Move all the files in the unzipped /Clover folder to /EFI/EFI/Clover/, make sure to choose to MERGE these folders.

 

Where exactly is this location? I am assuming that it is referring to the USB installer, so "/" would mean root of usb?  If so, go to root of usb, then the folder "EFI", followed by another folder named "EFI"?

 

Seems I am supposed to be looking for a folder named "EFI" that is inside another folder named "EFI" which is at the root of the usb drive? Should I assume that there is a typo here, and that there is only ONE EFI folder we are supposed to be looking for at the root of the USB Drive?  Like maybe, move files to:  /EFI/Clover,   NOT, /EFI/EFI/Clover?

 

And when I unzip the Clover 780 file, I get 3 folders, Clover, Kexts, and Tools. Are all 3 of these folders supposed to be copied and pasted inside the Clover folder? And then when prompted, chose to Merge?

 

That iss just a few questions to start with.

Link to comment
Share on other sites

 Share

×
×
  • Create New...