Hot patch the BIOS to setting DVMT and others
Hi everyone,
Previously there're many posts that introduce how to hot patch the BIOS settings to increase DVMT size or others.
But I wasn't recognize it, so I just follow the general solution that using IntelGraphicsDVMTFixup to avoid the issue.
Now I'm just get it.
The key point is using EFI_Shell to patch it. You can find it and see how to find the variables in
here.
You can try, but note that
patching BIOS settings is very dangerous, even hot patch!
Use at your own risk!
For DELL Inspiron 7560, there're three variables you may interest.
Code:
0x785 - Setting the DVMT pre-allocate size
0x786 - Setting the DVMT max size
0x4AD - Enable / Disable Intel SpeedShift Technology
(Note: These variables are verified from BIOS version 1.6.0、1.7.0、and 1.8.0)
And the values for these variables are:
Code:
0x785 (DVMT pre-allocate size):
0x1 = 32MB (Default)
0x2 = 64MB
0x786 (DVMT max size):
0x1 = 128MB
0x2 = 256MB (Default)
0x3 = Max
0x4AD (Intel SpeedShift Technology)
0x0 = Disable (Default)
0x1 = Enable
For example, we wish can set higher DVMT size to avoid "not enough DVMT size can allocate" issue.
And also setting higher DVMT max size, or enable SpeedShift.
So when we enter into GRUB EFI_Shell, first we type the variable to check the value.
It will show up the current value of this variable.
Next, to change the value, just insert the value you wish after the variable.
Enter, and it will show the value has changed.
After setting, type 'reboot' to reboot the laptop.
I already tried this method and found I can boot without insert IntelGraphicsDVMTFixup.kext
But as I said above, patching BIOS is dangerous.
So I still keep IntelGraphicsDVMTFixup in CLOVER file.
Also note that you may need to patch these variables again every time of BIOS update.