Skip to content

HDMI: display freeze on connecting INNOCN 49C1G monitor — MacBook Pro 16" M2 Pro (j416s), linux-asahi 7.1.13.asahi3 #625

Open

Description

@jonathanmorav

What happens

I am having a hard time getting my MacBook Pro M2 Pro (running Omarchy) to connect to an external monitor. I have an INNOCN external monitor and I am trying to connect via HDMI (USB-C is not supported on this setup at the moment). Every time I connect via HDMI the MacBook just freezes up. When I disconnect it, it goes back to normal.

While debugging I found the key clue: when I was plugged into a different second monitor, the MacBook worked fine and that monitor showed signal output. I tried to plug back into the INNOCN and it did not work again (the MacBook froze). So I think the source is the INNOCN specifically.

I also tried forcing the INNOCN to 1920x1080@60 (the exact mode the working monitor uses) and it froze again.

Reproduction

  1. MacBook Pro 16" M2 Pro (j416s) on linux-asahi 7.1.13.asahi3.
  2. Connect the INNOCN (EDID model 49C1G, a 49" 3840x1080 ultrawide) to the built-in HDMI port.
  3. The desktop freezes within a few seconds; unplugging the cable recovers it every time. No kernel panic.
  4. A Dell E2318HX (1080p) on the same cable and port works normally.
  5. Forcing the INNOCN to 1920x1080@60 also freezes, so it is not resolution/pixel-clock dependent.

System

  • Machine: Apple MacBook Pro (16-inch, M2 Pro, 2023) — apple,j416s / apple,t6020
  • Kernel: linux-asahi 7.1.13.asahi3-1 (uname 7.1.13-3-1-ARCH, aarch64)
  • Distro: Arch Linux ARM (Omarchy 4.0.3); mesa 26.1.8
  • Compositor: Hyprland 0.56.2 (aquamarine)
  • External display path: dcp@289c00000 (dcpext), connector HDMI-A-1, via a Parade PS190 DP-to-HDMI bridge ([AFK]matched PS190: OUI 00.10.FA, DeviceID pHDMIg)

Monitors tested

  • Fails: INNOCN 49" ultrawide, EDID model 49C1G, native 3840x1080@60.
  • Works on the same port and cable: Dell E2318HX (1920x1080@60).

dmesg during the freeze (INNOCN forced to 1920x1080@60)

apple-dcp 289c00000.dcp: set_digital_out_mode(color:68 timing:45) "1920x1080": 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x48 0x0
apple-dcp 289c00000.dcp: set_digital_out_mode() color mode depth:8 format:0 colorimetry:16 eotf:0 range:0 vrr:0
apple-dcp 289c00000.dcp: RTKit: syslog message: nifiedPipeline.cpp:7356: IOMFBStatus UnifiedPipeline::mode_set_gated(uint32_t, uint32_t): 1920x1080@60 Hz link: 1
apple-dcp 289c00000.dcp: set_digital_out_mode finished:8272
apple-dcp 289c00000.dcp: RTKit: syslog message: FramebufferDCP.cpp: IOMFB: swap_submit_dcp: swallowed swap ID 523 as fControllerPowerState is 0 for External Display
apple-dcp 289c00000.dcp: DPTXPort: acking unhandled call 20
apple-dcp 289c00000.dcp: RTKit: syslog message: FramebufferDCP.cpp: IOMFB: swap_submit_dcp: swallowed swap ID 524 as fControllerPowerState is 0 for External Display
apple-drm soc:display-subsystem: [drm] *ERROR* flip_done timed out
apple-drm soc:display-subsystem: [drm] *ERROR* [CRTC:68:crtc-1] commit wait timed out
apple-dcp 289c00000.dcp: DPTXPort: acking unhandled call 20

With the Dell on the same port and cable, the 1920x1080@60 modeset completes and keeps running: no "swallowed swap", no "fControllerPowerState is 0", and no flip_done timeout. I can attach a full dmesg and the INNOCN's EDID if useful.

Activity

  1. TWinston-66 commented on Sep 27, 2026

    @TWinston-66

    Another data point here, could be the same bug, could not be. I think what is triggering it is different. Same issue of connecting via built-in HDMI causes hyprland to freeze.

    • MacBook Pro 14" M2 Max (j414c)
    • built-in HDMI port
    • Samsung U32R59x at 3840x2160
    • linux-asahi 7.1.13
    • Hyprland 0.56.2

    The first connection after boot works, but every time after that in the same session, it fails with the same timeouts. Unplugging the HDMI cable is the only thing that stops the timeouts.

    apple-dcp 289c00000.dcp: DP2HDMI HPD irq, connected:1
    apple-dcp 289c00000.dcp: cb_hotplug() connected:1, valid_mode:0
    apple-dcp 289c00000.dcp: dcp_hotplug() connected:1 valid_mode:0 nr_modes:39
    apple-dcp 289c00000.dcp: DP2HDMI HPD irq, 500ms debounce: connected:1
    apple-dcp 289c00000.dcp: dcp_dptx_connect(port=0)
    apple-drm soc:display-subsystem: [drm] *ERROR* flip_done timed out
    apple-drm soc:display-subsystem: [drm] *ERROR* [CONNECTOR:70:HDMI-A-1] commit wait timed out
    apple-drm soc:display-subsystem: [drm] *ERROR* flip_done timed out
    apple-drm soc:display-subsystem: [drm] *ERROR* [CRTC:68:crtc-1] commit wait timed out
    apple-drm soc:display-subsystem: [drm] *ERROR* flip_done timed out
    apple-drm soc:display-subsystem: [drm] *ERROR* [PLANE:53:plane-3] commit wait timed out
    

    EDID reads fine over DDC the whole time, so from userspace the output looks live while the monitor reports no signal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions