Jump to content

[Guide] Yosemite 10.10.X - Dell Optiplex 780 (760)


pepto
 Share

468 posts in this topic

Recommended Posts

thank you, perfect, it works great with the vanilla Device
Also, the framebuffer accesses by this method. perfect :)

ioreg | grep ATY

    | |   |   | +-o ATY,Eulemur@0  <class AtiFbStub, id 0x100000292, registered, matched, active, busy 0 (4 ms), retain 8>
    | |   |   | | +-o ATY_Eulemur  <class AMDFramebuffer, id 0x100000295, registered, matched, active, busy 0 (3 ms), retain 16>
    | |   |   | +-o ATY,Eulemur@1  <class AtiFbStub, id 0x100000293, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |   | | +-o ATY_Eulemur  <class AMDFramebuffer, id 0x10000029a, registered, matched, active, busy 0 (0 ms), retain 14>
    | |   |   | +-o ATY,Eulemur@2  <class AtiFbStub, id 0x100000294, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |   | | +-o ATY_Eulemur  <class AMDFramebuffer, id 0x10000029f, registered, matched, active, busy 0 (0 ms), retain 14>

:thumbsup_anim:

Audio:
I can not say whether the 760 uses the same node. I hope for you.
A report would be nice.
Edited by MacPeet
  • Like 1
Link to comment
Share on other sites

Hello !

 

Reporting back from my fully functional Optiplex 760 with AppleHDA patched kext :thumbsup_anim: :thumbsup_anim: :thumbsup_anim:

 

Have you tested HDMI audio ? I can't atm cause I don't have the hardware… But I'm confident ! I'm pretty sure there's a lot more chance it will with a patched AppleHDA rather than with VoodooHDA.

 

Nice work MacPeet ! Next step : on-the-fly Clover patch for AppleHDA and we'll own one of the most perfect and affordable Hackintosh system ever :D

 

Best regards from France !

  • Like 1
Link to comment
Share on other sites

Greetings from Germany
I'm very often in France, particularly in Paris, very beautiful
 
Edit:
Manual on the fly Clover patch for AppleHDA

1. Download Package

2. Install Vanilla AppleHDA

3. move realtekALC.kext to EFI/Clover/Kexts/10.10/

4. move layout1.zml.zlib and Platforms.zml.zlib to Vanilla AppleHDA/Contents/Resources/

5. add in Clover - config.plist:

 
<key>KextsToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>Patch_to_ADI1984A</string>
<key>Find</key>
<data>
eG1sLnps
</data>
<key>Name</key>
<string>AppleHDA</string>
<key>Replace</key>
<data>
em1sLnps
</data>
</dict>
<dict>
<key>Comment</key>
<string>Patch_to_ADI1984A</string>
<key>Find</key>
<data>
ixnUEQ==
</data>
<key>Name</key>
<string>AppleHDA</string>
<key>Replace</key>
<data>
ShnUEQ==
</data>
</dict>
</array>

6. renew cache, reboot and have fun

Edit:
HDMI, yes, that goes with me only with the framebuffer name "Shrike" instead Eulemur with the HD5450 1GB

a bit strange
 
differences:
 
with Eulemur exact FB without HDMI:
 
ioreg | grep ATY

    | |   |   | +-o ATY,Eulemur@0  <class AtiFbStub, id 0x100000292, registered, matched, active, busy 0 (4 ms), retain 8>
    | |   |   | | +-o ATY_Eulemur  <class AMDFramebuffer, id 0x100000295, registered, matched, active, busy 0 (3 ms), retain 16>
    | |   |   | +-o ATY,Eulemur@1  <class AtiFbStub, id 0x100000293, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |   | | +-o ATY_Eulemur  <class AMDFramebuffer, id 0x10000029a, registered, matched, active, busy 0 (0 ms), retain 14>
    | |   |   | +-o ATY,Eulemur@2  <class AtiFbStub, id 0x100000294, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |   | | +-o ATY_Eulemur  <class AMDFramebuffer, id 0x10000029f, registered, matched, active, busy 0 (0 ms), retain 14>

