With the resolution of the 5k iMac saga, I was left with a beautiful iMac15,1 sitting on my desk. Throughout my testings with the machine, I would use AirPlay to Mac as a substitute for a proper external display. However, due to limitations with macOS, this was not ideal:

  • Limited to 4k resolution
  • Added latency
  • Reduced colour space
  • Requires AirPlay (ie. no UEFI support)

Thus I looked into options to convert this beautiful system into an external monitor while keeping the iMac inside alive.

Table of Contents

Driver Board Research

Since the release of the 5k iMac back in 2014, many 3rd party driver boards have appeared on the market to drive these panels. At the time of writing, the following driver boards are available:

Driver Board Connection Types DisplayPort Version 5k and 10Bit Colour Price (USD)
R1811 DisplayPort (x2), HDMI 2.0 (x2), USB-C DisplayPort 1.4 with DSC Requires DSC support on GPU, otherwise drops to 8Bit Colour $265
R9A18 DisplayPort (x2), HDMI 2.0 (x2) DisplayPort 1.2 Requires dual DP streams $179
U49 DisplayPort (x1), HDMI 2.0 (x2), USB-C DisplayPort 1.4 8Bit Colour only $225

Additional Board Views:

R1811 R9A18 U49

R1811 - DisplayPort 1.4 DSC

Currently, the most desirable board is the R1811 as it’s a single cable solution with the best OS support across macOS and Windows. Additionally DDC support for controlling backlight and such works out of box with MonitorControl. However, to achieve 10Bit Colour, you’ll need a GPU supporting DisplayPort 1.4 and Display Stream Compression. Currently, the following GPUs in macOS support this:

Vendor Architecture Series
AMD Navi 10/20 RX 5xxx/6xxx series
Apple AGX G13 M1 series
Intel IceLake G4/G7 Iris (10th gen)

For completeness’ sake, I’ve added DisplayPort 1.4 (without DSC, limited to 5k 8bit) information below:

Vendor Architecture Series
AMD Polaris/Vega RX 4xx/5xx/56/64 series
  • Intel Kaby and Coffee Lake support DisplayPort 1.4 however only for internal displays with eDP, external displays are limited to DisplayPort 1.2

Additionally, while Polaris and Vega GPUs support DisplayPort 1.4, all 2017 and older Macs do not due to the Thunderbolt Controller present. Titan Ridge released with the 2018 Coffee Lake series Macs is the first to support DisplayPort 1.4 via external displays.

R9A18 - Dual DisplayPort 1.2

In second place is the R9A18, this older board is based on the internal logic of the 5k iMac itself by combining 2 DisplayPort 1.2 connections. This allows for 5k at 10bit colour support however requires users to connect 2 DisplayPort cables simultaneously to work. Additionally, many have reported mixed experiences with DDC for Display Control. However onscreen controls via the Driver Board’s menu are still supported.

  • For Macs/GPUs lacking DP 1.4, this is the only option to achieve 5k
    • Requires 2 DisplayPort connections, cannot be mixed with HDMI
  • Reports of success with Nvidia GPUs is also mixed, recommend Intel or AMD GPU

The following GPUs support DisplayPort 1.2:

Vendor Architecture Series
AMD GCN 1.0+ HD 7000 series
Intel Ivy Bridge+ HD 4000 series
Nvidia Kepler+ GTX 6xx/7xx

However similar to the 2018 Thunderbolt situation, DisplayPort 1.2 is only available on Thunderbolt 2-based Macs. Thunderbolt 1 controllers max out at DisplayPort 1.1.

U49 - DisplayPort 1.4

Finally, the U49 is one of the newest boards I’ve found and is mainly a cheaper version of the R1811. The main difference is simply the lack of DSC and thus maxing out at 5k 8bit colour. This board is also a single cable solution so an ideal candidate for a little/no-fuss setup for machines.

With regards to hardware support, see the R1811 section.

Display Panels

For the years that the 5k iMac has been around, Apple’s used many panel revisions within the units. LM270QQ1 is used by Apple while LM270QQ2 is used by LG in the Ultrafine series:

