Thanks
@jhax01 for this complete guide. I'll throw in some additions and fixes to make things a bit "cleaner" (to be debated).
For the config.plist:
- GFX0, HDAS and HECI are not needed anymore, AppleALC and WhateverGreen take care of that for you
- PluginType has been enabled twice (under ACPI/SSDT and ACPI/SSDT/Generate), not that it will do any harm, but idk, one is enough (I use a standalone SSDT for PluginType because of OC, so that works too)
- For Devices/Properties/PciRoot(0)/Pci(0x02,0), I had to use
0x591b0000, 0105 instead of 0204, HDMI
from rehbman's configs to get HDMI out:
XML:
<key>framebuffer-patch-enable</key>
<integer>1</integer>
<key>framebuffer-con1-enable</key>
<integer>1</integer>
<key>framebuffer-con1-alldata</key>
<data>AQUKAAAIAACHAQAAAwYKAAAEAACHAQAA/wAAAAEAAAAgAAAA</data>
- For USB-C Hotplug, I would recommend renaming the
_RMV
method to XRMV
and then using an SSDT with the proper _RMV Method:
XML:
<dict>
<key>Comment</key>
<string>RMV to XRMV</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>U1gUC19STVYA</data>
<key>Replace</key>
<data>U1gUC1hSTVYA</data>
</dict>
Note that here I only changed the _RMV method of RP01 (which is our port for TB3), just so that I dont rename everything else like the mismatched patch do (and also since it's mismatched, it wont work on OC). With this you put SSDT-TBHP (add it to the sorting if you need to, although I think since we're going 100% hotpatch, I dont see the need for the sorting in the first place).
- LPC patch and SSDT-LPC, I honestly dont see the need for this since even on real macs AppleLPC isnt loaded (as told by Rehabman here) so it's not really needed.
- Instead of using a GPRW SSDT, I use this (thanks to @Sniki for the inspiration):
XML:
<dict>
<key>Comment</key>
<string>Change GPRW 0x6D, 0x04 to GPRW 0x6D, 0x00</string>
<key>Find</key>
<data>R1BSVwptCgQ=</data>
<key>Replace</key>
<data>R1BSVwptCgA=</data>
</dict>
- I have no idea why UseSystemIO is there (even clover wiki isnt talking much about it -???-)
- I have no idea why there is Conexant menubar fix What does it do to the audio?
- There is no real need for the IONetworkingFamily in ForceKextsToLoad (unless you need it), but IOGraphics is certainly needed for VoodooI2C (I have to manually refresh kernel kext cache on OC, there is no such as forcing kexts to load)
- Some entries that can be omitted for the sake of cleaning up the config lol
For the kexts:
- SATA-100-series-unsupported, I dont really see the need for this if your SSD is recognized, correct me if I'm wrong
- You can use ACPIBatteryManager *with* VirtualSMC, there nothing preventing you from doing that, although the other way SMCBattery + FSMC may not work (didnt test)
- About battery, I have that weird bug where it would say that I'm low on battery anytime and every time (even at 100%), although I still get my 5 hours of use (on full brightness), it's still annoying. Resetting the UEFI Firmware didnt help, I'm on the latest update (with the HP Application and Battery Management entry and the USB-C High Res addition that cripples your USB-C hub to USB2.0 speeds for the sake of giving more bandwidth to the DP port).
- AlpsT4USB is a blessing, THANK YOU.
For drivers64UEFI:
There is no real need (anymore) for FSInject and OsxFatBinaryDrv, they can be removed. Also Acidanthera's VboxHfs works fine too if you want to use an opensource driver.
For UEFI Firmware settings:
You forgot to mention that you need to disable Wake from LAN (to fix sudden wake or black screen on wake).
Other than that, it's all good. I dont know what sleep bug you're having, for me sleep/wake works just fine (other than the BT issue that still happens really rarely for me after those BrcmPatchRAM2 boot args and the new patched one), there is also the issue that if you kept your USB-C hub plugged when putting the tablet to sleep, it wont re-connect to the system until you unplug it, wait for the "ExpressCard" logo to go then some more seconds then replug it, this happens to me, and I lost all USB functions but video out still works out.
There certainly is some garbage in the config.plist that can be pared out. Mostly due to me being lazy and using Clover Configurator--accidentally check something it gets added in regardless of whether or not you uncheck it. Most of these items are 'flair' and can be done multiple ways but here are my unsolicited thoughts --
1. HDAS and HECI renames get handled fine but whatevergreen is very poor at capturing all the GFX renames, it's best to leave it in the config.plist. which may also relate to #3 in your particular case as I have no issue with HDMI audio, etc, without needing additional patching.
2. I agree, delete one of the patches or use an SSDT.
3. See #1
4. This is a flair item. Your method works fine, but I see no need to add an SSDT when all we are trying to do is change the TARS variable to 1. It's true that the patch changes it for *all* of the RPxx locations in the DSDT but since there are only two devices, there's no harm. Also not sure what you mean by 'mismatched'
5. You're right, delete them.
6. Flair. Either method works fine.
7. This can be deleted. It has to do with generating P C states and isn't needed or used.
8. As stated, this is a cosmetic fix for the displayed sound level in the menubar. I didn't realize that AppleALC incorporates it tho.
9. I agree.
10. There's loads of this for sure, things like sorted order, etc.
I happen to need the SATA 100 kext as I don't use an NVME drive unless something has changed and the device IDs are now in Mojave (but I don't think that's the case). For myself, the VirtualSMC and SMCBatteryManager combination have been far more reliable with battery reporting. You may want to double check that the EC regions are the same between your extracted DSDT and the patches. I did also notice that cycle count is no longer being correctly reported so I'll have a look at it as well. The OsxFatBinary driver is definitely not needed. I don't use OC so for me, FSInject is needed for kext injection AFAIK.
Anyway, I appreciate your suggestions and will incorporate some of them in the first post soon.