-
Notifications
You must be signed in to change notification settings - Fork 475
Set DVMT to 64mb
According to [Guide] Alternative to the minStolenSize patch with 32mb DVMT-prealloc, "[a] common problem with Broadwell/Skylake/KabyLake is relatively small DVMT-prealloc setting by PC OEMs. The Apple framebuffer kexts generally assume 64mb or larger, and most PC OEMs use only 32mb." So we patched the framebuffer in EFI to fit within the 32mb DVMT-prealloc.
However, I found that 32mb DVMT seems doesn't support 4K display even with -cdfon
boot argument in the XiaoMi-Pro case. Set DVMT to 64mb and remove some framebuffer patches could let our hacks natively support 4K.
ATTENTION: HDMI ports use HDMI 1.4 protocol, which means only support 4K 30Hz HDMI.
Cyb and FallenChromium created script to set DVMT. Please download DVMT_and_0xE2_fix and read README to set DVMT to 64mb.
After running those scripts, you need to remove some framebuffer patches:
- For both Clover and OC users:
- Open
/EFI/CLOVER (or OC)/config.plist
, delete the following code:
<key>framebuffer-fbmem</key>
<data>AACQAA==</data>
<key>framebuffer-stolenmem</key>
<data>AAAwAQ==</data>
- Then edit the
framebuffer-flags
to enableFBEnableDynamicCDCLK
and restart
<key>framebuffer-flags</key>
- <data>CwfDAA==</data>
+ <data>CwfjAA==</data>
The following table is about some advanced BIOS configurations, thanks to goodyttoor.
Item | Address | Options |
---|---|---|
DVMT Pre-Allocated | 0xDF | 0x1: 32M (default), 0x2: 64M (recommend) |
DVMT Total Gfx Mem | 0xE0 | 0x1: 128M, 0x2: 256M (default), 0x3: MAX (recommend) |
CFG Lock | 0x3C | 0x0: Disabled (recommend), 0x1: Enabled (default) |
BIOS Lock | 0x17 | 0x0: Disabled (recommend), 0x1: Enabled (default) |
Then refer to TM1701 to edit config.plist
.
The following table is about some advanced BIOS configurations, thanks to htmambo.
Item | Address | Configuration | Options | Default | Recommend |
---|---|---|---|---|---|
RTC | 0x54A | SETUP | 0x0:ACPI Time and Alarm Device; 0x1:Legacy RTC | 0x0 | 0x1 |
DVMT | 0x107 | SaSETUP | 0x0:0M, 0x1:32M, 0x2:64M | 0x1 | 0x2 |
DVMT Total Gfx Mem | 0x108 | SaSETUP | 0x1:128M, 0x2:256M, 0x3:Max | 0x3 | 0x3 |
CFG LOCK | 0x3E | CpuSetup | 0x0:Disabled, 0x1:Enabled | 0x1 | 0x0 |
MSR LOCK | 0x2B | SETUP | 0x0:Disabled, 0x1:Enabled | 0x0 | 0x0 |
BIOS Lock | 0x17 | SETUP | 0x0:Disabled, 0x1:Enabled | 0x1 | 0x0 |
After modifying these configurations, you need to delete framebuffer-stolenmem
in config.plist
:
- Open
/EFI/CLOVER (or OC)/config.plist
, delete the following code:
<key>framebuffer-stolenmem</key>
<data>AADgAQ==</data>
- Rehabman
- Cyb, FallenChromium, and goodyttoor for efforts on 8th Gen model
- htmambo for efforts on 10th Gen model