Apple Event: May 7th at 7 am PT

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

MBP UEFI WINDOWS SOUND FIXED!!!!


If anyone is still interested I have found the solution for audio on MBP 2011 Windows 10 UEFI installs - it has taken me 4 years to figure out. I was given the answer from a tutorial only adjacently related -here:

https://egpu.io/forums/pc-setup/fix-dsdt-override-to-correct-error-12/

essentially what we knew was that windows didn't 'see' the correct audio devices when booted in pure efi-

The part that was frustrating to me was that many users like myself have lots of UEFI installs on their 2011 MBP and those OS's have no problem 'seeing' the HD audio controller -

So what was windows doing different?

I had messed around with mm commands in a UEFI shell (The shell provided in the rEFIt package) to no avail*

I had tried to pass SETPCI commands from grub into Windows 10- no luck*

A quote from the link above got my brain spinning

"A Windows system's DSDT table root bridge definition (ACPI PNP0A08 or PNP0A03) is usually confined to a reserved 32-bit space (under 4GB) budgeted to be large enough to host the notebook's PCIe devices. A watermark TOLUD value is then set and locked in the system firmware. Windows OS honors the root bridge definition and will allocate PCIe devices within it. macOS ignores the root bridge constraints as too does Linux when booted with the 'pci=noCRS' parameter. Neither of those OS require a DSDT override and can allocate freely in the huge 64-bit PCIe address space"

So Windows 'honors' the root bridge and OSX and linux disregard it --hmmm interesting.

As someone who also deals in hackintoshes I am very aware of DSDT's and how editing them can help get OSX running on home brew PC hardware- I had played around with installing Clover (the UEFI bootloader almost synonymous with Hackintoshes) on USB thumb drives and putting the DSDT from my MBP 2011 in the /Clover/ACPI/Windows folder - still nothing-- I thought that pointing windows to a DSDT would be enough.......

A side note is that there are people who have 'bricked' their real Macs when using clover, I have never had that issue personally (a sub-link in the link above describes such a situation)*

If you follow the guide and make a modified DSDT (one that add 'qwords' to the dwords section) you can test it in two ways-

I used Maciasl to extract and edit my DSDT to add a 'Qword' section - I placed the DSDT in two locations /EFI/Clover/ACPI/Patched [not sure if that one matters] & /EFI/Clover/ACPI/Windows

holding ALT/option during bootup I selected "EFI Boot" from the USB clover and booted into Clover

for the exact Clover configuration send me a message

After booting into windows the sound card was immediately working (this was because I had installed the cirrus logic drivers from bootcamp 4) - the display audio driver in device manager had an exclamation point but I was able to install the display audio driver from intel's driver support for the i7 2470m CPU in this machine-

I also looked at device manager via 'by resources' and saw that a new entry 'Large memory with an address range appeared

And low and behold the address range for the 'large memory section' contained the range for the hd audio controller

I then wanted to see if the method described in the initial link posted above where you force that memory map into the registry and turn on 'test signing' worked --

it did, which allowed me to boot directly into windows without the help of clover --

*NOTE: when I tested the registry method I skipped the first few steps since I already had a modified DSDT- I did need to create the 'C:\dsdt folder and extract the windows binaries to that folder - but I did not use their acpi dump nor compiler (I check for errors and compiled my dsdt in Maciasl in OSX)

I would gladly go more in depth but I doubt there are many more who need this information- just glad to have figured it out without the BIOS emulation of bootcamp- going to test this method on other 'pre 2013' Macs with non complient UEFI bios'

MacBook Pro

Posted on Feb 3, 2019 11:57 AM

Reply
Question marked as Best reply

Posted on Jun 23, 2019 11:10 AM

https://sourceforge.net/projects/maciasl/


in OSX dump your dsdt file and add the 'qwords' as described

in this link https://egpu.io/forums/pc-setup/fix-dsdt-override-to-correct-error-12/ compile your dsdt and save it as 'dsdt-modified.aml' (put it on a shared drive or a thumb drive to be able to copy it into Windows



'i. Download and install required tools:




mkdir c:\dsdt
c: & cd \dsdt
set 64bit_OS_asl="C:\Program Files (x86)\Windows Kits\10\Tools\x64\ACPIVerify\asl.exe"
set 32bit_OS_asl="C:\Program Files (x86)\Windows Kits\10\Tools\x86\ACPIVerify\asl.exe"
copy /y %32bit_OS_asl% c:\dsdt > nul & copy /y %64bit_OS_asl% c:\dsdt > nul
if not exist c:\dsdt\asl.exe echo ERROR: Failed to copy asl.exe to c:\dsdt



copy your dsdt-modified.aml to C:\dsdt


Step 2. Load your dsdt-modified.aml as a registry override or in-memory substitution 

 

OPTION 1: Load your dsdt-modified.aml as a registry override with Windows test signing mode enabled 

 