with Shrike only Radeon FB with HDMI, but works great:
(Unfortunately does not have HDMI input control / I use LineIn the monitor, is better)
 
ioreg | grep ATY

    | |   |   | +-o ATY,ATY,RadeonFramebuffer@0  <class AtiFbStub, id 0x100000297, registered, matched, active, busy 0 (4 ms), retain 8>
    | |   |   | | +-o ATY_ATY,RadeonFramebuffer  <class AMDFramebuffer, id 0x10000029a, registered, matched, active, busy 0 (3 ms), retain 17>
    | |   |   | +-o ATY,ATY,RadeonFramebuffer@1  <class AtiFbStub, id 0x100000298, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |   | | +-o ATY_ATY,RadeonFramebuffer  <class AMDFramebuffer, id 0x10000029f, registered, matched, active, busy 0 (0 ms), retain 14>
    | |   |   | +-o ATY,ATY,RadeonFramebuffer@2  <class AtiFbStub, id 0x100000299, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |   | | +-o ATY_ATY,RadeonFramebuffer  <class AMDFramebuffer, id 0x1000002a4, registered, matched, active, busy 0 (0 ms), retain 14>

 

on_the_fly_clover_pack.zip

Edited by MacPeet
Link to comment
Share on other sites

@MacPeet

 

Wow! Did you say Sound Over HDMI?

 

Things are starting to get interesting again! :)

 

I do need some further help with the instructions.

 

Okay, Install Vanilla AppleHDA. Since I never messed with that kext, then it should already be the Vanilla kext, or am I wrong?

 

You are referring to Sysyem>Library>Extensions?  Because if so, then I would then need to make a copy of that on my desktop, then edit the AppleHDA kext

 

on my desktop with the two files from you on_the_fly folder, save changes, then use Kext Utility to install the newly edited AppleHDA kext, or am I way off-track here?

 

Editing the Clover- config.plist  seems pretty straight forward, except, can that Code just be inserted anywhere in the config.plist, or only in a certain spot? And just use text utility?

 

The last part with all of the Code for the FrameBuffers? Do I need to edit another kext or plist with one of those groups of code?

 

Sorry for all the questions, but still learning this stuff.

 

Thank you for your contribution to this project! have been wanting to get HDMI Sound working for a long time! :)

Link to comment
Share on other sites

IMHO, don't loose time with on-the-fly patching since we always need to edit the AppleHDA.kext at some point.

 

I now have moderate my early enthusiasm about this method when I realized that since we have to

 

 

4. move layout1.zml.zlib and Platforms.zml.zlib to Vanilla AppleHDA/Contents/Resources/

 

we won't have a vanilla AppleHDA.kext anymore. Therefore, we'll have to repeat the procedure at every single OS X update where AppleHDA is modified.

 

So I think - despite it's a little bit annoying - the best way is to replace the vanilla AppleHDA.kext (version 3) by the patched one provided here with Kext Wizard which is a very minor concern and works perfect so far.

 

And for framebuffers, I guess you just have to specify it in FB Name in Clover Configurator Graphics's panel. No more… But MacPeet will certainly confirm/infirm that point :D I didn't tried atm.

Link to comment
Share on other sites

There are 2 methods.

 
Method 1:
my patched AppleHDA Version3 from Downloads use and re-import them again after each system update
 
or Method 2:
on the fly with Clover
these files are not overwritten during system update
see differences:
my is layout1.zml.zlib and Platforms.zml.zlib (zml.zlib-patch)
vanilla is layout1.xml.zlib and Platforms.xml.zlib
no problem for system update
 
ok, sorry
 
