Jump to content

AppleALC — dynamic AppleHDA patching


vit9696
5,390 posts in this topic

Recommended Posts

19 hours ago, Pavo said:

Think someone needs to explain this little more, because I changed layout-id to alc-layout-id in SSDT for HDEF device and this is what I get in IORegistry.

sDITTgL.png

alc-layout-id = 2

apple-layout-id = 7

layout-id = 7

#scratcheshead

 

You're the MAN, the alc-layout-id in DSDT fixed my Audio to get working in addition to AppleALC 1.2.8 v2, really thanks PAVO :thumbsup_anim: :wink_anim:

Link to comment
Share on other sites

2 minutes ago, ammoune78 said:

 

You're the MAN, the alc-layout-id in DSDT fixed my Audio to get working in addition to AppleALC 1.2.8 v2, really thanks PAVO :thumbsup_anim: :wink_anim:

You welcome I guess lol

  • Haha 1
Link to comment
Share on other sites

5 minutes ago, Pavo said:

You welcome I guess lol

 

I was confused with too much comments, some have it working some no, some suggest things some other, but vit9696 pushed me to try them all! I didn't have had any problem to install Mojave from the first try, until Audio and Wifi, but wifi got working on the second attempt by adding Atheros kext into S\L\E.

 

I confirm that Ozmosis also work fine except APFS and some things that need a little workaround, cecekpawon maybe will post result, otherwise if he let me i'll post the needs ^_^

Link to comment
Share on other sites

Quote

You may replace `layout-id` with `alc-layout-id` after an upgrade, but for compatibility reasons existing `layout-id` values will be automatically converted to `alc-layout-id`.

 success on Mojave but not on Sierra/High Sierra.

It seems "auto convertion" of existing "layout-id" to "alc-layout-id" does not work on Sierra/High Sierra... it works n Mojave though.

Just my observation.

Thanks

Edited by ellaosx
  • Like 1
Link to comment
Share on other sites

1 hour ago, ellaosx said:

 success on Mojave but not on Sierra/High Sierra.

It seems "auto convertion" of existing "layout-id" to "alc-layout-id" does not work on Sierra/High Sierra... it works n Mojave though.

Just my observation.

Thanks

Hi

 

I left layout-id=1 (for my system) inject by Clover in High Sierra and Mojave, AppleAlc v1.2.8 works well, on both OS. I also use -lilubeta -alcbeta on 10.14.

Edited by Matgen84
  • Like 2
Link to comment
Share on other sites

1 hour ago, Pavo said:

Anyone else try using latest 1.2.8 with SIP enabled on Mojave? It doesn't seem to work with SIP enabled.

AppleALC v1.2.8 (built 3 days ago) is working fine here with SIP: Enabled under 10.14 Beta, as I can hear my Audio Output, my Input just works either. My audio Codec is Realtek ALC269-VB (10EC:0269), I leave Audio Inject within Clover config.plist=empty.. but just patcing DSDT with:

 

Spoiler

