Dsdt Editor Windows

Posted : admin On 10.10.2019

How to extract and compile DSDT.aml with DSDT Editor. Also you will need to download patch for exact model of your mainboard. Extracting DSDT from BIOS. One of the simplest ways to extract your DSDT from your BIOS is by using DSDT Editor. Once you have downloaded DSDT Editor, open it and.

Guide: DSDT override eGPU error 12 fix (Windows only) started ◄ Mac owners please work through this thread to solve error 12 before doing a DSDT override ◄ pre-compiled DSDT overrides – load or use as reference when making your own Introduction A Windows system’s DSDT table root bridge definition (ACPI PNP0A08 or PNP0A03) is usually confined to a reserved 32-bit space (under 4GB) budgetted 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. When retrofitting a eGPU, an error 12 (This device cannot find enough free resources that it can use) can occur against an eGPU in Windows’ device manager making it inoperable.

This can indicate there is insufficient 32-bit addressing space available to host the eGPU. An eGPU requires a relatively large PCIe config space to allocate into. Decreasing TOLUD by reducing RAM to 2GB offers a somewhat impractical workaround.

Rather, the definitive solution is below. This three step solution removes Window’s 32-bit PCIe allocation constraint in order to resolve the eGPU error 12: Step 1. MacOS users: refer instead to that covers these steps titled Windows 10 – Clover DSDT memory override UEFI Windows on Macbooks only.

Create a dsdt-modified.aml DSDT file with a 36-bit root bridge i. Download and install required tools:. extracted to c: dsdt directory.

has parsing errors., which contains the Windows ASL Compiler (asl.exe). with Search-Goto (line) menu for fast line editting if asl or iasl compilation fails below ii. Copy WDK’s ASL compiler into the c: dsdt directory. Do this by opening Command Prompt (run as administrator) and then copy-and-paste the commands below. Mkdir c: dsdt c: & cd dsdt set 64bitOSasl='C: Program Files (x86) Windows Kits 10 Tools x64 ACPIVerify asl.exe' set 32bitOSasl='C: Program Files (x86) Windows Kits 10 Tools x86 ACPIVerify asl.exe' copy /y%32bitOSasl% c: dsdt nul & copy /y%64bitOSasl% c: dsdt nul if not exist c: dsdt asl.exe echo ERROR: Failed to copy asl.exe to c: dsdt iii. Dump your ACPI tables to disk files ( dsdt.asl and dsdt.dat) with these commands at Command Prompt (run as administrator).

The created dsdt.asl is copied here as dsdt-modified.asl which is used later on to make our required modifications. C: & cd dsdt acpidump -b -z asl /u dsdt.dat copy dsdt.asl dsdt-modified.asl iv. You now can choose either the or (with blue dsdt-modified.dsl or magenta dsdt-modified.asl work file respectively) to generate a dsdt-modified.aml file, even trying both to maximize success. Consider: – For systems other than Lenovo, use the as their DSDT usually has an Intel creation signature. – Lenovo Thinkpad X220, T420, W530, T540P and likely other 2nd-4th gen i-core Lenovo Thinkpad systems are known to require the. The Intel method causes a “ACPI BIOS ERROR” on Windows bootup there. OPTION 1: Use the Intel method i.

Save this swap ATMC with SB.PCI0.LPC.EC.ATMC – Zero – error: unexpected ASL term type - add ‘Zero’ as bracketted argument to line above it, eg: GLIS (Zero) – Arg0 – error: unexpected ASL term type - add ‘Argo0’ as bracketted argument to line above it, eg: GDCK (Arg0) iii. Open c: dsdt with Windows explorer. Compare the size of your created dsdt-modified.aml file against the memory dumped dsdt.dat. They should be within +/- 10% of each other in size. If not, repeat the above process to make sure no mistakes were made. A HP Elitebook 8440P saw the generated dsdt-modified.aml being only 15% the size of the memory dumped dsdt.dat.

There this process simply did not work. For such cases use the instead. Proceed to to load your dsdt-modified.aml file. 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. At Command Prompt ( admin) type the following. WDK containing asl.exe must be installed per for this to work.

C: & cd dsdt asl / loadtable dsdt-modified. 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. OPTION 2: Load your dsdt-modified.aml as an in memory DSDT substitution Here we avoid the problematic registry override & test signing mode altogether by loading the DSDT as an in-memory substitution before Windows loads with these steps: i. Disable the previous registry DSDT override and test signing mode.

