OK, nothing in your OC 0.8.9 EFI immediately stands out as being a cause for the blurred text issue you are facing.
Saying that, your OpenCore EFI is lacking some essential parts, compared to a fully fledged EFI for a similar Haswell system.
This is an expanded Tree view of your OC folder contents in Finder.
AsRock H97 Killer, i7-4790, Vega 56
This is an expanded Tree view of the OC folder contents from my Asus Z97-K system, which is very similar to your system.
Asus Z97-K, i7-4790K, Vega 56
As you can see there a number of additional SSDTs, Kexts, Drivers and a populated Resources folder in the Z97-K setup.
I have been using most of these SSDT's since I first started using Clover's 'HotPatch' Fixes around 7 years ago. The idea for a lot of the SSDT's I use came from a Github repository created by an ex-moderator from this site VioletDragon and can be found via the link below.
Contribute to VoiletDragon/Series-9-Patches development by creating an account on GitHub.
github.com
Others were created using Corpnewt's SSDTTime python script and the DSDT.aml from my system.
SSDT/DSDT hotpatch attempts. Contribute to corpnewt/SSDTTime development by creating an account on GitHub.
github.com
Here is a link to a guide for using SSDTTime.
Creating custom SSDT's for your system should be done using Corpnewt's SSDTTime python Script and the system DSDT.aml table. First thing you need to do is get a hold of your system DSDT.aml. The easiest way to do this is to use Hackintool. Download and copy the Hackintool app to the...
www.tonymacx86.com
Kexts:
Some the kexts I use are just Hardware Monitoring kexts, that allow me to see temps, fan speeds etc for the components in my system using HSMonitorSMC app.
Application for monitoring hardware health in macOS - CloverHackyColor/HWMonitorSMC2
github.com
Examples of HWMonitorSMC app info displayed on my Haswell system
The main thing your setup is lacking is a custom USBPorts.kext. I would strongly recommend you create a custom USBPorts.kext following the guide linked below.
Important Update: June 2023 From Big Sur 11.3 on the built-in OpenCore XhciPortLimit quirk no-longer worked as described. This became a known "bug", though in reality it was Apple changing their internal code, making a simple "peek and poke" to keep it operating, a difficult task. However, with...
www.tonymacx86.com
I would recommend installing Catalina on a spare drive, so you can undertake the USB Port discovery with the aid of the OC XhciPortLimit Quirk, as it makes life so much easier when configuring your USB ports.
These are the USB ports available on your ASRock Z97 Killer motherboard:
- 2 x USB 2.0 Headers (Support 4 USB 2.0 ports)
- 1 x USB 3.1 Gen1 Header (Supports 2 USB 3.1 Gen1 ports)
- 3 x USB 2.0 Ports
- 1 x Fatal1ty Mouse Port (USB 2.0)
- 4 x USB 3.1 Gen1 Ports
The motherboard provides a maximum of 20 x USB ports. So you would need to drop 5 of the 20 ports from your setup to maintain the 15 port limit per USB Controller that was imposed by Apple when El Capitan was released.
Old/unsupported Kexts:
You have a pair of old kexts, used to support your Atheros WiFi card, in your setup:
- AirPortAtheros40.kext
- HS80211Family.kext
While these may not be related to the blurred text issue, you might be advised to see about swapping this Atheros WiFi card for a natively supported Broadcom card, or even an Intel WIFI/BT card. As a large number of Intel WIFI/Bt cards are now supported in macOS with the AirportItlwm.kext or Itlwm.kext.
Intel Wi-Fi Drivers for macOS. Contribute to OpenIntelWireless/itlwm development by creating an account on GitHub.
github.com
You also have an Android phone 'Tethering' kext in your setup, which is no longer supported or under development. The kext has not been supported since macOS Mojave according to the original developer's blog.
If you are using WiFi with the Atheros card mentioned above, do you need this tethering kext in Big Sur?
OC Boot screen:
The Resources folder you are using is empty, as this is how it is provided with OC by default I am not too surprised about this. I assume you are therefore using the OC Picker list when booting your system. If you want to use the OC GUI boot screen instead of the Picker List all you need to do is replace the Resources folder with the one you can download from the Acidanthera Github repository linked below.
Contribute to acidanthera/OcBinaryData development by creating an account on GitHub.
github.com
Select the green coloured 'CODE' button on the page linked above, and then select download Zip to obtain a copy of the populated Resources folder. It will be within the OcBinaryData-Master folder you downloaded, along with another folder named 'Drivers', as shown below.
contents of OcBinaryData-Master folder
All you would need to do then to replace the Picker List with the OC GUI boot screen is change
Misc >
Boot >
PickerMode from '
Builtin' to '
External' in your config.plist and add a Timeout value that was greater than '0'. As shown below.
Config.plist:
I have cleaned up and edited your config.plist,
- Removing unused and unnecessary entries.
- I have made a couple of changes to the options in your config, to match the OC Haswell desktop guide, as you have a couple of options set incorrectly (DisableIoMapper being the main one).
- I have added the Empty Framebuffer Entry for your HD4600 IGPU to the DeviceProperties section of your config.plist, which your iMac15,1 SMBIOS expects to see working alongside your discrete GPU. New Entry is shown below. This requires the IGPU to be enabled in the bios.
Headless Framebuffer for Haswell HD4600 IGPU
I haven't added any extra kexts, or removed the three older kexts I think are suspect from your EFI sub-folders. As that is something you need to consider. Same goes for adding the Series-9 SSDT's and other custom SSDT's available from use of Corpnewt's SSDTTime script.
I would recommend replacing your current config.plist with the one attached. Simply add your MLB, ROM, Serial Number and SystemUUID entries to this config.plist and try it in your EFI on a spare USB pen drive. See how this effects your system text.
Working through the SSDT, Kext and Resources elements can be done as you test different options.
I am sure this gives you enough to think about.