1. Download on the fly Package
2. copy original AppleHDA (Vanilla) to Desktop
3. copy realtekALC.kext to EFI/Clover/Kexts/10.10/
4. copy layout1.zml.zlib and Platforms.zml.zlib to Vanilla Desktop/AppleHDA/Contents/Resources/
5. add in Clover - config.plist:
see Picture
 
6. move AppleHDA from Desktop to KextUtility
7. reboot and have fun
 
Edit:
sorry, ded hooks on the image at Asus AICPUPM I did not put on my Dell
did this quickly created on my laptop

post-1358580-0-86154400-1431976629_thumb.png

post-1358580-0-14645700-1431976633_thumb.png

Link to comment
Share on other sites

Ok, I'm trying to follow along here.

 

Method 1 seems  like  "method for dummies", but I cannot get it to work.  :wallbash:

 

Method 1, that would only require using edited ApplrHDA.kext version 3, correct?

 

If so, I installed AppleHDA.Kext version 3, rebooted, and I have no sound over HDMI.  Line Out Rear, also plays through front Speaker. 

 

* Maybe you should also know that I have been using a USB PnP Sound Device for over a year now, so maybe I am missing another kext?

 

So if I cannot get simple Method #1 to work, maybe I should not try more complicated method 2, but I tried it anyway:  lol

 

 

Method #2:  Tried this with no success either. Seems I am dazed and confused here.   :censored:

 

I pasted Clover Config.plist edits on bottom of the config.plist, saved edits. Edited AppleHDA_kext with new files. Installed new AppleHDA_kext with Kext Utility, put realtekALC kext in Clover kexts 10.10,  rebooted, but no sound over HDMI.

 

Thought maybe because I missed putting check mark in clover config, inject ATI, but when I open config in clover configurator, select Graphics,  select #1, the title is blank.

 

Click on Kernel and kext patches, there are no kexts in window. 

Link to comment
Share on other sites

HDMI audio is only available with the framebuffer name "Shrike" and a AppleHDA method 1 or 2

Add in config.plist (see picture) and the DSDT entries for graphics
This is intended for a HD5450.
What is your hardware? Signature missing.
 

This for DSDT (Grafik) and (HDMI only with Shrike)