Bcdedit - set TESTSIGNING OFF ii. Check whether you are using a MBR or UEFI Windows installation by viewing Device Manager-Disk Drives-double-click boot drive-Volumes-Populate-Partition Style. If it says “MBR”, then it’s a MBR install. If it says “GPT” then it’s a UEFI install. This will determine which next step to apply. MBR mode Load the dsdt-modified.aml as an in-memory substitution via DIY eGPU Setup 1.35 in the. UEFI mode Load the dsdt-modified.aml as an in-memory substitution via Clover bootloader as follows: BIG WARNING by nando4 has correctly identified that Clover loads a DSDT table in firmware volume and as such can brick a Macbook as found.

If you proceed with using Clover to do a DSDT override the you do so at your own risk!! For risk-adverse users it is suggested to simply do a and persevere with Windows’ test signing mode until other solutions are found and presented. – Mount your EFI volume as s: drive and backup your existing EFI BOOT BOOTX64.efi file.

At Command Prompt (admin) type: mountvol s: /s copy s: EFI BOOT BOOTX64.efi s: EFI BOOT BOOTX64.win – Download the file and install it by extracting with (64-bit only) the clover.tar.lzma-clover.tar-clover.pkg- EFI folder to s: EFI. Be sure to use the the 7-zip interface to extract to s: drive as Windows explorer refuses to allow viewing of the s: EFI volume. – Copy your dsdt-modified.aml file as dsdt.aml to s: EFI CLOVER ACPI Windows, the directory Clover uses to preload it. If your source dsdt-modified.aml file is not in c: dsdt then use this workaround to copy-and-paste it. Locate your dsdt-modified.aml file with Explorer, right-click, rename to dsdt.aml, right-click, copy. Then hit CTRL+ALT+DEL, task manager, File-New task. Explore the s: EFI CLOVER ACPI WINDOWS directory and paste it there.

Otherwise at the Command Prompt (admin) type: copy c: dsdt dsdt-modified.aml s: EFI CLOVER ACPI WINDOWS‌ dsdt.aml – Reboot via Clover - Windows EFI menu and proceed to to confirm it worked. Confirm success with a ‘large memory’ area in Device Manager Check you now have a new Large Memory entry in Device Manager as shown below to confirm your dsdt-modified.aml was a success: Success stories nando4 – HP ZBook 17 G2 + AKiTiO Thunder2 + GTX970. Allocated the eGPU into 36-bit space. – 2016 15″ Macbook Pro + Razer Core + GTX1070. Allocated the eGPU into 36-bit space.

– 2016 13″ Macbook Pro + AKiTiO Thunder3 + GTX980Ti. Allocated the eGPU into 36-bit space. – 2013 15″ Lenovo T540 + EXP GDC + GTX680. Allocated the eGPU into 36-bit space. I still have an error 12 with the ‘large memory’ area present. How can I fix it? MBR only Force allocate the eGPU into 36-bit PCI space before booting Windows with software:.

At Windows boot menu, select Setup 1.35. Boot Setup 1.35 - menu-based. Select PCI compaction-Endpoint=56.25GB (36-bit).

Select PCI compaction-Run compact. When prompted for the scope select eGPU.

Select Chainloader-Test Run. At Windows boot menu, select Windows. Your result will be then be like shown in step 3 above, but you’ll have the eGPU rather then the (example) HD8790M dGPU allocated into 36-bit PCI space. Use the bcdedit forcedisable option to override the advanced PCI Express features and use legacy PCI Express behavior as.

Madjester confirmed this fixed error 12 on 2015 13″ MBP after doing a DSDT override (thank you!) bcdedit.exe -set PCIEXPRESS FORCEDISABLE iii. Re plug’n’play the devices. Go into Device Manager - Video cards, delete the eGPU. Also go into Device Manager - System devices and delete the PCI Express Root Port x entries. Window should now be clever enough to re-allocate the eGPU into 36-bit space upon realizing there is insufficient 32-bit space to host it. Can go one step further and delete your eGPU NVidia/ATiAMD driver, restart the system and reload it. That may help as well.

From:. remove all of the devices in Device Manager – (All of the ones with a blue icon – not the USB icon one!).

Hot Plug the eGPU (Within a few minutes the eGPU will be usable without error 12 and the other devices will also come back and start working again). Everything should work 2. How do I disable the registry DSDT override? The easiest method is to disable TESTSIGNING. If your system fails to boot with the DSDT override in place then boot in and disable TEST SIGNING. Bcdedit - set TESTSIGNING OFF Remove the DSDT override from the registry: c: & cd dsdt asl /loadtable -d dsdt-modified.aml. Or remove this DSDT key in the registry.

