I am posting this for education about WEG and am NOT proposing a solution without WEG. I am using WEG in my system and it works perfectly.
----------------------------------------------
I attempted to develop a UHD630 graphics solution that does not require WhateverGreen (WEG). My brute force approach duplicates the WhateverGreen graphics properties that I injected (with Clover) as described
here. This non-WEG solution almost works, but has graphics glitches during boot (before login prompt) and sometimes boots to black screens, so clearly WEG is doing more than I understand. Posting this as an explanation of some of the magic in WEG. I am still using WEG for my UHD 630 graphics solution and don't expect to develop a solution without WEG.
In addition to removing WhateverGreen.kext, I modified my Clover config.plist to work without WEG as follows
- Remove all but the AAPL,ig-platform-id graphics device property (0000923E)
- Enable the following DSDT device renames (WEG was renaming these)
- change GFX0 to IGPU
- change HDAS to HDEF
- change HECI to IMEI
- Add the following kext patches
Name |
Find |
Replace |
Comment |
com.apple.driver.AppleIntelCFLGraphicsFramebuffer |
00000800
02000000
98000000 |
01010800
04000000
C7030000 |
10.15.5-CFL-3E920000-Con0-LVDS2DVI |
com.apple.driver.AppleIntelCFLGraphicsFramebuffer |
01050900
00040000
87010000 |
02020900
04000000
C7030000 |
10.15.5-CFL-3E920000-Con1-DP2DVI |
com.apple.driver.AppleIntelCFLGraphicsFramebuffer |
02040A00 00040000
87010000 |
03040A00
04000000 C7030000 |
10.15.5-CFL-3E920000-Con2-DP2DVI |
The kext patches do the following
- Add 1 (one) to each connector index (00 -> 01, 01 -> 02, 02 -> 03). Without this index change, my system would boot to a single display that flashed on and off
- Change all connector types to DigitalDVI (my system has DP connectors, but I am using DP->DVI adapters. System booted to black screens without this connector type change and when I change connector types to DP.
- Change all connector flags to 0x03C7. Without the change in flag values, displays remained black after sleep/wake and I could not remotely connect after sleep/wake.
- Change Bus IDs 0, 5, 4 to 1, 2, 4 respectively. I determined this by trial and error. There may be other Bus IDs that work, but my system booted to black screens if I did not change the Bus IDs.