Skip to content

Atomic modeset fails for dual output (eDP-1 + DP-3) on CoffeeLake i915 — second monitor only works after hot-replug, then eDP-1 breaks #357

Description

@gitdayn

Environment

  • Compositor: Hyprland 0.56.2 / Aquamarine 0.14.0
  • GPU: Intel CoffeeLake-H GT2 UHD 630 (PCI 0000:00:02.0, device 3e9b) + NVIDIA (hybrid)
  • Kernel: 7.1.8-arch1-3 (Arch Linux, Omarchy)
  • External monitor: Acer XR342CK (3440x1440 ultrawide) on DP-3
  • Internal panel: Sharp Corporation 0x148D (3840x2160) on eDP-1

Description

At boot, Aquamarine detects both eDP-1 and DP-3 as connected with valid EDID and assigns them CRTC 59 and CRTC 84 respectively. However, the atomic DRM commit fails with Invalid argument, and eDP-1 is disabled while DP-3 gets reassigned to CRTC 59. The laptop screen goes black.

After physically unplugging and replugging the DP cable, DP-3 activates successfully on CRTC 59, but eDP-1 remains disabled: true and cannot be re-enabled.

Steps to Reproduce

  1. Have both eDP-1 and DP-3 connected at boot
  2. Hyprland starts, detects both monitors, attempts modeset
  3. Atomic commit fails, eDP-1 is disabled
  4. Unplug DP-3, replug — DP-3 works, eDP-1 stays dead

Key Log Output

Aquamarine sees both monitors and assigns CRTCs:
DEBUG: drm: found 3 CRTCs
DEBUG: drm: Connector eDP-1 connected
DEBUG: drm: Connecting connector eDP-1, CRTC ID 59
DEBUG: drm: Connector DP-3 connected
DEBUG: drm: Connecting connector DP-3, CRTC ID 84

Atomic commit fails:
ERR: atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY

eDP-1 gets disabled, DP-3 steals its CRTC:
DEBUG: drm: eDP-1 is disabled, releasing crtc 59
DEBUG: drm: connected slot 0 crtc 59 assigned to DP-3
DEBUG: drm: backup slot 1 crtc 84 assigned to disabled eDP-1

Subsequent commit also fails:
ERR: drm: Cannot commit when a page-flip is awaiting

Kernel cmdline

cryptdevice=UUID=...:omarchy_root root=/dev/mapper/omarchy_root zswap.enabled=0 rootflags=subvol=@ rw rootfstype=btrfs rtc_cmos.use_acpi_alarm=1 resume=/dev/mapper/omarchy_root resume_offset=1904529 initramfs_async=0 quiet splash loglevel=0

Tried

  • i915.enable_psr=0 — no change
  • Clearing monitor config (Hyprland auto-detect) — no change
  • Changing DP-3 mode from preferred (75Hz) to 3440x1440@60 — no change
  • Kernel 7.1.8-arch1-3 (latest stable)

Sysfs State

  • /sys/class/drm/card2-DP-3/status: connected
  • /sys/class/drm/card2-DP-3/enabled: enabled
  • /sys/class/drm/card2-DP-3/edid: valid (Acer XR342CK, 3440x1440@75Hz preferred)
  • /sys/class/drm/card2-DP-3/modes: 3440x1440@75Hz and many others

Notes

  • This is a Dell laptop with Intel+NVIDIA GPU
  • Both CRTCs are available (3 found), but atomic commit rejects the dual-output configuration
  • Similar to modesetting failing on external monitor #59 but on CoffeeLake rather than newer Intel GPU
  • NVIDIA GPU (card1) has no outputs connected — all displays on Intel iGPU (card2)

Activity

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