Works on at least my 2010 iMac. Should work on other DisplayPort-based iMacs but will not work on Macs with Thunderbolt ports as those are far more complicated.
This is a tiny EFI executable that pokes at the Apple System Management Controller to enable Target Display Mode. This
can be placed on a USB flash drive (formatted as FAT32 and placed at \EFI\BOOT\BOOTX64.EFI) or on the hard drive and
will work regardless of what version of macOS is on the iMac.
These do not work at all with this iteration of Boot2TargetDisplay and appear to be much more complicated in their design.
- The CPU is pinned at 100% when this is running, which can be solved by hooking this up to EFI timers
- The "waiting for connection" display does not reappear if the cable is disconnected, but Target Display Mode will spring back into life when it is reconnected/when there is a signal no problem.
You need GNU make, Clang, and lld-link, once you have those just type make.
- Don't pin a CPU core while Boot2TargetDisplay is running
Display auto-detectionkinda, we can now hotplug the display connector, but we can't return to EFI- Possibly put the iMac CPU to sleep to minimize heat output (not sure if this is possible, I'd have to experiment in Linux)
- EFI headers from EDK2
- Apple SMC protocol headers from OpenCore
- Target Display reverse engineering based on this blog post from Florian Echtler
This is licensed under the MIT license.