Use daliansky patches/SSDTs LINK > Isn't so stable: battery life is low, some machines can't wake even with these patches
Unlock BIOS settings > disable AOAC (Low power S0 idle or any S0ix stuff) > It's the most hard way, but the most "stable"
Enable S3 sleep using a SSDT and ACPI rename for some of Dells (Only if your DSDT has S3 present.) Guide is here, files can be viewed here. Second cleanest way / stable.
If your DSDT has _S3, this will work.
However, there might still be a issue where your OEM vendor (for example Dell) might disable/remove S3 state/event from DSDT entirely.
Add "No-gfx-hda" to HDEF (sound) device properties or patch AppleALC yourself or if you really want to use external sound, just disable AppleALC, enable patch for renaming HDAS to HDEF, after that you will be able to use DP/HDMI sound with AppleGFXHDA, but no analog sound will be available (speakers/headphones)
Thanks
To all of acidanthera and dortania team members for all of their kexts/guides and etc
0xFireWolf for multiple Ice Lake graphics fixes (CDCLK/DVMT and DBuf), backlight smooth transition and many more explanations about ICL framebuffer stuff
CobanRamo for finding, test and sharing fix for hibernation
Apple
To all members of Ice Lake gitter chat who provide and share panics/info