Windows will create a new one derived from your system bootup ACPI DSDT table upon restart: HKEYLOCALMACHINE SYSTEM ControlSetXXX services ACPI Parameters DSDT. where XXX are 001, 002, 003 & so on. And HKEYLOCALMACHINE SYSTEM CurrentControlSet services ACPI Parameters DSDTfcho.

GUIDE: an in-memory DSDT override using MBR partitions only Windows 10 or 8 enumerates the DSDT table from the in-memory copy on every boot. The only way to change that is to either: – perform a registry DSDT override with test signing enabled as described in the above post. Do not that some apps are either problematic or refuse to run with test signing enabled.

– perform an in-memory DSDT table substitution using the pre-boot environment which eliminates the need to alter your registry or enable test signing as explained in this post. How to do a in-memory DSDT override using Pre-requisite requirements. A c: dsdt dsdt-modified.aml file created at or downloaded from. This c: dsdt dsdt-modified.aml must be smaller than your memory dumped dsdt.dat Check by doing a file size comparison like shown. Setup 1.35 also does this check before loading your dsdt-modified.aml and won’t load it f it doesn’t pass.

This prevents corruption of other ACPI tables which would cause a Windows boot to crash. To achieve a smaller dsdt-modified.aml file, incrementally remove sections listed below in your dsdt-modified.dsl (Intel method) or dsdt-modified.asl (Microsoft method), followed by a recompile with ‘iasl -ve dsdt-modified.dsl ‘ or ‘asl /Fo=dsdt-modified.aml dsdt-modified.asl‘ respectively. Then re-do the file size comparison. Remove unnecessary Linux and older Windows entries in the OSI section of the file like highlighted. Remove unused PEG0, PEG1, PEG2, used to host a dGPU. If do have a dGPU and intend to use it when your eGPU is active then keep PEG0.

Remove non-existent LPT (parallel ports), COM (serial) and eSATA ports. If have access to macOS, use to compile your dsdt-modified.dsl. It creates a smaller dsdt-modified.aml. How to load your dsdt-modified.aml via DIY eGPU Setup 1.35 1.

Copy your dsdt-modified.aml file as dsdt.aml into Setup 1.35’s v: config directory:: Mount the Setup 1.35 disk image as V: drive c: eGPU eGPU-setup-mount copy c: dsdt dsdt-modified.aml v: config dsdt.aml 2. Boot - automated startup via startup.bat (default). It will automatically load this dsdt.aml file and present the Windows bootloader where you then select Windows. Check for the ‘Large Memory’ area to indicate a successful in-memory DSDT override like shown below in View-Devices By Connection.

Then check for error 12 against your eGPU. If there is an error 12. Then force allocate the eGPU into the DSDT override’s 36-bit PCI space:. At Windows boot menu, select Setup 1.35.

Boot Setup 1.35 - menu-based. Select PCI compaction-Endpoint=56.25GB (36-bit). Select PCI compaction-Run compact. When prompted for the scope select eGPU, force 32-bit=none. Select startup.bat-Test Run. Select Chainloader-Test Run. At Windows boot menu, select Windows.

Dsdt Editor Windows

Posted by: SamuelFDias Hello there! 🙂 no problem.

I still have the same problem. The eGpu insists to connect to other Pci root port, instead the one created under the large memory What should I do? I already unistall all the ports, the eGPU and the nvidia drivers, but it still not connect to the large memory. Posted by: Yukikaze Samuel, I think that Setup 1.35 should be able to fix that, because I believe you can force it to allocate the eGPU to the large/high memory area. I am not sure if there is a way to do it without Setup 1.35, but nando might know how to.

If the eGPU won’t auto-allocate to the ‘Large Memory’ area, then revert to using software to hard allocate it in a pre-boot environment. @everyone, the opening post is presented with an up-to-date DSDT override example using a 4th gen i-core Dell E6540. Unfortunately previous discussion was deleted along with the thread due to an offsite issue. Sincerest apologies there. GUIDE: an in-memory DSDT override using MaciASL+ UEFI Windows on Macbooks only ◄ is Mikeal’s updated second revision of this article BIG WARNING by nando4 has correctly identified that Clover loads a DSDT table in firmware volume and as such can brick a Macbook as found. If you proceed with using Clover to do a DSDT override the you do so at your own risk!!

For risk-adverse users it is suggested to simply do a and persevere with Windows’ test signing mode until other solutions are found and presented. I have this working on a 2016 15″ Macbook Pro MBP w/touch RX460 1TB with Clover loading a modified DSDT and the problematic Win10 test signing disabled. Thank you to nando4 for pointing out link for UEFI installations, instructions in the opening post and formatting this post. Boot into Windows and disable test mode if enabled using Command Prompt (admin) bcdedit -set TESTSIGNING OFF‌‌ 2. Reboot into macOS. We will use MaciASL in MacOS to extract, edit, and compile the DSDT table.