Device (PEG0){
Name (_ADR, 0x00010000)
Device (GFX0)
{
Name (_ADR, Zero)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x10)
{
"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"
},
"model",
Buffer (0x1C)
{
"XFX one HD5450 HDMI/DVI/VGA"
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},
"@0,AAPL,boot-display",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device (HDAU)
{
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

@morpheousman

 

Maybe your HDEF device is incorrectly configure in your DSDT.

 

Jake Lo's original DSDT comes with this :

                Device (HDEF)
                {
                    Name (_ADR, 0x001B0000)
                    OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
                    Field (HDAR, WordAcc, NoLock, Preserve)
                    {
                        DCKA,   1, 
                                Offset (0x01), 
                        DCKM,   1, 
                            ,   6, 
                        DCKS,   1, 
                                Offset (0x08), 
                            ,   15, 
                        PMES,   1
                    }

                    Method (_PRW, 0, NotSerialized)
                    {
                        Return (GPRW (0x0D, 0x04))
                    }

                    Method (_DSM, 4, NotSerialized)
                    {
                        If (LEqual (Arg2, Zero))
                        {
                            Return (Buffer (One)
                            {
                                0x03
                            })
                        }

                        Return (Package (0x06)
                        {
                            "layout-id", 
                            Buffer (0x04)
                            {
                                0x0C, 0x00, 0x00, 0x00
                            }, 

                            "hda-gfx", 
                            Buffer (0x0A)
                            {
                                "onboard-1"
                            }, 

                            "PinConfigurations", 
                            Buffer (Zero) {}
                        })
                    }
                }

You have to change the layout-id to this otherwise it will likely fail :

                        {
                            "layout-id", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 

I'm pretty sure your problem comes from this :D

Link to comment
Share on other sites

I pasted Clover Config.plist edits on bottom of the config.plist, saved edits. Edited AppleHDA_kext with new files. Installed new AppleHDA_kext with Kext Utility, put realtekALC kext in Clover kexts 10.10,  rebooted, but no sound over HDMI.

 

Thought maybe because I missed putting check mark in clover config, inject ATI, but when I open config in clover configurator, select Graphics,  select #1, the title is blank.

 

Click on Kernel and kext patches, there are no kexts in window. 

 

No, you can't just add those lines at the bottom of your config.plist.

 

It should be put here (use TextEdit, TextWrangler or PlistEditor Pro to do so) :

 

Right after that :

 

<key>KextsToPatch</key>

<array>

<dict>
<key>Comment</key>
<string>Patch_to_ADI1984A</string>
<key>Find</key>
<data>
eG1sLnps
</data>
<key>Name</key>
<string>AppleHDA</string>
<key>Replace</key>
<data>
em1sLnps
</data>
</dict>
<dict>
<key>Comment</key>
<string>Patch_to_ADI1984A</string>
<key>Find</key>
<data>
ixnUEQ==
</data>
<key>Name</key>
<string>AppleHDA</string>
<key>Replace</key>
<data>
ShnUEQ==
</data>
</dict>

(All others <dict></dict> should follow or precede those lines.)

 

and before that :

 

</array>

 

You can also post your config.plist here (be careful with SMBios data ;)) and I'll edit it for you…

Link to comment
Share on other sites

I did.

 

I'm just wondering if OS X update will simply modify files inside the AppleHDA.kext and hence, does not erase the whole thing or if it will replace the whole AppleHDA.kext.

 

If so, it will always be necessary to re-import them in the right place after every OS X update. On-the-fly patch will actually do nothing more than patching binaries in AppleHDA (which is still a step forward compared to the current situation).

 

That said, I'm definitely not an expert in AppleHDA patching :D

Link to comment
Share on other sites

Okay, so for Method 2,  I put config patch in wrong place, and I also need to Edit the DSDT?

 

I see Inject Kexts in config, but do not see KextsToPatch?

 

Hardware is HD5450 1gb

 

:no: But wasn't Method 1 to just install  AppleHDA Version 3?  That did not work for me.  :no:

 

 

@polyzaegone

 

Not sure why you said be careful with SM Bios, I thought that was only generated. Do you mean RT Variables? MLB and ROM numbers?

 

I will post config later, when people in France and Germany are awake. ;)

 

@MacPeet

 

Is edit to dsdt needed?

 

and,

 

Could you post a small piece of your Clover.config to show where to pace your edits in the cloverconfig.plist?

Link to comment
Share on other sites

Here is an example DSDT.aml and config.plist.

 

CPU data and Serial / board number / MLB / ROM you need to write for your own hardware in the config.plist.
This config.plist configured for method 2
If you use my patched AppleHDA, then you have to delete the entries in KextToPatch.
 
DSDT.aml is fixed for my Dell Optiplex 780 MT.
Fixes for GFX, HDAU, HDEF, USB and much more.
For HDMI audio GFX (PEG0) HDAU and HDEF needed. HPET must be ok.

DSDT_and_config_for_Method2_with_FB_Shrike.zip

Link to comment
Share on other sites

:no: But wasn't Method 1 to just install  AppleHDA Version 3?  That did not work for me.  :no:

 

 

@polyzaegone

 

Not sure why you said be careful with SM Bios, I thought that was only generated. Do you mean RT Variables? MLB and ROM numbers?

 

@MacPeet

 

Is edit to dsdt needed?

 

Awake ! :D

 

DSDT layout-id edit is mandatory for patched AppleHDA. On-the-fly patching or not ! I'm pretty sure that's the reason why it fails for you !

 

And for SMBios, I didn't use RT Variables at all. Just SmUUID, Board Serial Number and random Serial Number in SMBios panel of Clover Configurator. I don't know if it really changes something but it works nice so far. That's why I assumed you'd better keep these datas undisclosed ;).

 

