HDMI output after suspend to RAM on MacBook Pro

HDMI output appears broken after suspend.

Steps to reproduce:

  1. Boot and connect to HDMI out. Both screens have output.
  2. Login to KDE desktop. Use Krunner to trigger sleep (suspend to RAM)
  3. Wait for both screen to go dark and the laptop to enter suspend.
  4. Leave the HDMI cable connected, press the power button to wake up the laptop.
  5. The laptop wakes up but external HDMI screen remains dark.
  6. KDE display setting shows only the laptop screen present.
  7. Unplug the HDMI cable and plug it in again. KDE display setting will briefly recognise an additional screen. It quickly stabilises on just the laptop screen.

Reboot the laptop will restore HDMI output.

An excerpt of kernel logs: [ 4259.321188] apple-dcp 389c00000.dcp: RTKit: syslog message: nifiedPipeline.cp - Pastebin.com

So far I can reproduce on an M2 Pro MacBook 14, an M1 Pro MacBook 16. Is this a known bug? Any helpful information I can gather to help with debugging?


This is a known issue. DCP suspend/resume sometimes breaks the displayport PHY stuff.

Can you link to the bug report/issue tracker for that bug - I’ve got a similar issue and wanted to add to it

I have a Mac Mini, with a HDMI screen attached. If I switch the screen off or tell sway to power the screen down (via swaymsg output HDMI-A-1 power off) I cannot get the screen to come back on (also this includes powering the machine up without the screen switched on).

Attempting to get the screen to turn back on -

  • switched it on and off again :slight_smile:
  • unplugged the hdmi cable from the mini, and plugged it back in again
  • ran the swaymsg power on equivalent from a ssh ssession

Note: the machine wasn’t hibernating/sleeping, because the ssh session was able to be established without issue, it’s purely about repowering a HDMI screen after the system thinks it has been switched off.

Edit: Just to add
I logged out of sway, and logged into Gnome, to see if it was the Desktop Environment that was causing the issue. I switched the monitor off, and when I switched it back on the screen could not get an HDMI signal, which I think eliminates the desktop environments as a cause, or contributor to the issue.

Does anyone know a workaround instead of rebooting the whole system?

This is an unrelated issue, which is related to race issues in the driver triggered by naughty screens that glitch their HPD line on resume from wake. The suspend bug on M2 machines is specifically about suspend, not anything else.

Thank you @marcan for your quick response.