Here we load your dsdt-modified.aml as Windows registry DSDT override. Do note that an invalid dsdt-modified.aml loaded in this way can cause a BSOD on bootup. Furthermore, Windows test signing mode can be problematic for app compatibility. Both these issues can be avoided by using OPTION 2: Avoid test signing mode - load your dsdt-modified.aml as an in memory DSDT substitution.

 

i. At Command Prompt (admin) type the following. WDK containing asl.exe must be installed per Step 1 (i) and (ii) for this to work.

c: & cd \dsdt
asl /loadtable dsdt-modified.aml  

 

ii. Enable TESTSIGNING mode for the registry override to apply. At the Command Prompt (admin) type:

bcdedit -set TESTSIGNING ON

 

If get an error like below when do this, then disable SECURE BOOT in your BIOS.

An error has occurred setting the element data
The value is protected by Secure Boot policy and cannot be modified or deleted

 

iii. Reboot your system and check for 'large memory' in step 3.








305 replies

Apr 15, 2020 8:14 AM in response to TGIK

I followed itayemi's steps and the audio issue is finally fixed on my mbp mid-2012 13 inch!


Thanks for all of your contributions for this to work! xAndrewH1993x itayemi and of course TGIK! I have to give credit to T Loner too though he's not that popular in this thread. It's him who posted around saying that the audio issue is due to the uefi and old macs, that's why I changed my keyword search strategy to find this thread.


I'm so lucky, I didn'thave to wait 4 years to install a windows on my mac, I started trying only a few days ago. Believe me, I'm a noob, all i want is to play AOE on steam. I almost dunno how to use the command, let alone all those in depth code editing.


I studied this post like it's my final disseartation and finally chose to follow itayemi's steps. I was tempted to use valor but since my mbp is mid-2012, it doesn't guranteed success. Here's what I did,


  1. tried bootcamp installer, of course it's designed to fail.
  2. did a little resaerch and made my own bootdisk, but windows didn't allow fat32/exfat as partition(a file is too big).
  3. Then I came across a magical video, I was about to give a dislike, but then, wait a second, something new!? https://www.youtube.com/watch?v=Ez46RNTR2Ws, all it says is, to partition the windows portion into mac journaled, then delete and press next when installing windows. Worked!
  4. Audio issues, searhc everything that would come to one's mind, and saw T Loner's comments on those posts
  5. Came across this post and edited my dsdt(whatever that is).




May 14, 2020 11:57 AM in response to GustavoPi

So you made a patched dsdt (or one was made for you)?


You created a c:\dsdt folder?


you downloaded



extracted the first (WBT) to this newly created c:\dsdt folder?

ran the second installer?


ran this command


c: & cd \dsdt
set 64bit_OS_asl="C:\Program Files (x86)\Windows Kits\10\Tools\x64\ACPIVerify\asl.exe"
set 32bit_OS_asl="C:\Program Files (x86)\Windows Kits\10\Tools\x86\ACPIVerify\asl.exe"
copy /y %32bit_OS_asl% c:\dsdt > nul & copy /y %64bit_OS_asl% c:\dsdt > nul
if not exist c:\dsdt\asl.exe echo ERROR: Failed to copy asl.exe to c:\dsdt


and this command


c: & cd \dsdt
asl /loadtable dsdt-modified.aml  


and this command


bcdedit -set TESTSIGNING ON


and it still is not booting in 'test mode' ?


-let me know


Cheers

Mar 13, 2020 10:36 AM in response to Loner T

Simple perhaps...but you are asking him to open the chassis twice, disconnect delicate flat cabling etc....it is all good brother, it was a playful tease ----- personally since I don't use thunderbolt on the windows side, have no use for a second monitor (I have plenty of desktops)-- I believe the EFI method just makes for a faster, more elegant machine-- even in shallow ways; the native GOP boot screen graphics look better then the VESA modes of BIOS emulation. Both methods have caveats — and besides my boot loader screen looks way more interesting then you ever could do with BIOS emulation where even if it is a linux disk you have the boring hard disk icon and the title of ‘WINDOWS’ 


the fruit salad loader

Apr 9, 2020 1:34 PM in response to TGIK

Hello Again,


Also to add this is how the dsdt Directory looks like ...

i Modified the dsdt-modified.dsl and added the QWordMemory.Then did the 
(OPTION 2: Avoid test signing mode - load your dsdt-modified.aml as an in memory DSDT substitution)
but sadly now im stuck at the Big warning and dont know how to proceed.

kindly advise sir.

thanks

Sep 14, 2020 11:59 PM in response to BetoCN

Hi, I have exactly the same issue. I am Using a "Apple MacBook Pro 15-Inch "Core i7" 2.0 Early 2011" (MacBookPro8,2)" and Valor Lite.


https://everymac.com/systems/apple/macbook_pro/specs/macbook-pro-core-i7-2.0-15-early-2011-unibody-thunderbolt-specs.html


When installing the Intel Graphic driver from the Bootcamp Package or from another source, like latest driver from Intel Website, I get a Bluescreen.




I also fixed this issue by removing the" IntelHDLegacyGraphics64.exe"from the "...\Resources\Drivers\Pre_Downloaded\BootCamp\Drivers\Intel\" folder.


