Contribute
Register

[Guide] Lenovo Y50 (UHD or 1080p) using Clover UEFI

Status
Not open for further replies.
with alcapplid=1 the HDMI audio and build-in audio both don't work

Yeah, make sense. layout-id 1 was removed from Mojave.

Try with attached AppleALC.kext (but install FakePCIID_Intel_HDMI_Audio.kext). alcapplid=2 (or even default at 7).
This AppleALC.kext removes all patching for AppleHDAController device-id 0x0c0c.
Which means with this AppleALC, you can use only FakePCIID_Intel_HDMI_Audio.kext for the HDAU mapping/spoofing (0x0c0c as 0x0a0c).

My u430 has 0x0a0c and HDMI audio is working fine (with AppleALC).

Edit: Deleted interim AppleALC build.
 
Last edited:
Yeah, make sense. layout-id 1 was removed from Mojave.

Try with attached AppleALC.kext (but install FakePCIID_Intel_HDMI_Audio.kext). alcapplid=2 (or even default at 7).
This AppleALC.kext removes all patching for AppleHDAController device-id 0x0c0c.
Which means with this AppleALC, you can use only FakePCIID_Intel_HDMI_Audio.kext for the HDAU mapping/spoofing (0x0c0c as 0x0a0c).

My u430 has 0x0a0c and HDMI audio is working fine (with AppleALC).
With your AppleALC.kext and alcapplid=2 both HDMI audio and build-in audio are working fine. Thank you very much.
 
With your AppleALC.kext and alcapplid=2 both HDMI audio and build-in audio are working fine. Thank you very much.

Do you have also installed FakePCIID_Intel_HDMI_Audio.kext and FakePCIID?
 
With your AppleALC.kext and alcapplid=2 both HDMI audio and build-in audio are working fine. Thank you very much.

I assume it also works ok if you don't specify alcapplid=2 (eg. end up using the default which is 7).
Please try and report back.

I will look into a way to disable the AppleHDAController patching in AppleALC in a way that can be officially supported.
 
Do you have also installed FakePCIID_Intel_HDMI_Audio.kext and FakePCIID?

Yes... it would be required for mapping HDAU 0x0c0c (unsupported) to 0x0a0c (supported).
 
I assume it also works ok if you don't specify alcapplid=2 (eg. end up using the default which is 7).
Please try and report back.

I will look into a way to disable the AppleHDAController patching in AppleALC in a way that can be officially supported.
I tried from 2 to 7, except 3(both HDMI audio and build-in audio don't work), with the other values, both HDMI audio and build-in audio work well.
 
I tried from 2 to 7, except 3(both HDMI audio and build-in audio don't work), with the other values, both HDMI audio and build-in audio work well.

It means the default value of 7 is fine (likely any valid value for AppleHDA works).

But we need a more official way to disable these actions of AppleALC.

Try attached AppleALC + appropriate config.plist.

...

The config plist change injects alc-controller-patch-disable=1 on HDAU to (hopefully) avoid the default AppleALC patching to AppleHDAController, which then allows FakePCIID to do its thing unaffected by other (not as effective) things that AppleALC is trying to do.

Reply with PR files.

EDIT: Removed interim files (fix now integrated into y50 repo).
 
Last edited:
It means the default value of 7 is fine (likely any valid value for AppleHDA works).

But we need a more official way to disable these actions of AppleALC.

Try attached AppleALC + appropriate config.plist.

This has the following change to AppleALC:
Code:
NUC6i7KYK:applealc.git rehabman$ git diff
diff --git a/AppleALC/kern_alc.cpp b/AppleALC/kern_alc.cpp
index 1a37434..0a1807b 100644
--- a/AppleALC/kern_alc.cpp
+++ b/AppleALC/kern_alc.cpp
@@ -533,6 +533,14 @@ void AlcEnabler::grabControllers() {
                        sect = WIOKit::findEntryByPrefix(sect, ADDPR(codecLookup)[lookup].tree[i], gIOServicePlane);
                     
                        if (sect && i == ADDPR(codecLookup)[lookup].controllerNum) {
+
+                // allow disabling controller patching
+                uint32_t disable;
+                if (WIOKit::getOSDataValue(sect, "alc-controller-patch-disable", disable) && disable) {
+                    SYSLOG("alc", "skipping controller at %s due to alc-controller-patch-disable", ADDPR(codecLookup)[lookup].tree[i]);
+                    break;
+                }
+
                                // Nice, we found some controller, add it
                                uint32_t ven {0}, dev {0}, rev {0}, platform {ControllerModInfo::PlatformAny}, lid {0};

T config plist change injects alc-controller-patch-disable=1 on HDAU to (hopefully) avoid the default AppleALC patching to AppleHDAController, which then allows FakePCIID to do its thing unaffected by other (not as effective) things that AppleALC is trying to do.

Reply with PR files.
With these AppleALC and config.plist, the build-in audio work but the HDMI audio doesn't work.
 

Attachments

  • Problem Reporting.zip
    4.6 MB · Views: 90
With these AppleALC and config.plist, the build-in audio work but the HDMI audio doesn't work.

Need full PR files as requested.
 
Status
Not open for further replies.
Back
Top