Device (HDEF)
            {
                Name (_ADR, 0x001B0000)  // _ADR: Address
                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 (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    Store (Package (0x10)
                        {
                            "AAPL,slot-name", 
                            "Built In", 
                            "name", 
                            "OnBoard Audio Controller", 
                            "model", 
                            "ALTEC Lansing ALC269-VB Sound System", 
                            "device_type", 
                            Buffer (0x11)
                            {
                                "Audio Controller"
                            }, 

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

                            "MaximumBootBeepVolume", 
                            Buffer (One)
                            {
                                 0x4D                                           
                            }, 

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

                            "PinConfigurations", 
                            Buffer (Zero){}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

 

.. though it gives LayOut-id=7 as we've known on ioreg. Boot-args: -lilubetaall -alcbeta. Thanks

 

AppleALC1.2.8_Lilu1.2.4.zip

bootlog_a43sj_r4542_SIP.zip

Screen Shot 2018-06-15 at 10.53.53.png

Edited by Badruzeus
Link to comment
Share on other sites

hello @vandroiy2012

 

I have a new codec.

 

ALC257 - LayoutID 11 (0B) for Lenovo T480 or compatible

 

Resources_alc257_ID11.zip

 

can you please added the new codec?

 

and please this codec here...

 

https://www.insanelymac.com/forum/topic/311293-applealc-—-dynamic-applehda-patching/?do=findComment&comment=2616354
 
many thanks

  • Like 2
Link to comment
Share on other sites

8 hours ago, Badruzeus said:

AppleALC v1.2.8 (built 3 days ago) is working fine here with SIP: Enabled under 10.14 Beta, as I can hear my Audio Output, my Input just works either. My audio Codec is Realtek ALC269-VB (10EC:0269), I leave Audio Inject within Clover config.plist=empty.. but just patcing DSDT with:

 

  Reveal hidden contents


Device (HDEF)
            {
                Name (_ADR, 0x001B0000)  // _ADR: Address
                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 (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    Store (Package (0x10)
                        {
                            "AAPL,slot-name", 
                            "Built In", 
                            "name", 
                            "OnBoard Audio Controller", 
                            "model", 
                            "ALTEC Lansing ALC269-VB Sound System", 
                            "device_type", 
                            Buffer (0x11)
                            {
                                "Audio Controller"
                            }, 

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

                            "MaximumBootBeepVolume", 
                            Buffer (One)
                            {
                                 0x4D                                           
                            }, 

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

                            "PinConfigurations", 
                            Buffer (Zero){}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

 

.. though it gives LayOut-id=7 as we've known on ioreg. Boot-args: -lilubetaall -alcbeta. Thanks

 

AppleALC1.2.8_Lilu1.2.4.zip

bootlog_a43sj_r4542_SIP.zip

Screen Shot 2018-06-15 at 10.53.53.png

This is what I get in kernel.log when I set 0x67 in Clover config

2018-06-15 08:33:38.764533-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.789460-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_lookup_locked can't have both write and exec at the same time
2018-06-15 08:33:38.800490-0400 0x637      Debug       0x0                  0      0    kernel: (AppleSystemPolicy) Disabling CS_ENFORCEMENT for entitled process.
2018-06-15 08:33:38.807940-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.826884-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_lookup_locked can't have both write and exec at the same time
2018-06-15 08:33:38.845380-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.865927-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_lookup_locked can't have both write and exec at the same time
2018-06-15 08:33:38.886530-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.886978-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_lookup_locked can't have both write and exec at the same time
2018-06-15 08:33:38.887462-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.887937-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.888406-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_lookup_locked can't have both write and exec at the same time
2018-06-15 08:33:38.888861-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.889316-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.889769-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_lookup_locked can't have both write and exec at the same time
2018-06-15 08:33:38.904604-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.905024-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_lookup_locked can't have both write and exec at the same time
2018-06-15 08:33:38.905443-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.905859-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_lookup_locked can't have both write and exec at the same time
2018-06-15 08:33:38.906276-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.906692-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_lookup_locked can't have both write and exec at the same time
2018-06-15 08:33:38.907108-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.907524-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_lookup_locked can't have both write and exec at the same time
2018-06-15 08:33:38.907940-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.908354-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_lookup_locked can't have both write and exec at the same time
2018-06-15 08:33:38.908768-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.909183-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_protect can't have both write and exec at the same time
2018-06-15 08:33:38.909597-0400 0x527      Default     0x0                  0      0    kernel: CODE SIGNING: 131[coreaudiod] vm_map_lookup_locked can't have both write and exec at the same time

 

Link to comment
Share on other sites

On 6/15/2018 at 5:57 AM, Pavo said:

Anyone else try using latest 1.2.8 with SIP enabled on Mojave? It doesn't seem to work with SIP enabled.

 

Since I have sound with SIP enabled, I'd say it works. :)

Also, not sure why are we talking about a kernel log for 0x67 (SIP disabled) if the issue is with SIP enabled... I guess I'm missing something.

 

If we're talking about the latest latest AppleALC 1.2.8...meaning compiled with the latest changes... my guess is that it might also require the latest of Lilu kext (so 1.2.4), to work. :)

I compiled both. So if you wanna give it a try, they are both in the attachment. Everything works fine here.

 

[FILES REMOVED]

 

update: ok, something might be going on here. Cause I just lost sound for no apparent reason. JUST the sound itself. Icon in menu was still enabled. Everything looked to be perfectly fine. But just no actual sound. Got it back by rebuilding kernelcache... Hmmm..weird.

 

Anyway, switched back to previous kexts.

Edited by arsradu
  • Haha 1
Link to comment
Share on other sites

4 hours ago, arsradu said:

 

Since I have sound with SIP enabled, I'd say it works. :)

Also, not sure why are we talking about a kernel log for 0x67 (SIP disabled) if the issue is with SIP enabled... I guess I'm missing something.

 

If we're talking about the latest latest AppleALC 1.2.8...meaning compiled with the latest changes... my guess is that it might also require the latest of Lilu kext (so 1.2.4), to work. :)

I compiled both. So if you wanna give it a try, they are both in the attachment. Everything works fine here.

AppleALC & Lilu.zip

 

update: ok, something might be going on here. Cause I just lost sound for no apparent reason. JUST the sound itself. Icon in menu was still enabled. Everything looked to be perfectly fine. But just no actual sound. Got it back by rebuilding kernelcache... Hmmm..weird.

 

Anyway, switched back to previous kexts.

Yeah my bad that was a typo I meant to say when csrconfig was set as 0x0, same thing happens to me also, icon is there device ioreg looks normal but you can't open Sound under System Preferences and things lock up. I don't know why you got it back rebuilding kernel cache, shouldn't the kernel cache already be good since everything is being injected by Clover? 

Link to comment
Share on other sites

11 minutes ago, Pavo said:

Yeah my bad that was a typo I meant to say when csrconfig was set as 0x0, same thing happens to me also, icon is there device ioreg looks normal but you can't open Sound under System Preferences and things lock up. I don't know why you got it back rebuilding kernel cache, shouldn't the kernel cache already be good since everything is being injected by Clover? 

Should... apparently wasn't. :))

 

Weird thing is that, even after putting back all kexts and setting config to 0x3 (which, as I'm sure you know, it's "partially" disabled, or custom config)...well, I still had no sound.

Edited by arsradu
Link to comment
Share on other sites

2 minutes ago, arsradu said:

Should... apparently wasn't. :))

So... just did a test and did a re-install with SIP enabled and the same thing happens. Don't think its a Clover issue maybe hooking issue from the driver itself. Still investigating.

Link to comment
Share on other sites

Hey y'all. Having trouble with ALC1150 on Mojave with the latest build posted. Have the volume slider in the menu bar, but no devices besides AirPlay. Using the default AppleHDA kext (I think... I did mess with it and had to download a new one off some other forum but if someone else could provide just to be sure that would be nice). Also using inject 1. Any help is appreciated. Attached config and some screenshots.

516667337_ScreenShot2018-06-17at11_59_07PM.png.26c7fb917426a299a145d07bfb940ed9.png

 

 

Edited by sanmane
Link to comment
Share on other sites

Hello.

I have ALC236 with codec 13.

I couldn't have the sound work properly every time on boot or awaken without the code below executed. (CodecCommander is installed)

hda-verb 0x19 SET_PIN_WIDGET_CONTROL 0x25
hda-verb 0x14 SET_EA 0x02

With the current version of AppleALC (CodecCommander is now built-in) and removed CC from L/E, the code does not work anymore.

Inserting the code into the Custom Command section of CC will not work, still can't figure the reason out. (Or maybe I missed something or insert the command in a wrong way)

Is there anything to do with CC or appleALC to solve the problem? Thanks.

Link to comment
Share on other sites

2 hours ago, sanmane said:

Hey y'all. Having trouble with ALC1150 on Mojave with the latest build posted. Have the volume slider in the menu bar, but no devices besides AirPlay. Using the default AppleHDA kext (I think... I did mess with it and had to download a new one off some other forum but if someone else could provide just to be sure that would be nice). Also using inject 1. Any help is appreciated. Attached config and some screenshots.

1467188193_ScreenShot2018-06-17at11_58_13PM.png.60164a9d372f838a63683114c9041e92.png

 

Well, by the looks of it, you've patched the {censored} out of the poor AppleHDA kext. :)) AppleALC.kext needs the vanilla/untouched/unmodified AppleHDA, in order to work.
 

Also, I know this is your first post on this forum, but one of the things you do when you post your config, is clean it up of any serials in SMBIOS.

Also, an ioreg would help a lot. And for a better overview, I would suggest uploading the entire Clover folder.

kext-dev-mode=1 and rootless=0 are obsolete probably since El Capitan.

If you have custom DSDT files in Clover/ACPI/patched, please, remove them.

I cleaned your config a little bit and changed a few things here and there. If you want, give it a try.

 

If you still wanna keep the one you have, make a backup of it. Then replace it with the attached one. I also removed the serials from SMBIOS. You can remove the attachment from your post.

Also, AppleALC builds posted here are experimental/for test purposes only.

 

Official builds can be downloaded from the official github here: https://github.com/vit9696/AppleALC/releases

Please, keep in mind that, for Mojave, you need at least AppleALC 1.2.8 (which hasn't been officially released yet).

 

 

 

 

 

config.plist.zip

Edited by arsradu
Link to comment
Share on other sites

8 hours ago, arsradu said:

 

Well, by the looks of it, you've patched the {censored} out of the poor AppleHDA kext. :)) AppleALC.kext needs the vanilla/untouched/unmodified AppleHDA, in order to work.
 

Also, I know this is your first post on this forum, but one of the things you do when you post your config, is clean it up of any serials in SMBIOS.

Also, an ioreg would help a lot. And for a better overview, I would suggest uploading the entire Clover folder.

kext-dev-mode=1 and rootless=0 are obsolete probably since El Capitan.

If you have custom DSDT files in Clover/ACPI/patched, please, remove them.

I cleaned your config a little bit and changed a few things here and there. If you want, give it a try.

 

If you still wanna keep the one you have, make a backup of it. Then replace it with the attached one. I also removed the serials from SMBIOS. You can remove the attachment from your post.

Also, AppleALC builds posted here are experimental/for test purposes only.

 

Official builds can be downloaded from the official github here: https://github.com/vit9696/AppleALC/releases

Please, keep in mind that, for Mojave, you need at least AppleALC 1.2.8 (which hasn't been officially released yet).

 

 

 

 

 

config.plist.zip

I'll give it a try, can you provide or link me to a vanilla AppleHDA kext? As for AppleALC I'm on that 1.2.8v2 you posted. 

 

Edit: That config initially wouldn't boot, added -lilubetaall and seems to be good now. Still no audio, probably need a clean AppleHDA.

Edited by sanmane
Link to comment
Share on other sites

1 hour ago, sanmane said:
I'll give it a try, can you provide or link me to a vanilla AppleHDA kext? As for AppleALC I'm on that 1.2.8v2 you posted. 

 

Edit: That config initially wouldn't boot, added -lilubetaall and seems to be good now. Still no audio, probably need a clean AppleHDA.

 

Here you go.

 

You can choose your preferred method of installation. Or you can do this:

sudo -s
[password]
rm -R -v /System/Library/Extensions/AppleHDA.kext
cp -R -v ~/Desktop/AppleHDA.kext /System/Library/Extensions/AppleHDA.kext
rm -R -v /System/Library/Caches/com.apple.kext.caches/Startup/*
Then reboot.

 

AppleHDA.kext.zip

 

Edit: please wait

Edit2: try now.

Edited by arsradu
Link to comment
Share on other sites

23 minutes ago, arsradu said:

 

Here you go.

 

You can choose your preferred method of installation. Or you can do this:


sudo -s
[password]
rm -R -v /System/Library/Extensions/AppleHDA.kext
cp -R -v ~/Desktop/AppleHDA.kext /System/Library/Extensions/AppleHDA.kext
rm -R -v /System/Library/Caches/com.apple.kext.caches/Startup/*
 Then reboot.

 

AppleHDA.kext.zip

 

Edit: please wait

Edit2: try now.

Rebooting now, but here's IOreg... https://nofile.io/f/qQ1Dhofy6nQ/iMac.ioreg (over 10mb)

Link to comment
Share on other sites

3 minutes ago, sanmane said:

Rebooting now, but here's IOreg... https://nofile.io/f/qQ1Dhofy6nQ/iMac.ioreg (over 10mb)

 

I guess you used one of the newer (apparently not better) versions of IORegistryExplorer which tend to corrupt the result.

 

Could you please, try again, with the attached IORegistryExplorer?

IORegistryExplorer.zip

Edited by arsradu
Link to comment
Share on other sites

3 minutes ago, arsradu said:

 

I guess you used one of the newer (apparently not better) versions of IORegistryExplorer which tend to corrupt the result.

 

Could you please, try again, with the attached IORegistryExplorer?

IORegistryExplorer.zip

Odd, give that a try. Also... didn't seem to work with that AppleHDA, I tried both inject 1 and 7.

sanmaneiMac.ioreg

Link to comment
Share on other sites

1 minute ago, sanmane said:

Odd, give that a try. Also... didn't seem to work with that AppleHDA, I tried both inject 1 and 7.

sanmaneiMac.ioreg

 

7 should be fine for ALC1150 Desktop. And it definitely works, cause I already tested that. :)

The last ioreg works. And also shows that you've pretty much got no AppleALC injection. :)) So, of course, no sound for you.

 

Could you, please, upload your complete Clover folder (make sure you remove the serials in SMBIOS)?

Link to comment
Share on other sites

2 minutes ago, arsradu said:

 

7 should be fine for ALC1150 Desktop. And it definitely works, cause I already tested that. :)

The last ioreg works. And also shows that you've pretty much got no AppleALC injection. :)) So, of course, no sound for you.

 

Could you, please, upload your complete Clover folder (make sure you remove the serials in SMBIOS)?

https://nofile.io/f/SXPNeMKwx8T/EFI-sanmane.zip

Link to comment
Share on other sites

14 minutes ago, sanmane said:

 

Well, I'm not sure why it wouldn't work for you to use -alcbeta -lilubeta. Works fine for me. However, I think you either add -lilubeta & -alcbeta OR -lilubetaall. But not all of them together. :)

 

Try again with either one or the other of the two options, and let's see another ioreg, please.

Edited by arsradu
Link to comment
Share on other sites

×
×
  • Create New...