Variant Associated Model Colour
SDA2 iMac15,1 10Bit Colour
SDB1 iMac17,1 10Bit Colour
SDC1 iMac18,3 DCI P3 Colour
SDE1 iMac19,1 DCI P3 Colour
SDF1 iMac20,x DCI P3 Colour

For the SDA2 and SDB1 panels, usage with the driver boards is plug-n-play. However, for panels supporting DCI P3 Colour, you’ll need an additional Constant Current Board to achieve proper brightness on the panels. Older panels may benefit from this additional current if you’re having brightness issues.

Personal Setup

As mentioned earlier, my unit was a 2014 5k iMac which includes the LM270QQ1-SDA2 panel. For simplicity’s sake, I decided to spend the extra dollar and get myself the R1811 Driver Board. The unit that arrived was the R1811 V4, and I had decided to skip purchasing the Current Board for this setup.

Once the unit arrived, I had the following systems planned to use with:

System DisplayPort DSC
MacBook Pro 14” M1 Pro 1.4 Supported
X299 Hackintosh RX 470 1.4 Unsupported
iMac 5K 2014 (external) 1.2 Unsupported

14” MacBook Pro Experience

For the 14” MacBook Pro, I had zero issues achieving 5k at 10Bit Colour. The system worked out of the box, however, colour profile in macOS was a bit wonky with the default DP 5K3K profile. Switching to the generic Display profile used by iMacs resolved the issue (Display P3 is right below it).

Otherwise, this panel’s been functioning great with the system.

Display Profile In-use

X299 Hackintosh Experience

With the RX470, I knew that I would be lacking 10 bit colour support. However upon first usage, I didn’t even noticed until I pulled out some 10Bit reference images. At least to my untrained eye, regular usage with the panel was quite well. However, for the majority of the time, I planned to play games in Windows on this system. So no actual colour work was planned regardless.

5k iMac Experience

Finally, we have our first non-DisplayPort 1.4 candidate. Overall this machine was extremely difficult to work with initially. I had only found out after taking the iMac apart that this system throttles itself heavily if no Display is attached. This is apparently expected design from 2012 and newer iMacs.

The specific reason is due to 2 missing sensors present in the Display itself, LCD Flying Lead and Timing Controller (TCON). When neither of these reports back to the firmware, Apple forces a fail-safe mode:

  • Fans start to max out (6000rpm)
  • BD PROCHOT MSR is triggered throttling the CPU to 1100Mhz
  • GPU is down-clocked to 300Mhz and locked there

However thankfully I’ve had experience with firmware throttling previously with a MacBookPro8,2, unfortunately, this is my first time working with an XCPM supported system.

The short answer to resolving this is:

  • Fans can be overridden in macOS via Mac Fan Control, reboots and OS updates still retain the custom fan curve
  • CPU throttling can be resolved with SimpleMSR and disabling of X86PlatformPlugin.kext
    • Disabling X86PP is fairly easy using ASPP-Override.kext, which forces ACPI_SMC_PlatformPlugin to outmatch the XCPM kext
  • GPU throttling has yet to be resolved, however for a server that’s enough for me

Once I had resolved these issues, I was onto booting the iMac. With the display connected, I received a 4k signal and all worked fairly well. For the majority of this system’s life, I planned to run it through VNC as Thunderbolt 2 NAS (approximately 16Gbps~ when running the x4 PCIe 2.0 lanes).

With regards to achieving 5k on the iMac, there are reports the R1811 driver board has a hidden dual DisplayPort 1.2 fallback mode. Unfortunately, I do not have any additional DisplayPort to Mini DisplayPort adapters so I was unable to test this.

Closing Thoughts

Having gone through this experiment, I have to say I’m extremely pleased with the results. The 5k panels are beautiful and this is currently the only way to get a 5k panel working with standard DisplayPort 1.4. This allows for great flexibility with devices and extends the life of the machine long after you’ve upgraded Macs. The fact that this 2014 iMac is being used with a 2021 MacBook Pro is amazing.

However looking at the headless 5k iMac, it’s quite frustrating the hurdles required to get the machine even usable. Not to mention the fact that the GPU is crippled horribly. However, the iMac is still working as a reliable server and test system for OpenCore Legacy Patcher 🦾. Excited to see this setup run macOS 13 in a couple of months.