Anyone has an idea how to fix this?

The rest worked great and many thx to every one who supported this great solution.


Dec 9, 2020 11:10 PM in response to TGIK

DSDT PATCH BREAK! BEWARE OF UPDATE!


Solution to fix:

Reapply the patch by TGIK's method or itayemi's method to manually apply the patch through Clover bootloader or Windows. If you are a 2011 MacBook Pro user using Windows 10 on EFI/GPT, you can take advantage of my project called Valor (AIO) & Valor Lite. This script will automate in a batch script that will take you in a step by step walkthrough to applying a DSDT patch to enable sound. This has custom up to date bootcamp drivers that will fix Blue Screen Of Death issues. If you are a current Valor user, please re-run Valor to reapply patch. Please if you have any questions feel free to reach out to me on my Discord Server: https://discord.gg/w3TfdfXuN8 (Please keep in mind my discord is still under construction.)

[Link Edited by Moderator]

Feb 26, 2019 8:18 AM in response to Loner T

In response to why I would do all this work - my answer is embedded in your response -


1) Bios emulation sucks, yes you can patch the MBR to activate AHCI mode but.....that sucks --so do hybrid GPT/MBR schemes (it's a 'bad' work around)


2) It is precisely because Apple doesn't support it that it becomes that more compelling --- I knew it was possible - I hated the 'knee-jerk' response of 'just use bootcamp' etc


Apple can be, and certainly has been a great (slight tongue-in-cheek) company -- but their tendency to obscure the truth about their products and the deep veil of restrictions they put on things again, makes it fun and compelling to 'stick it to them'




Mar 15, 2019 9:20 PM in response to Loner T

Cheers,


I do actually have FreeBSD 12 on there :) , used to have OpenBSD ---Maybe if eCOMSTATION ever supports UEFI I could try it----Using only UEFI installs It's fun to use Mac's built in boot menu (was an early rEFIt and rEFInd user) by making small HFS+ partitions with a SYSTEM/LIBRARY/CORESERVICES structure to put efi bootloaders directly or a symlink to the ESP and make a .VolumeIcon.icns image of my choice----- Never intended to be so flippant in my responses I just am always trying to figure out how to do things that are not documented but perfectly safe using my background in IT -


You are probably right; most users should follow the well documented protocol--But there once was a time when Apple attracted the 'power user tinkerer' and I come from that legacy - so as much as I can appreciate the 'appliance-like, don't need to understand nature' of Apple computers.....it is after all (after the switch to intel) an x86 x64 computer--


-Derek Trueblood Riddle

Mar 21, 2019 10:16 AM in response to TGIK

I have successfully installed EFI based Windows 10 on my mid 2012 MacBook pro and have a working egpu setup with a Razer Core X and Vega 56. I am plagued with the no sound cirrus audio error. Any way you could share the DSDT file and or how does one compile and load to the  EFI automate-eGpu solution by Goalque or even load it to REFind. It is not a deal breaking working with no sound on the go but it would be awesome to having it 100%


Mar 21, 2019 11:00 AM in response to sdgros01

You need to use a DSDT for your exact computer


use this software to dump your DSDT in OSX : https://sourceforge.net/projects/maciasl/


Then, following the link I posted you have to modify a section in that DSDT--


If you are not going to use clover (which I would advise against unless you are very familiar with how it works) you have to follow the guide to force windows to use that DSDT with a registry edit -


I could walk you through how to get and modify your DSDT --- if you happen to be the southern California area I could work with you in person -


If you are going to use rEFInd you have to use the registry edit method as rEFInd does not have the capability that Clover has to force a DSDT into memory every boot -


reach out to me and I will help you as much as I can


-Cheers





Apr 15, 2019 10:42 AM in response to McForse

You can do this without using Clover and use the registry hack detailed in the post ---I alluded to the potential dangers of using Clover in my original post but for me personally, I have never had a problem using Clover on a 'real Mac.' From my perspective it seems that is usually 'operator error' when people have 'bricked' their macs using Clover.

May 11, 2019 7:41 PM in response to dw1985

I would suggest using the registry mod method -- if you have a good rEFInd setup that you spent time customizing there is little point in moving over to Clover -


To answer your questions though->


I cannot confirm that there are no issues when using Clover installed directly to an EFI partition -- I have never had issues, and the people who have claimed that Clover 'bricked' their Macs I am suspect of--- despite that, I would only endorse the Clover method if you are familiar with how it functions.



**NOTE**


You also don't have to install Clover to the EFI partition, on another 2011 MBP I have a small HFS+ partition where clover is installed where I blessed the volume to have it show up in the boot menu selector --




2) Yes, Clover can be customized to only show what drives you want visible


But again, if you have a good rEFInd setup-- use that, do the registry-mod.



****NOTE*****


I have been doing tests on whether this 'hack' disables thunderbolt --- still figuring that out -- just wanted to point out caveats


-Cheers

MBP UEFI WINDOWS SOUND FIXED!!!!

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.