One last thing :

 

If you feel uncomfortable with adding lines in config.plist like <string>AppleHDA</string><key>Replace</key><data>ShnUEQ==</data> etc., just copy what the first screenshot shows in MacPeet's post #206 and you'll be fine ;).

  • Like 1
Link to comment
Share on other sites

  @PolyZargone?

 

You tested HDMI Sound with a Monitor, and have sound out? 

 

I cannot get mine to work.

 

Does your CPU still wake from sleep? I am having issues with that when I try method #1, HDMI Sound, and No wake from sleep, or Monitor not waking on HDMI.

 

 

First off, I cannot figure out how to edit DSDT I am using, (Jake Lo's DSDT from post #2). I open it with DSDT editor, click on that one value, layout ID to 1, but cannot figure out how to save

 

changes.  :wallbash:

 

I use MacPeet's DSDT, no success, not with Method 1, or Method 2.  :censored:

 

For method 2, I patched one part of my Config.plist with:

<key>Graphics</key>
<dict>
<key>DualLink</key>
<integer>1</integer>
<key>FBName</key>
<string>Shrike</string>
<key>Inject</key>
<dict>
<key>ATI</key>
<true/>
<key>Intel</key>
<false/>
<key>NVidia</key>
<false/>
</dict>
<key>NVCAP</key>
<string>0000000000000000000000000000000000000000</string>
<key>VRAM</key>
<integer>0</integer>
<key>VideoPorts</key>
<integer>3</integer>
<key>display-cfg</key>
<string>0000000000000000</string>
<key>ig-platform-id</key>
<string>0x0000</string>
</dict>
<key>KernelAndKextPatches</key>
<dict>
<key>AppleRTC</key>
<true/>
<key>KextsToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>Patch_to_ADI1984A</string>
<key>Find</key>
<data>
ixnUEQ==
</data>
<key>Name</key>
<string>AppleHDA</string>
<key>Replace</key>
<data>
ShnUEQ==
</data>
</dict>
<dict>
<key>Comment</key>
<string>Patch_to_ADI1984A</string>
<key>Find</key>
<data>
eG1sLnps
</data>
<key>Name</key>
<string>AppleHDA</string>
<key>Replace</key>
<data>
em1sLnps
</data>
</dict>
</array>
</dict>

post-744883-0-32668500-1432174377_thumb.png

post-744883-0-59007800-1432174393_thumb.png

Link to comment
Share on other sites

@polyzargone

 

Very nice. Then many other users will have success with it.

Shrike also works for users with HD5450 and other computers.
I already use 10.10.4 Beta and I'm waiting on the next update to the test by on the fly.
 
 
@morpheousman
 
(DSDT-Editor)
1. Change value
2. Compile
3. Save aml as...
 

post-1358580-0-54270400-1432183393_thumb.png

  • Like 1
Link to comment
Share on other sites

All Right, Screw this SH$$##@!  :wallbash:  :wallbash:  :wallbash:

 

Must Be 50  :censored:  Reboots, and over 15 Hours of   :censored: around with this  :censored:.

 

 

As I understand, (or completely DO NOT understand).

 

Method 1, Method For IDIOTS, but apparently not IDIOT PROOF enough for me!  Use AppleHDA Kext Version 3.  Layout ID in DSDT.aml HDEF must be 0x00.

 

REBOOT, Enjoy Sound over HDMI! :)    NO, not for me! :(

 

Tried MacPeets DSDT with AppleHDA.Kext version 3, and I could not even get that to work for Method 1. 

 

 

 

@Macpeet

 

I am Clueless what you are talking about in Post #208, just Clueless. But not needed for method 1 anyways, correct? 

 

 

And I am not even going to go in to how many different ways I tried Method #2. Seems I will need to get more classes in Engineering for that Method.

 

 

 

@PolyZargone

 

I am Clueless what you mean by:

 

 


if you feel uncomfortable with adding lines in config.plist like <string>AppleHDA</string><key>Replace</key><data>ShnUEQ==</data> etc., just copy what the first screenshot shows in MacPeet's post #206 and you'll be fine

 

 

Follow picture? Are you saying I can just click on symbols in Clover Configurator App  and make all necessary edits to Config.plist for Method #2 to work? If so, I have not found the right stuff  

 

to click on yet. I did edits to config manually, as shown in my previous post. I thought the pictures looked all pretty.  :wub:  but not working.

 

Config edits are only needed for method #2 anyway, or am I clueless there too???

 

So, I will forget about Rocket Scientist, Nasa Space Engineer Method 2 for now.

 

Back to method #1

 

Change layout id in DSDT.aml, (Jake Lo's dsdt) from 0x0C to 0x01, and use AppleHDA.kext #3?

 

Wait a minute, forget Method 1 too! 

 

Maybe I need to find a French to German, then back to French, than to English Dictionary?   :hysterical: 

post-744883-0-14874200-1432199970_thumb.png

post-744883-0-41837800-1432199982_thumb.png

Link to comment
Share on other sites

 

Layout ID in DSDT.aml HDEF must be 0x00.

 

No, you're wrong. It's not 0x00 !

 

OK try this attached DSDT :

 

I changed layout-id from 0x0c, 0x00, 0x00, 0x00 to 0x01, 0x00, 0x00, 0x00 in HDEF device part. I used MaciASL for this so I don't know why you're not able to save edits :unsure: .

 

Keep in mind that none of the methods will work if you don't make this change. It's absolutely mandatory for this to work. So using this DSDT will likely fix all your problems as your config.plist edits seems to be OK.

 

I tried with Shrike FB (others settings like NVCAP - useless for AMD cards, video ports, Dual link etc. are non-essentials) and it works fine. I must admit I forgot to test wake/sleep so it may be an issue - needs further tests…

 

So with this attached DSDT, you just have to use patched AppleHDA v.3 or follow vanilla AppleHDA edits + RealkALC.kext instructions provided by MacPeet.

 

One last thing : Do not place AppleHDA's kexts (regardless if it's edited or not) in EFI/Clover/kexts/10.10. It will not work because of dependencies matters. You have to leave it in S/L/E for it to work.

 

[EDIT]

 

Ok, I missed the last two screenshots !

 

I now understand why it fails ! Your HDEF device is placed in the wrong place : it's under SATA device where it should be set as an "independent" device in the PCI0 device tree !!!

 

The attached DSDT fix this so you just have to use it and you'll be fine :D

 

PS : Don't use DSDT Editor, it's a bit too old software IMHO. You should use MaciASL for DSDT editing.

DSDT.aml.zip

  • Like 1
Link to comment
Share on other sites

@polyzargone

 

First line of my last post had a typo, I meant 0x01, not 0x00. I got it correct at the end of the post.

 

So, as I stated in my last post, for Method 1, I even tried the DSDT that MacPeet attached in Post #216, and that did not even work for me.

 

Now for the DSDT in your last post,  drumroll please....

 

Tried both Methods, no sound over HDMI. :(

 

I think I must have an easy mistake that I am overlooking  here somewhere?

 

I keep telling myself to stay on Method 1 for now, as it is the simplest, and it would not surprise me if they both got fixed when problem is found.

 

Appreciate the help!

Link to comment
Share on other sites

Could you post your :

 

- DSDT (the one you used to so far, not mine or MacPeet one's)

- IOReg (with your DSDT loaded at boot)

- config.plist

 

And check that :

 

- No AppleHDADisabler.kext

- No VoodooHDA.kext

- No HDAEnabler.kext

 

in S/L/E nor EFI/Clover/kexts/10.10

 

There's no reason why it fails unless some unappropriated or misplaced kexts.

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...