- Jul 22, 2018
- Supermicro X11SPA-T
- Intel Xeon W-3275 28 Core
- 2xAMD RX 580 8GB
- OS X/macOS
- Mac mini
- MacBook Pro
- Mobile Phone
How to Unlock DVMT Pre-Allocated on LaptopsAn EliteMacx86 Exclusive Guide - This guide covers unlocking of DVMT Pre-alloc on Laptops
Setting DVMT to 64 is required and it can avoid several graphics issue. This requirement is not only for laptops but for desktops too.
But a majority of manufacturers don't give option to change the DVMT. DVMT can be set from EFI shell method but can be trouble for encrypted BIOS. The only workaround is to patch the framebuffer to match your BIOS settings. Commonly the 32MB DVMT is set on Broadwell/Skylake and Kaby Lake.
If you're using Intel HD Graphics (Supported Graphics), OS X/macOS needs more than 32MB DVMT otherwise there can be a Graphics kernel panic.
Also, if you're having a QHD/4K or UHD Laptop, you need to set the DVMT to 64 MB or even more such as 96 or 128MB.
Available Methods for DVMT Unlock
There are only few methods by which DVMT-prealloc can be set or matched to your Laptop BIOS Settings. The methods are listed below
- BIOS Option
- EFI Shell
- Flashing a Unlocked BIOS
This is a very easy method. But the major disadvantage is this option is not available by most of the laptop manufacturers. Only some manufacturers allow such as ASUS. The DVMT can be set from the Advanced Tab>Graphics Configuration>DVMT Pre-Allocated to 64M.
This method is the easiest method and works for the most of the time. The advantage of this method is it can be applied to all the manufacturers, without flashing and unlocking the BIOS. Even if the BIOS is locked, this method will work.
The patch for the StolenMemory is present in the config.plist from RehabMan. You can just follow the laptop installation guide and get it done.
This method is bit difficult and doesn't fits to all the laptops. Laptops such as HP, Lenovo has often locked/encrypted BIOS and the DVMT cannot be unlocked.
- This method can also brick your Laptop. Use at your own risk.
Universal IFR Extractor
Unlocking DVMT Pre-Alloc using EFI Shell
The following method described below is risky and it may brick your Laptop during this process. The BIOS may be damaged and you may require a programmer to flash the BIOS chip in order to boot your Laptop again. The steps provided here may or may not be accurate or applicable to your particular Laptop. By using this guide, you understand all the risks involved and EliteMacx86 shall not be liable for any of the damages that might occur and takes no responsibility for any of your action. Please proceed with caution!
Now, as you've enough information about DVMT Pre-Alloc and why you need to, you can proceed with the DVMT unlock. To unlock the DVMT, follow the steps below.
The very first step is to extract the BIOS. The BIOS must be in a valid format such as .ROM, .BIN or .fd. The direct BIOS file will not work. For AMI BIOS, you can use AMI BIOS Utility. The other way is to use Universal BIOS Toolkit. With some manufacturers and laptop models, you can also use the .EXE BIOS file and then extract it directly. For some BIOSes, it's packed and compressed in a different format.
Extracting Module from the BIOS file
The next step is to get the data from the extracted BIOS file. To get the data, open your BIOS file using UEFITool you downloaded above.
Find the module labeled with Setup
Expand the module, and right click on PE32 image section and then click on Extract Body.
A binary file will be saved on your Desktop.
Extracting Settings from the Module
Once you've the module, you can proceed with the next step.
Open Universal IFR Extractor, you downloaded above.
Browse your Module and click on Extract.
A text version of the same module will be saved with the same name on your Desktop.
Open the text file and look for "DVMT".
Find the variables for the DVMT Pre-Allocated memory and the related values.
In this case, DVMT pre-allocated memory's variable is 0x1C3. The value of 96MB is 0x3. Record these two values.
Preparing Bootable USB with UEFIShell
Use a USB Flash Drive
Format it as FAT32, MBR
Extract the EFIShell you downloaded above. You'll find a folder named BOOT.
Rename your USB to "EFI"
Create a folder on your USB and rename it to "EFI"
Copy the BOOT folder to your USB.
- With some laptops, it will not recognize it. You'll need to copy the BOOT folder to the root of your USB Flash Drive.
Restart your Laptop
Boot to boot menu and boot using your USB Flash Drive. Make sure you boot from the EFI prefix followed by your USB Flash Drive.
Now, you need to use the setup_var command to change the DVMT settings.
setup_var address value
In this case, the command is setup_var 0x1C3 0x3.
- Change the value of memory variable and the memory of DVMT.
Once you get this done, you'll get a success message. If not, your BIOS is locked or encrypted and this method cannot be used.
Restart and boot it using the OS X/macOS USB Installer, you should have bypassed the assertion/kernel panic due to less DVMT size.
A Quick Note
The above method may not work on a Laptop with Insyde or H20 BIOS. As you won't be able to find the "Setup" module. To over come this, you'll need to use another method which has been described in another thread which is linked below.
How to Unlock DVMT Pre-alloc on Insyde BIOS An EliteMacx86 Exclusive Guide - This guide covers unlocking on DVMT Pre-alloc on Insyde BIOS. Overview As stated in our previous guide, we mentioned why DVMT is an important requirement when using Intel Graphic and why it matters for Laptops...
Flashing Unlocked BIOS
This method is quite risky and will not work without use of special tools and knowledge. A little wrong step can lead to damage your Laptop and you need to get your laptop to some technician and deal with it.
You can find a unlocked BIOS for your laptop here. Please note that the unlocked BIOS might not be available for your laptop. But you can request it.