Yes - it seems to be normal - If you are wanting to make it right I think there may be other System Definitions that you would need to try and a bunch of stuff I dont know much about relating to ports and connectors.
Ha ok, thanks! As long as it's working now I'm good. To clarify for folks, physical DP port 1 (DP1; near top of case, ps2 ports) = external; DP port 2 (DP2; near VGA port) = "internal" display. The internal display will be recognized as "Built-in Retina display" if using 4k, or "iMac" if using 1080p. Also, the internal display won't give you the option to rotate. if you want to rotate your display for whatever reason, use DP1.
@mgrimace would you mind posting your config from opencore - (deleting serial numbers before posting) It would help me make this next jump and I suspect others too.
Any comments or things you learned on following the instructions between the method described here and opencore would also be appreciated.
Absolutely! I'd be happy to help, I basically followed Zearp’s OptiHack guide on
GitHub and I'm using an Optiplex 7020 SFF, 8gb RAM. The only hardware change I made was that I swapped the HDD for a 2.5" SSD. The EFI and config.plist is basically the same as found on Github with the only changes being ethernet MAC address, serials, the 4k patch posted below and from the OP in this thread, and I also added the line from the OP to increase the video memory to 2gb. Note the attached config.plist is sanitized (no serials or MAC address).
Some install notes:
- If you want to swap in a 2.5” SSD from a 3.5” HDD, then you might want to grab the cheap caddy adapter on amazon: Search R494D approx. 10-15$. It fits inside the proprietary tray and holds 2xSSDs. This is the one I’m using.
- Make sure the Optiplex 7020 is on A18 BIOS. I ended up installing windows first on the old HDD and running the Dell Bios updater tool. This makes it easier to disable CFG lock (needed) and change the DVMT pre-allocation (to support 4k monitors). Don’t change the values for these on the wrong BIOS.
- In the BIOS load default settings, but change the boot settings to UEFI (or else you’ll get no boot device error and have to hit F12 to enter the boot menu to pick your USB installer)
- I set my DVMT pre-allocation to 96 mb setup_var 0x263 0x3 which was recommended for 4k support (didn't work out of the box, still had to patch).
- I haven't enabled EHCI hand-off yet, I didn't want to screw up the USB ports during the install process when I need them, and now things seem to be working fine.
- When installing MacOS boot from installer first, then boot from the internal hard drive (it says boot from external as your second step on the GitHub guide)
Post-install 4k patch
- Optional: I added the line framebuffer-unifiedmem to increase the video memory to 2gb from the OP as a new line in DeviceProperties
Key
|
Type
|
Value
|
framebuffer-unifiedmem
|
Data
|
00000080
|
- Using Propertree to edit the config.plist, paste the following patch to root/kernal/patch to enable 4k (note: there won't be any patches here yet):
Code:
<array>
<dict>
<key>Base</key>
<string></string>
<key>Comment</key>
<string>Enable 4k</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
AwAiDQADAwMAAAACAAAwAQ==
</data>
<key>Identifier</key>
<string>com.apple.driver.AppleIntelFramebufferAzul</string>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>Replace</key>
<data>
AwAiDQADAwMAAAAEAAAAAw==
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
</dict>
</array>
OR you can manually enter these values:
Key
|
Type
|
Value
|
Base
|
String
|
|
Comment
|
String
|
Enable 4k
|
Count
|
Number
|
0
|
Enabled
|
Boolean
|
True
|
Find
|
Data
|
0300220D 00030303 00000002 00003001
|
Identifier
|
String
|
com.apple.driver.AppleIntelFramebufferAzul
|
Limit
|
Number
|
0
|
Mask
|
Data
|
|
Replace
|
Data
|
0300220D 00030303 00000006 00000003
|
ReplaceMask
|
Data
|
|
Skip
|
Number
|
0
|
With credit to Zearp and everyone in this thread, here’s what the patch does (in
find):
- 0300220D = Platform ID
- 00030303 = Pipe and port count
- 00000002 = DVMT allocation
- 00003001 = Framebuffer memory
The patch changes the last two values (in
replace):
- Changing the DVMT from 00000002 to 00000004 would set a 64MB DVMT allocation which was the original suggestion for the patch. I tried changing it to 00000006 to 96MB (which is what I did in the BIOS earlier already). I tried both values (04, 06) and both seem to work, and I ended up leaving it on 04 when I found your earlier post about this.
- The other one changes the framebuffer memory size from 00003001 (32MB) to 00000003 (48MB).
Alternative to patch?
Both of these changes be done with WhateverGreen by adding a framebuffer-stolenmem option and setting that to 00000003 and framebuffer-memorycount and setting that to 00000004 (or 00000006) in the config.plist DeviceProperties section. I tried deleting the patch and adding those two values to the config and see if 4k still works (it didn't, more below). Here’s what that looks like under DeviceProperties:
Key
|
Type
|
Value
|
framebuffer-stolenmem
|
Data
|
00000003
|
framebuffer-memorycount
|
Data
|
00000004
|
Zearp suggested this would be a preferred method to the patch because it won’t break when Apple changes the AppleIntelFramebufferAzul.kext in an update (this was in an issues thread that's now closed).
The problem is, when I tested this method it still caps the resolution at 2560x1600
and introduces a weird cursor glitch (where the cursor appears all artifacty). I had zero luck playing around with this method (e.g., changing -memorycount to 0000006 for 96mb, only including framebuffer-stolenmem, etc.) and ended up reverted to the patch.
I think that's all, and all this information comes from other much smarter folks like the people in this thread and the Optihack GitHub. I didn't figure any of this out myself, I'm just summarizing!