I'd recommend trying the framebuffer patch below which completely eliminates the graphics corruption on my E6230. I came across it on another Hackintosh site some time ago and it was posted by a person with a different model Dell laptop that had the same corruption issue with an Ivy Bridge HD4000 IGPU. The post stated the issue is caused by an incorrect framebuffer memory size. Apparently for HD4000 based laptops it should be 8MB and not 16MB as defined in the AppleIntelFramebufferCapri kext by default. The post didn't provide a detailed explanation about exactly how this was determined and was several years old but it works all three versions I've used between A17 and A19 and probably others too.
Clover KextsToPatch:
<key>KextsToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>HD4000 0x01660003 FrameBuffer 8 MB</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
AwBmAQECBAIAAAAEAAAAAQ==
</data>
<key>InfoPlistPatch</key>
<false/>
<key>Name</key>
<string>AppleIntelFramebufferCapri</string>
<key>Replace</key>
<data>
AwBmAQECBAIAAAAEAACAAA==
</data>
</dict>
</array>
</dict>
If using WhateverGreen.kext patching, add to Clover Devices/Properties:
<key>Properties</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>framebuffer-fbmem</key>
<data>
AACAAA==
</data>
<key>framebuffer-patch-enable</key>
<data>
AQAAAA==
</data>
</dict>
</dict>
Or to your DSDT file (along with the other properties) in the DSM method under the IGPU device:
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }
Return (Package()
{
"framebuffer-patch-enable", Buffer() { 0x01, 0x00, 0x00, 0x00 },
"framebuffer-fbmem", Buffer() { 0x00, 0x00, 0x80, 0x00 },
})
}