macOS 27.2: external monitor on a USB-C to HDMI adapter flickers, shows as "12 inch Display" at 1280x720, all resolutions refused (empty EDID)

Since I updated from macOS 27.0.1 to 27.2 (26B123), my second monitor stopped working on a Mac mini M4 Pro.

It is a Dell SE2726HG on a USB-C to HDMI adapter. My LG on the built-in HDMI port still works.

Symptoms:

  • The Dell flickers. It disconnects and reconnects about once per second.
  • System Settings shows it as "Display", 12 inch, 1280x720 at 50 Hz.
  • Every resolution change is refused, also for the other monitor.
  • A restart, a replug, or a lower refresh rate on the other monitor does not help.

What the logs show:

  • macOS cannot read the monitor's EDID through the adapter. IOAVServiceCopyEDID returns 0xe00002c9 (internal error), and the framebuffer has an all-zero EDID.
  • Without an EDID, the kernel gives the display no display pipe: "AED: validate_or_set_ex: fb 2 rejecting request, exceeds full dual-pipe allocation (w 1280 vs 0 ...)" and "skipping display with null info".
  • In 47 minutes, the log had 379 hotplug "out" events.

Workaround (no extra hardware, no paid app):
I injected a normal 1920x1080 EDID at runtime with the private IOKit call IOAVServiceSetVirtualEDIDMode(service, 1, edid), then IODPDeviceSetUpdated(device, 1). The monitor then comes up with its correct name at 1920x1080, with zero disconnects. The override is lost on reboot, sleep, or replug, so a LaunchAgent re-applies it every 5 seconds when the EDID read fails. This is the same approach as these projects:

  • https://gist.github.com/danii1/99fa5f849a4d42807418259abfbf03d5
  • https://github.com/owomocha/macos-360hz-unlock
    BetterDisplay Pro can also apply a custom EDID.

I'm having a very similar issue.

Since macOS 27.2 (still on 27.2.1, build 26B131), an ASUS [ASUS model] monitor connected over HDMI is detected without EDID. macOS shows it as a generic "Display" at 1280x720 @ 50Hz, offers no other resolutions, and does not keep display arrangement changes. The monitor has worked with this Mac before.

Hardware: MacBook Pro, Apple M4 Max (Mac16,6)

Steps to reproduce:

  1. Connect the ASUS monitor to the built-in HDMI port, or through a USB-C to HDMI adapter.
  2. Open System Settings > Displays.

Expected: Monitor shows its name and native resolution (2560x1440).
Actual: Shows as "Display" at 1280x720 @ 50Hz. Arrangement is not saved across reconnects.

Diagnostics:

  • ioreg: EDID UUID = 00000000-0000-0000-0000-000000000000, ManufacturerID = 00-00-00, ProductID = 0
  • corercd (CEC): vendorID=000000, modelName= (empty)
  • Kernel log after each hotplug:
    AED: mapping_get_output: skipping display with null info
    AED: validate_or_set_ex: fb 0 rejecting request, exceeds full dual-pipe allocation (w 1280 vs 0, bw 230 vs 0)
    AED validate-ex: returning 0xe00002c7, setOutput count=0

Ruled out:

  • Same monitor works correctly on a Windows laptop (correct name and native resolution), so the monitor's EDID is valid.
  • Swapped HDMI cable: no change.
  • Built-in HDMI port and USB-C to HDMI adapter both fail.
  • Safe Mode: same behavior.
  • Removed com.apple.windowserver.displays plists (user and system) and rebooted: no change.
  • Updated 27.2 to 27.2.1: no change.
  • No third-party display software or system extensions installed.

Hello @sankalpsharma, @tpheiff

Have you filed a feedback report? When you file a feedback report, it gets routed directly to the appropriate relevant engineering teams for them to take a look – make sure a project that reproduces the issue is included, with steps to demonstrate. For troubleshooting purposes, does this happen with only this particular monitor, or have you seen the same with multiple? Include this information in your report.

Thank you,
 Travis