Contribute
Register
Status
Not open for further replies.
Joined
Oct 5, 2019
Messages
1
Motherboard
OptiPlex 3070 - 0P99M4
CPU
i3-9100
Graphics
HD 630
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Hi community, please if someone can help
here's a total noobie @ Hackintosh world and have been stuck couple days in enabling properly the Intel UHD 630 :banghead:
-----------------------------------------------------
Hardware - Dell Optiplex 3070 SFF
Intel i3-9100 with UHD 630
Motherboard 0P99M4 - 1 DP & 1 HDMI(display's connected to it)
4GB RAM
-----------------------------------------------------
MacOS Mojave 10.14.6 was successfully installed and pc only gets screen when injecting IntelGraphics + FakeId 0x12345678
The latest version of Lilu and WhateverGreen are patched to the system. Below are my EFI and screenshot taken just before the display turns black and gets stuck when booting.
DSC_0848.JPG
 

Attachments

  • EFI.zip
    17 MB · Views: 686
  • config.plist
    5.8 KB · Views: 400
Hi there,

I have a 3070 micro, so not exactly the same config as you. I'm using an iMac 19,1 SMBIOS.

I've tried more then a handful of configurations for the iGPU using Lilu+WhateverGreen and framebuffer fixes, unfortunately I couldn't get my 4K screen to be properly recognized and working above 2560x1440. Spent a few days trying EDID fixes, not going to get those back.

Firstly make sure you have the latest BIOS from DELL, my micro is at 1.1.3.

SS20191112.png


The only way to get my monitor to be properly recognized and fully working at 4K was to update a few UEFI variables using a grub bootloader (DVMT.efi, look around for a tutorial on that) via setup_var. The procedure involves dumping your UEFI using Universal Bios Backup Tool 2.0, then using UEFITool to isolate and export the Setup section of that dump, importing that with Universal IFR Extractor and then saving it in a human readable format (.txt), and then looking with a text editor for the addresses that correspond to the UEFI settings you'll need to change.

The first setting you need to search for is DVMT Pre-Allocated:
Code:
DVMT Pre-Allocated --- 0x8dc
Please be careful, 0x8dc is the address for my 3070's BIOS. It's likely you'll have a different address.

Viable settings for the 3070 are
Code:
0x0 --- 0M
0x1 --- 32M
0x2 --- 64M
The default value for DVMT Pre-Allocated is 0x1, so 32M. It doesn't seem to offer 128M or 256M, or at least I didn't see 0x3 and 0x4 in my list. No matter.

You want to have it at 0x2, for 64M:
Code:
setup_var 0x8dc 0x2

The next one is DMVT Total Gfx Mem, and you'd want this to be at MAX. The process is identical, so I'm not going to repeat it. In my case, this was already at 0x3, so MAX. BTW, setup_var 0x8dd (in this case, without the 0x3) will return the value that is there, so you can leave it untouched if it is already what you need it to be.

The last one you could set is CFG Lock to Disabled.

After that, you simply don't need anything special really, most monitors will be detected, 4K will just work. Or at least on the DP connection, if I'm not mistaken, the HDMI port on the 3070 is 1.4 and not 2.0. I removed the configuration for the iGPU from the Clover config.plist.

I used:
Code:
AppleALC
Lilu
NoTouchID
RealtekRTL8111
VirtualSMC
WhateverGreen

In Clover configurator I used the SAT0 to SATA patch. Other than that, minimal Clover fixes.

Hopefully this puts you on the right track. I'm not going to attach my EFI folder and config.plist because the configurations are different.
 
Last edited:
Screenshot 2019-11-15 at 10.57.51 PM.png


In case other people with a Dell Optiplex 3070 (micro) have this problem, you can try adding these kext patches to your config.plist:
XML:
<key>KextsToPatch</key>
<array>
    <dict>
        <key>Comment</key>
        <string>CFL 0x5 HDMI 1.4</string>
        <key>Disabled</key>
        <false/>
        <key>Find</key>
        <data>AQUJAAAEAACHAQAA</data>
        <key>InfoPlistPatch</key>
        <false/>
        <key>Name</key>
        <string>com.apple.driver.AppleIntelCFLGraphicsFramebuffer</string>
        <key>Replace</key>
        <data>AQEJAAAIAACHAQAA</data>
    </dict>
    <dict>
        <key>Comment</key>
        <string>CFL 0x4 DP 1.2</string>
        <key>Disabled</key>
        <false/>
        <key>Find</key>
        <data>AgQKAAAEAACHAQAA</data>
        <key>InfoPlistPatch</key>
        <false/>
        <key>Name</key>
        <string>com.apple.driver.AppleIntelCFLGraphicsFramebuffer</string>
        <key>Replace</key>
        <data>AgIKAAAEAACHAQAA</data>
    </dict>
    <dict>
        <key>Comment</key>
        <string>CFL 0x6 HDMI 2.0 (Optional add-in card)</string>
        <key>Disabled</key>
        <false/>
        <key>Find</key>
        <data>AwYIAAAEAACHAQAA</data>
        <key>InfoPlistPatch</key>
        <false/>
        <key>Name</key>
        <string>com.apple.driver.AppleIntelCFLGraphicsFramebuffer</string>
        <key>Replace</key>
        <data>AwMIAAAIAACHAQAA</data>
    </dict>
</array>


Or, alternatively, following @CaseySJ's awesome General Framebuffer Patching Guide:
XML:
<key>Properties</key>
<dict>
    <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
    <dict>
        <key>AAPL,slot-name</key>
        <string>Internal@0,2,0</string>
        <key>enable-hdmi-dividers-fix</key>
        <data>AQAAAA==</data>
        <key>framebuffer-con0-busid</key>
        <data>AQAAAA==</data>
        <key>framebuffer-con0-enable</key>
        <data>AQAAAA==</data>
        <key>framebuffer-con0-index</key>
        <data>AQAAAA==</data>
        <key>framebuffer-con0-type</key>
        <data>AAgAAA==</data>
        <key>framebuffer-con1-busid</key>
        <data>AgAAAA==</data>
        <key>framebuffer-con1-enable</key>
        <data>AQAAAA==</data>
        <key>framebuffer-con1-index</key>
        <data>AgAAAA==</data>
        <key>framebuffer-con1-type</key>
        <data>AAQAAA==</data>
        <key>framebuffer-con2-busid</key>
        <data>AwAAAA==</data>
        <key>framebuffer-con2-enable</key>
        <data>AQAAAA==</data>
        <key>framebuffer-con2-index</key>
        <data>AwAAAA==</data>
        <key>framebuffer-con2-type</key>
        <data>AAQAAA==</data>
        <key>framebuffer-patch-enable</key>
        <data>AQAAAA==</data>
    </dict>
</dict>
Also in your config.plist, in the devices section.
 
Last edited:
I'm not going to attach my EFI folder and config.plist because the configurations are different.
Hello Sihastru
I'm newbie at hackintosh. I've 3070 micro i5-9500T, like yours. If you don't mind, could you share your EFI folder and config.plist with me?
Have a good day.
 
I'm not going to attach my EFI folder and config.plist because the configurations are different.

Hi Sihastru,

I have the same OptiPlex with you. Can you please share your EFI folder?
 
Hello guys,

Sure. You'll have to generate new SNs and UIDs via Clover Configurator. I've replaced them with X-ed out strings in the attached configurations.

Modifying DVMT settings in your UEFI BIOS is important and required. See the posts above, you'll need to do this via the "setup_var" command in the EFI shell.

I'd appreciate if you'd return and share possible problems and bugs you might experience, so I can improve the configuration.

Enjoy and thanks!
 

Attachments

  • config.plist.zip
    2.1 KB · Views: 497
  • EFI.zip
    8.6 MB · Views: 786
Last edited:
Hi @Sihastru, thanks for the files.
I have BIOS v1.2.1 for OptiPlex 3070 micro.
It works after the BIOS configuration via setup_var.
 

Attachments

  • Dell_OptiPlex_3070_micro_1.jpg
    Dell_OptiPlex_3070_micro_1.jpg
    133.5 KB · Views: 498
  • Dell_OptiPlex_3070_micro_2.jpg
    Dell_OptiPlex_3070_micro_2.jpg
    112.9 KB · Views: 453
I don't know if outputs will be linked the same way on all CFL systems, you should check that. Without having these systems in hand, I'm not sure how to successfully address this issue. You could start by applying different memory fixes, my anecdotal understanding was that OsxAptioFix3Drv would give the best results with the newest versions of Lilo and Whatevergreen, but I've seen people using one of the other ones with good results.
 
Try SMBIOS mac mini 8,1
 
I've set the UEFI variables, used your efi and config.plist generating new UUIDs, tried iMac and mac mini SMBIOS... always with the same results, only have screen when I set the fake id at 0x12345678.

I'm not even able to install on the SATA nor the NVME disks, I'm using a USB to try to test the graphic.

What I'm doing wrong??

Thanks
 
Last edited:
Status
Not open for further replies.
Back
Top