Make the as detailed in opening thread post, copied here: Search for “ ResourceProducer”. Beneath it will be a series of “DWordMemory” resource entries.

Dsdt Editor Download

Under the last DWordMemory entry in that area, typically above the CRS method, add a ‘QWordMemory’ (64-bit) entry as shown in red below. The range chosen is in the 36-bit range (. Just wanted to let you know how it went for me.

I also have the late 2016 MacBook Pro 460. I tried Mikeal’s method and it worked perfectly. However, one issue/side effect. If I boot up with both the Razer Core and the USB-C to USB adapter, it would give me the Code 12 Error.

Only when I disconnected it and boot up with the RC, does it work. (to be clear, adapter with an usb device attached such as mouse or keyboard) After booting up, you can connect the adapter normally. It’s kinda weird or maybe something wrong with my system allocation but the adapter somehow screws up the reallocation. Hope this helps. I tried doing the windows way of modifying the dsdt and got roughly the same errors as other people reported. However, even when I fixed the error and and loaded it via windows method, I never could get rid of the error 12.

The only way way I was able to get it working was via the Maciasl way, which, when I extracted and modified it, did not have any errors. I assume you did the windows way using the windows kit and all that? If so, I recommend doing via Mac OS side via maciasl and save some of the trouble I had to go through. Hope that helps. It does take some time to install and get maciasl working but it’s a wayyyy smoother process.

Okay; so I finally got Clover installed (the method I had to follow was not described in any of the above posts; so I’m not sure how you guys did it — I had to exercise some of my own knowledge of the UEFI boot-process, and re-arrange 1. The pre-existing Apple EFI programs, and 2. The Clover EFI program). The DSDT patch took, and I’ve got the aforementioned “Large Memory” area in the Device Manager.

Unfortunately, this has changed nothing: the GTX 1080 is still Code 12’ing. I’ve tried the other above suggestions (right-click → ‘uninstall device’, checked the ‘uninstall drivers’ box, rebooted). No luck — after the drivers re-install, it’s still Code 12’ing. Nothing appears to have been allocated to the “Large Memory” area. Is there any other ways to force Windows to allocate the graphics card to the newly-allocated 36-bit address-space?

Posted by: ELLIOTTCABLE The DSDT patch took, and I’ve got the aforementioned “Large Memory” area in the Device Manager. Unfortunately, this has changed nothing: the GTX 1080 is still Code 12’ing. I’ve tried the other above suggestions (right-click → ‘uninstall device’, checked the ‘uninstall drivers’ box, rebooted). No luck — after the drivers re-install, it’s still Code 12’ing. Nothing appears to have been allocated to the “Large Memory” area.

Is there any other ways to force Windows to allocate the graphics card to the newly-allocated 36-bit address-space? /= Some additional techniques for solving error 12 on Apple systems are given below: 1. Certain Macbooks, listed in the link, running MBR Windows can have error 12 solved with. Posted by: nando4 Some additional techniques for solving error 12 on Apple systems are given below: 1. Certain Macbooks, listed in the link, running MBR Windows can have error 12 solved with Unfortunately, most of those tricks seem to be for MBR-formatted MacBooks?

On new hardware like the Mac Pro and the 2016 Macbook Pro (like mine), Bootcamp doesn’t create a hybrid-MBR; it sets up a UEFI boot of Windows. As for the ‘uninstall the root-bridge’ one like I said, just tried that one (although there’s nothing called a “root bridge,” nor any “downstream ports” like in the screenshot, on the 15″ Macbook Pro — I just tried to emulate the same process on the “PCI-to-PCI Bridge” entries that show up on my installation.) I’m running out of things to try! (If anyone else is trying to do this over the next few days, feel free to come chat in realtime on Freenode:. Name there is the same as here — if I don’t respond immediately, leave the window open, and I’ll reply when I’m at the computer.). Okay, WTF: I get completely different results with each Thunderbolt port on my machine. Rear-left: The behaviour I’ve been describing thus far — the Razer Core is recognized, and my “NVIDIA GeForce GTX 1080” shows up, but Code 12’s. Front-left: Against all expectations, this works!

I get display output rendering from my card, and it shows up in the Display preferences!. Rear-right, front-right: I just see a generic “Video Controller (VGA Compatible)”; Windows claims there are no drivers installed for it. Worse, when the Core is plugged into the right-hand ports, my system becomes extremely unstable: the Windows install goes black and reboots, without any warning, a few moments after logging in. (I think it’s trying to install a driver and failing?) So, it’s a great step forward that it renders, at least from one port; unfortunately, that port isn’t reachable from the final install location of my Core (damned short Thunderbolt 3 active cabling!) so I gotta figure out why the right-hand ports are crashing Windows. My next step is probably a reinstall from scratch, I suspect. If I do get this working, I’m going to write my own tutorial, including actual instructions for installing Clover. Posted by: madjester Another potential Code 12 fix.

For my uncooporative 2015 13″ MBP, running “bcdedit.exe -set PCIEXPRESS FORCEDISABLE” (with the Graphics Card totally uninstalled) then installing the card fixed allocation (after a DSDT override.) (Someone knowledgable should probably try this, discover pitfalls, explain why it works, all that.) Nice work figuring that out. I’ve added it to the opening post linking your finding. Would you mind including your eGPU + notebook specs in your sig? I’m curious if it was with an AMD or NVidia card that this worked with. I got this working successfully after some finagling. Each port appears to act different. My back left port even allows for hot plugging!

My only issue, which I’m hoping someone can help with, is I need to use the USB to access Clover every time. The large memory disappears if I skip booting through Clover on the USB (which makes sense if I follow how this works correctly), but it looked like 7-9 were supposed to enable Clover without the USB.

If I didn’t explain this clearly, I’d be happy to provide more explanation. To summarize, the Clover edit still requires the USB.

Dsdt Editor Windows

Thank you for the help! Also, if there are any questions about how I got mine working, I’d be happy to provide information! Posted by: nando4 Hitting OPTION before booting would presumably give the Macbook several EFI items you can choose. Just work through them one at a time until same Clover screen appears instead of Windows.

It’s unmistakeable when Clover boots. I am sorry for not explaining this better. When the USB is plugged in, Clover is a boot option when viewing the EFI items. However, when the USB is removed, the option disappears, and the only other option is the “vanilla” Windows option. I just checked, and the /Volumes/EFI directory gets deleted on reboot, which explains why Clover is not an option on boot. I do not, however, know what is causing macOS to decide to remove this directory. To be clear, after performing the steps there is a /Volumes/EFI folder, then, after reboot, there is no longer a /Volumes/EFI folder.

Edit: diskutil list is showing EFI as present. Now to just figure out how to get this to show up in the boot menu. I will trouble shoot. The /Volumes/EFI directory is only deleted because you were using it as a mount point.

If you remake the directory, and remount it, all the same information will be in it. I copied the clover folder from the USB, into /Volumes/EFI/EFI/Clover. After you make the DSDT related changes copy that folder into /Volumes/EFI/EFI/boot.

This will give you the clover boot loader option every time you reboot. If I want to go into OS X and I was last in windows, I reboot and hold the option key then select the macox drive (which is my only selection in that menu now). I subscribed to the thread now didn’t realize I wasn’t getting notified. Posted by: bryanangg Hi, I’m new here and I followed the steps and could successfully run the Akitio Node on my MacBook pro 13″ early 2015 and could run games with no problems. But I found that after I had restarted my laptop, I received errors like IRQLNOTLESSOREQUAL when starting up and had no luck getting it back to work ever since.

If there is a mismatch between the DSDT override and your current system bootup state then this could occur. So., disable the DSDT override and re-create it. Here’s where it is useful to have the Clover method working as don’t need to wrestle with recovering Windows back into a working state. Thank you, I’m still in the process of setting everything up. I’m currently at the part of creating the startup.nsh file.

I’ve installed refind and copied the file to its root. However, when I tried rebooting with the eGPU connected, Mac OS shuts off but the laptop doesn’t boot, it hangs with just a black screen.

Connecting the eGPU at the windows loading screen also freezes it, the loading circle goes on forever. How do I set this part up? Thank you, I have since checked out your thread and am following the steps there, I am so far stuck at the process above. Hi guys, I have a problem with the DSDT in-memory o verride using the DIY eGPU 1.3x Setup. Just to give a quick overview: I am using a Lenovo edge 560 with a GTX 770 and EXP GDC v8 and Windows 10. Everything is working fine if I ran windows in Test mode and use the DSDT registry override method. What I have to do according to the guide is: I have to copy the.aml file into the V: config folder, then disable testmode, restart and use the startup.bat option.

If I do that windows start without Test mode but there is no large memory. My startup.bat file only runs the ”:OS” and “call chainloader” commands.

I’ve read this post and there is a “call loaddsdt” command, I tried to add that to my startup.bat but I got an error that “loaddsdt” is not a valid command. Do I need that command at all?

Can it be because I am using 1.31 and not 1.35 or did I forgot a step somewhere? Thanks for any help.