Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

Sway starts with black screen, only cursor visible #1852

Closed
johnae opened this issue Oct 13, 2019 · 26 comments · Fixed by #1870
Closed

Sway starts with black screen, only cursor visible #1852

johnae opened this issue Oct 13, 2019 · 26 comments · Fixed by #1870
Labels

Comments

@johnae
Copy link

johnae commented Oct 13, 2019

I know there's a similar issue posted already, however, in my case this started happening when compiling sway against wlroots after commit 3b4824a (which is only three commits). So this is very new.

I don't know which one is causing this yet. The sway commit compiled against wlroots is swaywm/sway@533acbe (so latest commit as of right now).

@emersion
Copy link
Member

Needs debug logs.

@johnae
Copy link
Author

johnae commented Oct 13, 2019

This is the commit in wlroots that causes it anyway: 2bdd1d0

@johnae
Copy link
Author

johnae commented Oct 13, 2019

Here's a debug log (I killed sway from other VT after a while fyi):
sway.log

@emersion
Copy link
Member

emersion commented Oct 13, 2019

Note, this is an Intel KBL machine.

2019-10-13 11:06:19 - [backend/drm/atomic.c:57] eDP-1: Atomic commit failed (modeset): Invalid argument

Then followed by:

2019-10-13 11:06:24 - [backend/drm/drm.c:952] eDP-1: Retrying pageflip
2019-10-13 11:06:24 - [backend/drm/drm.c:503] Starting renderer on output 'eDP-1'
2019-10-13 11:06:24 - [backend/drm/atomic.c:57] eDP-1: Atomic commit failed (modeset): Invalid argument

Can you do this:

sudo dmesg -C
echo 0xFE | sudo tee /sys/module/drm/parameters/debug
sway
# exit sway
echo 0x00 | sudo tee /sys/module/drm/parameters/debug
dmesg >dmesg.log

And upload dmesg.log?

@johnae
Copy link
Author

johnae commented Oct 13, 2019

If it matters, this is a Dell XPS 13 9370. Haven't had any issues like this with sway/wlroots otherwise. Will get back to you with the requested log in a while.

@emersion
Copy link
Member

If you could also try to use Weston and see if it does the same thing, that would be helpful.

@johnae
Copy link
Author

johnae commented Oct 13, 2019

dmesg.log

@emersion
Copy link
Member

[13286.136997] [drm:drm_atomic_check_only [drm]] checking 000000006fec0bb4
[13286.137001] [drm:drm_atomic_helper_check_modeset [drm_kms_helper]] Updating routing for [CONNECTOR:86:eDP-1]
[13286.137003] [drm:drm_atomic_helper_check_modeset [drm_kms_helper]] [CONNECTOR:86:eDP-1] keeps [ENCODER:85:DDI A], now on [CRTC:48:pipe A]
[13286.137021] [drm:intel_plane_atomic_calc_changes [i915]] [CRTC:48:pipe A] has [PLANE:31:plane 1A] with fb 117
[13286.137036] [drm:intel_plane_atomic_calc_changes [i915]] [PLANE:31:plane 1A] visible 1 -> 1, off 0, on 0, ms 0
[13286.137046] [drm:skl_allocate_pipe_ddb [i915]] Requested display configuration exceeds system DDB limitations
[13286.137054] [drm:skl_allocate_pipe_ddb [i915]] minimum required 482/401
[13286.137068] [drm:intel_dump_pipe_config [i915]] [CRTC:48:pipe A] enable: yes [failed]
[13286.137082] [drm:intel_dump_pipe_config [i915]] active: yes, output_types: EDP (0x100), output format: RGB
[13286.137096] [drm:intel_dump_pipe_config [i915]] cpu_transcoder: EDP, pipe bpp: 24, dithering: 0
[13286.137111] [drm:intel_dump_pipe_config [i915]] dp m_n: lanes: 4; gmch_m: 6212812, gmch_n: 8388608, link_m: 1035468, link_n: 1048576, tu: 64
[13286.137125] [drm:intel_dump_pipe_config [i915]] audio: 0, infoframes: 0, infoframes enabled: 0x0
[13286.137138] [drm:intel_dump_pipe_config [i915]] requested mode:
[13286.137144] [drm:drm_mode_debug_printmodeline [drm]] Modeline "3840x2160": 60 533250 3840 3888 3920 4000 2160 2163 2168 2222 0x48 0xa
[13286.137158] [drm:intel_dump_pipe_config [i915]] adjusted mode:
[13286.137163] [drm:drm_mode_debug_printmodeline [drm]] Modeline "3840x2160": 60 533250 3840 3888 3920 4000 2160 2163 2168 2222 0x48 0xa
[13286.137178] [drm:intel_dump_pipe_config [i915]] crtc timings: 533250 3840 3888 3920 4000 2160 2163 2168 2222, type: 0x48 flags: 0xa
[13286.137192] [drm:intel_dump_pipe_config [i915]] port clock: 540000, pipe src size: 3840x2160, pixel rate 533250
[13286.137205] [drm:intel_dump_pipe_config [i915]] num_scalers: 2, scaler_users: 0x0, scaler_id: -1
[13286.137219] [drm:intel_dump_pipe_config [i915]] pch pfit: pos: 0x00000000, size: 0x00000000, disabled, force thru: no
[13286.137233] [drm:intel_dump_pipe_config [i915]] ips: 0, double wide: 0
[13286.137247] [drm:intel_dump_pipe_config [i915]] dpll_hw_state: ctrl1: 0x1, cfgcr1: 0x0, cfgcr2: 0x0
[13286.137261] [drm:intel_dump_pipe_config [i915]] [PLANE:31:plane 1A] fb: [FB:117] 3840x2160 format = AR24 little-endian (0x34325241), visible: yes
[13286.137275] [drm:intel_dump_pipe_config [i915]]      rotation: 0x1, scaler: -1
[13286.137289] [drm:intel_dump_pipe_config [i915]]      src: 3840.000000x2160.000000+0.000000+0.000000 dst: 3840x2160+0+0
[13286.137296] [drm:drm_atomic_check_only [drm]] atomic driver check for 000000006fec0bb4 failed: -22

Not sure whether this is a i915 watermark bug or if we should try to fallback to linear…

Can you try Weston? It does the same thing as wlroots.

@johnae
Copy link
Author

johnae commented Oct 13, 2019

Tried weston, latest commit as of now https://github.com/wayland-project/weston/commit/c57a8cccd3e89170b503b597830b91b94ba2e518, and it has basically the same issue - black screen. With sway I got the mouse pointer over the console but otherwise nothing, with weston same - but no pointer even. Tried running weston with "--use-pixman" which works fine.

This just started being an issue in sway after above mentioned commit to wlroots.

@emersion
Copy link
Member

emersion commented Oct 14, 2019

Seems like the driver is picking 0x100000000000004 (I915_FORMAT_MOD_Y_TILED_CCS) for the modifier, and this cannot be scanned out because of bandwidth limitations.

Reported a bug upstream: https://bugs.freedesktop.org/show_bug.cgi?id=111995

@johnae Can you run drm_info on your system?

@johnae
Copy link
Author

johnae commented Oct 14, 2019

Node: /dev/dri/card0
├───Driver: i915 (Intel Graphics) version 1.6.0 (20190619)
│   ├───DRM_CLIENT_CAP_STEREO_3D supported
│   ├───DRM_CLIENT_CAP_UNIVERSAL_PLANES supported
│   ├───DRM_CLIENT_CAP_ATOMIC supported
│   ├───DRM_CLIENT_CAP_ASPECT_RATIO supported
│   ├───DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported
│   ├───DRM_CAP_DUMB_BUFFER = 1
│   ├───DRM_CAP_VBLANK_HIGH_CRTC = 1
│   ├───DRM_CAP_DUMB_PREFERRED_DEPTH = 24
│   ├───DRM_CAP_DUMB_PREFER_SHADOW = 1
│   ├───DRM_CAP_PRIME = 3
│   ├───DRM_CAP_TIMESTAMP_MONOTONIC = 1
│   ├───DRM_CAP_ASYNC_PAGE_FLIP = 0
│   ├───DRM_CAP_CURSOR_WIDTH = 256
│   ├───DRM_CAP_CURSOR_HEIGHT = 256
│   ├───DRM_CAP_ADDFB2_MODIFIERS = 1
│   ├───DRM_CAP_PAGE_FLIP_TARGET = 0
│   ├───DRM_CAP_CRTC_IN_VBLANK_EVENT = 1
│   └───DRM_CAP_SYNCOBJ = 1
├───Device: PCI 8086:5917
├───Connectors
│   ├───Connector 0
│   │   ├───Object ID: 86
│   │   ├───Type: eDP
│   │   ├───Status: connected
│   │   ├───Physical size: 290x170 mm
│   │   ├───Subpixel: unknown
│   │   ├───Encoders: {0}
│   │   ├───Modes
│   │   │   ├───[email protected] preferred driver nhsync nvsync 
│   │   │   └───[email protected] driver nhsync nvsync 
│   │   └───Properties
│   │       ├───"EDID" (immutable): blob = 129
│   │       ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│   │       ├───"link-status": enum {Good, Bad} = Good
│   │       ├───"non-desktop" (immutable): range [0, 1] = 0
│   │       ├───"TILE" (immutable): blob = 0
│   │       ├───"CRTC_ID" (atomic): object CRTC = 48
│   │       ├───"Broadcast RGB": enum {Automatic, Full, Limited 16:235} = Automatic
│   │       ├───"max bpc": range [6, 12] = 12
│   │       └───"scaling mode": enum {Full, Center, Full aspect} = Full aspect
│   ├───Connector 1
│   │   ├───Object ID: 92
│   │   ├───Type: DisplayPort
│   │   ├───Status: connected
│   │   ├───Physical size: 600x340 mm
│   │   ├───Subpixel: unknown
│   │   ├───Encoders: {1}
│   │   ├───Modes
│   │   │   ├───[email protected] preferred driver phsync pvsync 
│   │   │   ├───[email protected] driver phsync pvsync 
│   │   │   ├───[email protected] driver phsync pvsync 16:9 
│   │   │   ├───[email protected] driver phsync pvsync 16:9 
│   │   │   ├───[email protected] driver phsync pvsync interlace 16:9 
│   │   │   ├───[email protected] driver phsync pvsync interlace 16:9 
│   │   │   ├───[email protected] driver phsync pvsync 16:9 
│   │   │   ├───[email protected] driver phsync pvsync interlace 16:9 
│   │   │   ├───[email protected] driver nhsync pvsync 
│   │   │   ├───[email protected] driver nhsync pvsync 
│   │   │   ├───[email protected] driver phsync pvsync 
│   │   │   ├───[email protected] driver phsync pvsync 
│   │   │   ├───[email protected] driver nhsync pvsync 
│   │   │   ├───[email protected] driver phsync pvsync 
│   │   │   ├───[email protected] driver phsync pvsync 
│   │   │   ├───[email protected] driver phsync pvsync 16:9 
│   │   │   ├───[email protected] driver phsync pvsync 16:9 
│   │   │   ├───[email protected] driver phsync pvsync 16:9 
│   │   │   ├───[email protected] driver phsync pvsync 
│   │   │   ├───[email protected] driver nhsync nvsync 
│   │   │   ├───[email protected] driver nhsync nvsync 
│   │   │   ├───[email protected] driver nhsync nvsync 
│   │   │   ├───[email protected] driver phsync pvsync 
│   │   │   ├───[email protected] driver phsync pvsync 
│   │   │   ├───[email protected] driver phsync pvsync 
│   │   │   ├───[email protected] driver phsync pvsync 
│   │   │   ├───[email protected] driver nhsync nvsync 
│   │   │   ├───[email protected] driver nhsync nvsync 16:9 
│   │   │   ├───[email protected] driver nhsync nvsync 4:3 
│   │   │   ├───[email protected] driver nhsync nvsync 4:3 
│   │   │   ├───[email protected] driver nhsync nvsync 16:9 
│   │   │   ├───[email protected] driver nhsync nvsync 
│   │   │   ├───[email protected] driver nhsync nvsync 16:9 
│   │   │   ├───[email protected] driver nhsync nvsync 4:3 
│   │   │   ├───[email protected] driver nhsync nvsync 
│   │   │   ├───[email protected] driver nhsync nvsync 
│   │   │   ├───[email protected] driver nhsync nvsync 
│   │   │   ├───[email protected] driver nhsync nvsync 4:3 
│   │   │   ├───[email protected] driver nhsync nvsync 
│   │   │   ├───[email protected] driver nhsync nvsync 4:3 
│   │   │   └───[email protected] driver nhsync pvsync 
│   │   └───Properties
│   │       ├───"EDID" (immutable): blob = 105
│   │       ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│   │       ├───"link-status": enum {Good, Bad} = Good
│   │       ├───"non-desktop" (immutable): range [0, 1] = 0
│   │       ├───"TILE" (immutable): blob = 0
│   │       ├───"CRTC_ID" (atomic): object CRTC = 66
│   │       ├───"audio": enum {force-dvi, off, auto, on} = auto
│   │       ├───"Broadcast RGB": enum {Automatic, Full, Limited 16:235} = Automatic
│   │       ├───"max bpc": range [6, 12] = 12
│   │       └───"Content Protection": enum {Undesired, Desired, Enabled} = Undesired
│   └───Connector 2
│       ├───Object ID: 100
│       ├───Type: DisplayPort
│       ├───Status: connected
│       ├───Physical size: 600x340 mm
│       ├───Subpixel: unknown
│       ├───Encoders: {5}
│       ├───Modes
│       │   ├───[email protected] preferred driver phsync pvsync 
│       │   ├───[email protected] driver phsync pvsync 
│       │   ├───[email protected] driver phsync pvsync 16:9 
│       │   ├───[email protected] driver phsync pvsync 16:9 
│       │   ├───[email protected] driver phsync pvsync interlace 16:9 
│       │   ├───[email protected] driver phsync pvsync interlace 16:9 
│       │   ├───[email protected] driver phsync pvsync 16:9 
│       │   ├───[email protected] driver phsync pvsync interlace 16:9 
│       │   ├───[email protected] driver nhsync pvsync 
│       │   ├───[email protected] driver phsync nvsync 
│       │   ├───[email protected] driver phsync pvsync 
│       │   ├───[email protected] driver phsync pvsync 
│       │   ├───[email protected] driver phsync nvsync 
│       │   ├───[email protected] driver phsync pvsync 
│       │   ├───[email protected] driver phsync pvsync 
│       │   ├───[email protected] driver phsync pvsync 16:9 
│       │   ├───[email protected] driver phsync pvsync 16:9 
│       │   ├───[email protected] driver phsync pvsync 16:9 
│       │   ├───[email protected] driver phsync pvsync 
│       │   ├───[email protected] driver nhsync nvsync 
│       │   ├───[email protected] driver nhsync nvsync 
│       │   ├───[email protected] driver nhsync nvsync 
│       │   ├───[email protected] driver phsync pvsync 
│       │   ├───[email protected] driver phsync pvsync 
│       │   ├───[email protected] driver phsync pvsync 
│       │   ├───[email protected] driver phsync pvsync 
│       │   ├───[email protected] driver nhsync nvsync 
│       │   ├───[email protected] driver nhsync nvsync 16:9 
│       │   ├───[email protected] driver nhsync nvsync 4:3 
│       │   ├───[email protected] driver nhsync nvsync 4:3 
│       │   ├───[email protected] driver nhsync nvsync 16:9 
│       │   ├───[email protected] driver nhsync nvsync 
│       │   ├───[email protected] driver nhsync nvsync 16:9 
│       │   ├───[email protected] driver nhsync nvsync 4:3 
│       │   ├───[email protected] driver nhsync nvsync 
│       │   ├───[email protected] driver nhsync nvsync 
│       │   ├───[email protected] driver nhsync nvsync 
│       │   ├───[email protected] driver nhsync nvsync 4:3 
│       │   ├───[email protected] driver nhsync nvsync 
│       │   ├───[email protected] driver nhsync nvsync 4:3 
│       │   └───[email protected] driver nhsync pvsync 
│       └───Properties
│           ├───"EDID" (immutable): blob = 106
│           ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│           ├───"link-status": enum {Good, Bad} = Good
│           ├───"non-desktop" (immutable): range [0, 1] = 0
│           ├───"TILE" (immutable): blob = 0
│           ├───"CRTC_ID" (atomic): object CRTC = 84
│           ├───"audio": enum {force-dvi, off, auto, on} = auto
│           ├───"Broadcast RGB": enum {Automatic, Full, Limited 16:235} = Automatic
│           ├───"max bpc": range [6, 12] = 12
│           └───"Content Protection": enum {Undesired, Desired, Enabled} = Undesired
├───Encoders
│   ├───Encoder 0
│   │   ├───Object ID: 85
│   │   ├───Type: TMDS
│   │   ├───CRTCS: {0, 1, 2}
│   │   └───Clones: {0}
│   ├───Encoder 1
│   │   ├───Object ID: 91
│   │   ├───Type: TMDS
│   │   ├───CRTCS: {0, 1, 2}
│   │   └───Clones: {1}
│   ├───Encoder 2
│   │   ├───Object ID: 93
│   │   ├───Type: DP MST
│   │   ├───CRTCS: {0, 1, 2}
│   │   └───Clones: {2}
│   ├───Encoder 3
│   │   ├───Object ID: 94
│   │   ├───Type: DP MST
│   │   ├───CRTCS: {0, 1, 2}
│   │   └───Clones: {3}
│   ├───Encoder 4
│   │   ├───Object ID: 95
│   │   ├───Type: DP MST
│   │   ├───CRTCS: {0, 1, 2}
│   │   └───Clones: {4}
│   ├───Encoder 5
│   │   ├───Object ID: 99
│   │   ├───Type: TMDS
│   │   ├───CRTCS: {0, 1, 2}
│   │   └───Clones: {5}
│   ├───Encoder 6
│   │   ├───Object ID: 101
│   │   ├───Type: DP MST
│   │   ├───CRTCS: {0, 1, 2}
│   │   └───Clones: {6}
│   ├───Encoder 7
│   │   ├───Object ID: 102
│   │   ├───Type: DP MST
│   │   ├───CRTCS: {0, 1, 2}
│   │   └───Clones: {7}
│   └───Encoder 8
│       ├───Object ID: 103
│       ├───Type: DP MST
│       ├───CRTCS: {0, 1, 2}
│       └───Clones: {8}
├───CRTCs
│   ├───CRTC 0
│   │   ├───Object ID: 48
│   │   └───Properties
│   │       ├───"ACTIVE" (atomic): range [0, 1] = 1
│   │       ├───"MODE_ID" (atomic): blob = 113
│   │       │   └───[email protected] preferred driver nhsync nvsync 
│   │       ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│   │       ├───"VRR_ENABLED": range [0, 1] = 0
│   │       ├───"DEGAMMA_LUT": blob = 0
│   │       ├───"DEGAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 1024
│   │       ├───"CTM": blob = 0
│   │       ├───"GAMMA_LUT": blob = 111
│   │       └───"GAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 1024
│   ├───CRTC 1
│   │   ├───Object ID: 66
│   │   └───Properties
│   │       ├───"ACTIVE" (atomic): range [0, 1] = 1
│   │       ├───"MODE_ID" (atomic): blob = 117
│   │       │   └───[email protected] preferred driver phsync pvsync 
│   │       ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│   │       ├───"VRR_ENABLED": range [0, 1] = 0
│   │       ├───"DEGAMMA_LUT": blob = 0
│   │       ├───"DEGAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 1024
│   │       ├───"CTM": blob = 0
│   │       ├───"GAMMA_LUT": blob = 116
│   │       └───"GAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 1024
│   └───CRTC 2
│       ├───Object ID: 84
│       └───Properties
│           ├───"ACTIVE" (atomic): range [0, 1] = 1
│           ├───"MODE_ID" (atomic): blob = 114
│           │   └───[email protected] preferred driver phsync pvsync 
│           ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│           ├───"VRR_ENABLED": range [0, 1] = 0
│           ├───"DEGAMMA_LUT": blob = 0
│           ├───"DEGAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 1024
│           ├───"CTM": blob = 0
│           ├───"GAMMA_LUT": blob = 115
│           └───"GAMMA_LUT_SIZE" (immutable): range [0, UINT32_MAX] = 1024
└───Planes
    ├───Plane 0
    │   ├───Object ID: 31
    │   ├───CRTCs: {0}
    │   ├───Formats:
    │   │   ├───C8 (0x20203843)
    │   │   ├───RGB565 (0x36314752)
    │   │   ├───XRGB8888 (0x34325258)
    │   │   ├───XBGR8888 (0x34324258)
    │   │   ├───ARGB8888 (0x34325241)
    │   │   ├───ABGR8888 (0x34324241)
    │   │   ├───XRGB2101010 (0x30335258)
    │   │   ├───XBGR2101010 (0x30334258)
    │   │   ├───YUYV (0x56595559)
    │   │   ├───YVYU (0x55595659)
    │   │   ├───UYVY (0x59565955)
    │   │   ├───VYUY (0x59555956)
    │   │   └───NV12 (0x3231564e)
    │   └───Properties
    │       ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
    │       ├───"FB_ID" (atomic): object framebuffer = 120
    │       ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
    │       ├───"CRTC_ID" (atomic): object CRTC = 48
    │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 3840
    │       ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 2160
    │       ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 3840
    │       ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 2160
    │       ├───"IN_FORMATS" (immutable): blob = 32
    │       │   ├───I915_FORMAT_MOD_Yf_TILED_CSS (0x100000000000005)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   └───ABGR8888 (0x34324241)
    │       │   ├───I915_FORMAT_MOD_Y_TILED_CCS (0x100000000000004)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   └───ABGR8888 (0x34324241)
    │       │   ├───I915_FORMAT_MOD_Yf_TILED (0x100000000000003)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   ├───VYUY (0x59555956)
    │       │   │   └───NV12 (0x3231564e)
    │       │   ├───I915_FORMAT_MOD_Y_TILED (0x100000000000002)
    │       │   │   ├───C8 (0x20203843)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   ├───VYUY (0x59555956)
    │       │   │   └───NV12 (0x3231564e)
    │       │   ├───I915_FORMAT_MOD_X_TILED (0x100000000000001)
    │       │   │   ├───C8 (0x20203843)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   ├───VYUY (0x59555956)
    │       │   │   └───NV12 (0x3231564e)
    │       │   └───DRM_FORMAT_MOD_LINEAR (0x0)
    │       │       ├───C8 (0x20203843)
    │       │       ├───RGB565 (0x36314752)
    │       │       ├───XRGB8888 (0x34325258)
    │       │       ├───XBGR8888 (0x34324258)
    │       │       ├───ARGB8888 (0x34325241)
    │       │       ├───ABGR8888 (0x34324241)
    │       │       ├───XRGB2101010 (0x30335258)
    │       │       ├───XBGR2101010 (0x30334258)
    │       │       ├───YUYV (0x56595559)
    │       │       ├───YVYU (0x55595659)
    │       │       ├───UYVY (0x59565955)
    │       │       ├───VYUY (0x59555956)
    │       │       └───NV12 (0x3231564e)
    │       ├───"rotation": bitmask {rotate-0, rotate-90, rotate-180, rotate-270} = (rotate-0 | rotate-90)
    │       ├───"COLOR_ENCODING": enum {ITU-R BT.601 YCbCr, ITU-R BT.709 YCbCr} = ITU-R BT.709 YCbCr
    │       ├───"COLOR_RANGE": enum {YCbCr limited range, YCbCr full range} = YCbCr limited range
    │       ├───"alpha": range [0, UINT16_MAX] = 65535
    │       └───"pixel blend mode": enum {None, Pre-multiplied, Coverage} = Pre-multiplied
    ├───Plane 1
    │   ├───Object ID: 38
    │   ├───CRTCs: {0}
    │   ├───Formats:
    │   │   ├───C8 (0x20203843)
    │   │   ├───RGB565 (0x36314752)
    │   │   ├───XRGB8888 (0x34325258)
    │   │   ├───XBGR8888 (0x34324258)
    │   │   ├───ARGB8888 (0x34325241)
    │   │   ├───ABGR8888 (0x34324241)
    │   │   ├───XRGB2101010 (0x30335258)
    │   │   ├───XBGR2101010 (0x30334258)
    │   │   ├───YUYV (0x56595559)
    │   │   ├───YVYU (0x55595659)
    │   │   ├───UYVY (0x59565955)
    │   │   ├───VYUY (0x59555956)
    │   │   └───NV12 (0x3231564e)
    │   └───Properties
    │       ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Overlay
    │       ├───"FB_ID" (atomic): object framebuffer = 0
    │       ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
    │       ├───"CRTC_ID" (atomic): object CRTC = 0
    │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0
    │       ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0
    │       ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"IN_FORMATS" (immutable): blob = 39
    │       │   ├───I915_FORMAT_MOD_Yf_TILED_CSS (0x100000000000005)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   └───ABGR8888 (0x34324241)
    │       │   ├───I915_FORMAT_MOD_Y_TILED_CCS (0x100000000000004)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   └───ABGR8888 (0x34324241)
    │       │   ├───I915_FORMAT_MOD_Yf_TILED (0x100000000000003)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   ├───VYUY (0x59555956)
    │       │   │   └───NV12 (0x3231564e)
    │       │   ├───I915_FORMAT_MOD_Y_TILED (0x100000000000002)
    │       │   │   ├───C8 (0x20203843)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   ├───VYUY (0x59555956)
    │       │   │   └───NV12 (0x3231564e)
    │       │   ├───I915_FORMAT_MOD_X_TILED (0x100000000000001)
    │       │   │   ├───C8 (0x20203843)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   ├───VYUY (0x59555956)
    │       │   │   └───NV12 (0x3231564e)
    │       │   └───DRM_FORMAT_MOD_LINEAR (0x0)
    │       │       ├───C8 (0x20203843)
    │       │       ├───RGB565 (0x36314752)
    │       │       ├───XRGB8888 (0x34325258)
    │       │       ├───XBGR8888 (0x34324258)
    │       │       ├───ARGB8888 (0x34325241)
    │       │       ├───ABGR8888 (0x34324241)
    │       │       ├───XRGB2101010 (0x30335258)
    │       │       ├───XBGR2101010 (0x30334258)
    │       │       ├───YUYV (0x56595559)
    │       │       ├───YVYU (0x55595659)
    │       │       ├───UYVY (0x59565955)
    │       │       ├───VYUY (0x59555956)
    │       │       └───NV12 (0x3231564e)
    │       ├───"rotation": bitmask {rotate-0, rotate-90, rotate-180, rotate-270} = (rotate-0 | rotate-90)
    │       ├───"COLOR_ENCODING": enum {ITU-R BT.601 YCbCr, ITU-R BT.709 YCbCr} = ITU-R BT.709 YCbCr
    │       ├───"COLOR_RANGE": enum {YCbCr limited range, YCbCr full range} = YCbCr limited range
    │       ├───"alpha": range [0, UINT16_MAX] = 65535
    │       └───"pixel blend mode": enum {None, Pre-multiplied, Coverage} = Pre-multiplied
    ├───Plane 2
    │   ├───Object ID: 45
    │   ├───CRTCs: {0}
    │   ├───Formats:
    │   │   └───ARGB8888 (0x34325241)
    │   └───Properties
    │       ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Cursor
    │       ├───"FB_ID" (atomic): object framebuffer = 128
    │       ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
    │       ├───"CRTC_ID" (atomic): object CRTC = 48
    │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 2083
    │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 1243
    │       ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 256
    │       ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 256
    │       ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 256
    │       ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 256
    │       ├───"IN_FORMATS" (immutable): blob = 46
    │       │   └───DRM_FORMAT_MOD_LINEAR (0x0)
    │       │       └───ARGB8888 (0x34325241)
    │       └───"rotation": bitmask {rotate-0, rotate-180} = (rotate-0)
    ├───Plane 3
    │   ├───Object ID: 49
    │   ├───CRTCs: {1}
    │   ├───Formats:
    │   │   ├───C8 (0x20203843)
    │   │   ├───RGB565 (0x36314752)
    │   │   ├───XRGB8888 (0x34325258)
    │   │   ├───XBGR8888 (0x34324258)
    │   │   ├───ARGB8888 (0x34325241)
    │   │   ├───ABGR8888 (0x34324241)
    │   │   ├───XRGB2101010 (0x30335258)
    │   │   ├───XBGR2101010 (0x30334258)
    │   │   ├───YUYV (0x56595559)
    │   │   ├───YVYU (0x55595659)
    │   │   ├───UYVY (0x59565955)
    │   │   ├───VYUY (0x59555956)
    │   │   └───NV12 (0x3231564e)
    │   └───Properties
    │       ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
    │       ├───"FB_ID" (atomic): object framebuffer = 87
    │       ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
    │       ├───"CRTC_ID" (atomic): object CRTC = 66
    │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 2560
    │       ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 1440
    │       ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 2560
    │       ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 1440
    │       ├───"IN_FORMATS" (immutable): blob = 50
    │       │   ├───I915_FORMAT_MOD_Yf_TILED_CSS (0x100000000000005)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   └───ABGR8888 (0x34324241)
    │       │   ├───I915_FORMAT_MOD_Y_TILED_CCS (0x100000000000004)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   └───ABGR8888 (0x34324241)
    │       │   ├───I915_FORMAT_MOD_Yf_TILED (0x100000000000003)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   ├───VYUY (0x59555956)
    │       │   │   └───NV12 (0x3231564e)
    │       │   ├───I915_FORMAT_MOD_Y_TILED (0x100000000000002)
    │       │   │   ├───C8 (0x20203843)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   ├───VYUY (0x59555956)
    │       │   │   └───NV12 (0x3231564e)
    │       │   ├───I915_FORMAT_MOD_X_TILED (0x100000000000001)
    │       │   │   ├───C8 (0x20203843)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   ├───VYUY (0x59555956)
    │       │   │   └───NV12 (0x3231564e)
    │       │   └───DRM_FORMAT_MOD_LINEAR (0x0)
    │       │       ├───C8 (0x20203843)
    │       │       ├───RGB565 (0x36314752)
    │       │       ├───XRGB8888 (0x34325258)
    │       │       ├───XBGR8888 (0x34324258)
    │       │       ├───ARGB8888 (0x34325241)
    │       │       ├───ABGR8888 (0x34324241)
    │       │       ├───XRGB2101010 (0x30335258)
    │       │       ├───XBGR2101010 (0x30334258)
    │       │       ├───YUYV (0x56595559)
    │       │       ├───YVYU (0x55595659)
    │       │       ├───UYVY (0x59565955)
    │       │       ├───VYUY (0x59555956)
    │       │       └───NV12 (0x3231564e)
    │       ├───"rotation": bitmask {rotate-0, rotate-90, rotate-180, rotate-270} = (rotate-0 | rotate-90)
    │       ├───"COLOR_ENCODING": enum {ITU-R BT.601 YCbCr, ITU-R BT.709 YCbCr} = ITU-R BT.709 YCbCr
    │       ├───"COLOR_RANGE": enum {YCbCr limited range, YCbCr full range} = YCbCr limited range
    │       ├───"alpha": range [0, UINT16_MAX] = 65535
    │       └───"pixel blend mode": enum {None, Pre-multiplied, Coverage} = Pre-multiplied
    ├───Plane 4
    │   ├───Object ID: 56
    │   ├───CRTCs: {1}
    │   ├───Formats:
    │   │   ├───C8 (0x20203843)
    │   │   ├───RGB565 (0x36314752)
    │   │   ├───XRGB8888 (0x34325258)
    │   │   ├───XBGR8888 (0x34324258)
    │   │   ├───ARGB8888 (0x34325241)
    │   │   ├───ABGR8888 (0x34324241)
    │   │   ├───XRGB2101010 (0x30335258)
    │   │   ├───XBGR2101010 (0x30334258)
    │   │   ├───YUYV (0x56595559)
    │   │   ├───YVYU (0x55595659)
    │   │   ├───UYVY (0x59565955)
    │   │   ├───VYUY (0x59555956)
    │   │   └───NV12 (0x3231564e)
    │   └───Properties
    │       ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Overlay
    │       ├───"FB_ID" (atomic): object framebuffer = 0
    │       ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
    │       ├───"CRTC_ID" (atomic): object CRTC = 0
    │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0
    │       ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0
    │       ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"IN_FORMATS" (immutable): blob = 57
    │       │   ├───I915_FORMAT_MOD_Yf_TILED_CSS (0x100000000000005)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   └───ABGR8888 (0x34324241)
    │       │   ├───I915_FORMAT_MOD_Y_TILED_CCS (0x100000000000004)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   └───ABGR8888 (0x34324241)
    │       │   ├───I915_FORMAT_MOD_Yf_TILED (0x100000000000003)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   ├───VYUY (0x59555956)
    │       │   │   └───NV12 (0x3231564e)
    │       │   ├───I915_FORMAT_MOD_Y_TILED (0x100000000000002)
    │       │   │   ├───C8 (0x20203843)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   ├───VYUY (0x59555956)
    │       │   │   └───NV12 (0x3231564e)
    │       │   ├───I915_FORMAT_MOD_X_TILED (0x100000000000001)
    │       │   │   ├───C8 (0x20203843)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   ├───VYUY (0x59555956)
    │       │   │   └───NV12 (0x3231564e)
    │       │   └───DRM_FORMAT_MOD_LINEAR (0x0)
    │       │       ├───C8 (0x20203843)
    │       │       ├───RGB565 (0x36314752)
    │       │       ├───XRGB8888 (0x34325258)
    │       │       ├───XBGR8888 (0x34324258)
    │       │       ├───ARGB8888 (0x34325241)
    │       │       ├───ABGR8888 (0x34324241)
    │       │       ├───XRGB2101010 (0x30335258)
    │       │       ├───XBGR2101010 (0x30334258)
    │       │       ├───YUYV (0x56595559)
    │       │       ├───YVYU (0x55595659)
    │       │       ├───UYVY (0x59565955)
    │       │       ├───VYUY (0x59555956)
    │       │       └───NV12 (0x3231564e)
    │       ├───"rotation": bitmask {rotate-0, rotate-90, rotate-180, rotate-270} = (rotate-0 | rotate-90)
    │       ├───"COLOR_ENCODING": enum {ITU-R BT.601 YCbCr, ITU-R BT.709 YCbCr} = ITU-R BT.709 YCbCr
    │       ├───"COLOR_RANGE": enum {YCbCr limited range, YCbCr full range} = YCbCr limited range
    │       ├───"alpha": range [0, UINT16_MAX] = 65535
    │       └───"pixel blend mode": enum {None, Pre-multiplied, Coverage} = Pre-multiplied
    ├───Plane 5
    │   ├───Object ID: 63
    │   ├───CRTCs: {1}
    │   ├───Formats:
    │   │   └───ARGB8888 (0x34325241)
    │   └───Properties
    │       ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Cursor
    │       ├───"FB_ID" (atomic): object framebuffer = 121
    │       ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
    │       ├───"CRTC_ID" (atomic): object CRTC = 66
    │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = -38
    │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 267
    │       ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 256
    │       ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 256
    │       ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 256
    │       ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 256
    │       ├───"IN_FORMATS" (immutable): blob = 64
    │       │   └───DRM_FORMAT_MOD_LINEAR (0x0)
    │       │       └───ARGB8888 (0x34325241)
    │       └───"rotation": bitmask {rotate-0, rotate-180} = (rotate-0)
    ├───Plane 6
    │   ├───Object ID: 67
    │   ├───CRTCs: {2}
    │   ├───Formats:
    │   │   ├───C8 (0x20203843)
    │   │   ├───RGB565 (0x36314752)
    │   │   ├───XRGB8888 (0x34325258)
    │   │   ├───XBGR8888 (0x34324258)
    │   │   ├───ARGB8888 (0x34325241)
    │   │   ├───ABGR8888 (0x34324241)
    │   │   ├───XRGB2101010 (0x30335258)
    │   │   ├───XBGR2101010 (0x30334258)
    │   │   ├───YUYV (0x56595559)
    │   │   ├───YVYU (0x55595659)
    │   │   ├───UYVY (0x59565955)
    │   │   └───VYUY (0x59555956)
    │   └───Properties
    │       ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
    │       ├───"FB_ID" (atomic): object framebuffer = 122
    │       ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
    │       ├───"CRTC_ID" (atomic): object CRTC = 84
    │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 2560
    │       ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 1440
    │       ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 2560
    │       ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 1440
    │       ├───"IN_FORMATS" (immutable): blob = 68
    │       │   ├───I915_FORMAT_MOD_Yf_TILED (0x100000000000003)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   └───VYUY (0x59555956)
    │       │   ├───I915_FORMAT_MOD_Y_TILED (0x100000000000002)
    │       │   │   ├───C8 (0x20203843)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   └───VYUY (0x59555956)
    │       │   ├───I915_FORMAT_MOD_X_TILED (0x100000000000001)
    │       │   │   ├───C8 (0x20203843)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   └───VYUY (0x59555956)
    │       │   └───DRM_FORMAT_MOD_LINEAR (0x0)
    │       │       ├───C8 (0x20203843)
    │       │       ├───RGB565 (0x36314752)
    │       │       ├───XRGB8888 (0x34325258)
    │       │       ├───XBGR8888 (0x34324258)
    │       │       ├───ARGB8888 (0x34325241)
    │       │       ├───ABGR8888 (0x34324241)
    │       │       ├───XRGB2101010 (0x30335258)
    │       │       ├───XBGR2101010 (0x30334258)
    │       │       ├───YUYV (0x56595559)
    │       │       ├───YVYU (0x55595659)
    │       │       ├───UYVY (0x59565955)
    │       │       └───VYUY (0x59555956)
    │       ├───"rotation": bitmask {rotate-0, rotate-90, rotate-180, rotate-270} = (rotate-0 | rotate-90)
    │       ├───"COLOR_ENCODING": enum {ITU-R BT.601 YCbCr, ITU-R BT.709 YCbCr} = ITU-R BT.709 YCbCr
    │       ├───"COLOR_RANGE": enum {YCbCr limited range, YCbCr full range} = YCbCr limited range
    │       ├───"alpha": range [0, UINT16_MAX] = 65535
    │       └───"pixel blend mode": enum {None, Pre-multiplied, Coverage} = Pre-multiplied
    ├───Plane 7
    │   ├───Object ID: 74
    │   ├───CRTCs: {2}
    │   ├───Formats:
    │   │   ├───C8 (0x20203843)
    │   │   ├───RGB565 (0x36314752)
    │   │   ├───XRGB8888 (0x34325258)
    │   │   ├───XBGR8888 (0x34324258)
    │   │   ├───ARGB8888 (0x34325241)
    │   │   ├───ABGR8888 (0x34324241)
    │   │   ├───XRGB2101010 (0x30335258)
    │   │   ├───XBGR2101010 (0x30334258)
    │   │   ├───YUYV (0x56595559)
    │   │   ├───YVYU (0x55595659)
    │   │   ├───UYVY (0x59565955)
    │   │   └───VYUY (0x59555956)
    │   └───Properties
    │       ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Overlay
    │       ├───"FB_ID" (atomic): object framebuffer = 0
    │       ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
    │       ├───"CRTC_ID" (atomic): object CRTC = 0
    │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0
    │       ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0
    │       ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"IN_FORMATS" (immutable): blob = 75
    │       │   ├───I915_FORMAT_MOD_Yf_TILED (0x100000000000003)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   └───VYUY (0x59555956)
    │       │   ├───I915_FORMAT_MOD_Y_TILED (0x100000000000002)
    │       │   │   ├───C8 (0x20203843)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   └───VYUY (0x59555956)
    │       │   ├───I915_FORMAT_MOD_X_TILED (0x100000000000001)
    │       │   │   ├───C8 (0x20203843)
    │       │   │   ├───RGB565 (0x36314752)
    │       │   │   ├───XRGB8888 (0x34325258)
    │       │   │   ├───XBGR8888 (0x34324258)
    │       │   │   ├───ARGB8888 (0x34325241)
    │       │   │   ├───ABGR8888 (0x34324241)
    │       │   │   ├───XRGB2101010 (0x30335258)
    │       │   │   ├───XBGR2101010 (0x30334258)
    │       │   │   ├───YUYV (0x56595559)
    │       │   │   ├───YVYU (0x55595659)
    │       │   │   ├───UYVY (0x59565955)
    │       │   │   └───VYUY (0x59555956)
    │       │   └───DRM_FORMAT_MOD_LINEAR (0x0)
    │       │       ├───C8 (0x20203843)
    │       │       ├───RGB565 (0x36314752)
    │       │       ├───XRGB8888 (0x34325258)
    │       │       ├───XBGR8888 (0x34324258)
    │       │       ├───ARGB8888 (0x34325241)
    │       │       ├───ABGR8888 (0x34324241)
    │       │       ├───XRGB2101010 (0x30335258)
    │       │       ├───XBGR2101010 (0x30334258)
    │       │       ├───YUYV (0x56595559)
    │       │       ├───YVYU (0x55595659)
    │       │       ├───UYVY (0x59565955)
    │       │       └───VYUY (0x59555956)
    │       ├───"rotation": bitmask {rotate-0, rotate-90, rotate-180, rotate-270} = (rotate-0 | rotate-90)
    │       ├───"COLOR_ENCODING": enum {ITU-R BT.601 YCbCr, ITU-R BT.709 YCbCr} = ITU-R BT.709 YCbCr
    │       ├───"COLOR_RANGE": enum {YCbCr limited range, YCbCr full range} = YCbCr limited range
    │       ├───"alpha": range [0, UINT16_MAX] = 65535
    │       └───"pixel blend mode": enum {None, Pre-multiplied, Coverage} = Pre-multiplied
    └───Plane 8
        ├───Object ID: 81
        ├───CRTCs: {2}
        ├───Formats:
        │   └───ARGB8888 (0x34325241)
        └───Properties
            ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Cursor
            ├───"FB_ID" (atomic): object framebuffer = 126
            ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
            ├───"CRTC_ID" (atomic): object CRTC = 84
            ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = -2598
            ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 267
            ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 256
            ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 256
            ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 256
            ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 256
            ├───"IN_FORMATS" (immutable): blob = 82
            │   └───DRM_FORMAT_MOD_LINEAR (0x0)
            │       └───ARGB8888 (0x34325241)
            └───"rotation": bitmask {rotate-0, rotate-180} = (rotate-0)

@johnae
Copy link
Author

johnae commented Oct 14, 2019

It seems as if in my case, having frame buffer compression enabled somehow caused this. Setting the kernel param i915.enable_fbc=0 (eg. disabling it) enables me to run sway after above mentioned commit again. I guess I'll just keep it disabled but sway used to work just fine with this set.

@johnae
Copy link
Author

johnae commented Oct 17, 2019

This seems to happen anyway actually, perhaps less frequently. Now sway won't start when external display is connected via USB-C -> HDMI adapter. I end up with just the console background and a cursor. If I disconnect the external display, sway continues to appear on the built-in display. Can't get it to show on external display though (I've used this setup for months without issues).

@johnae
Copy link
Author

johnae commented Oct 17, 2019

I tried downgrading the linux kernel from 5.3.6 to 5.2.21, unfortunately that didn't help. I've tried enabling / disabling fbc and psr which also doesn't help it turns out. I did note further up that that helped but since then I upgraded sway / wlroots and honestly not sure whether that affected this or not. I think I may have seen this happen when connected to a HIDPI external display which is why I may have thought the fbc etc actually fixes the issue when it was because I wasn't connected to that display - if not connected to any external display, I don't have any problem launching sway. What helps, in the end, is to downgrade sway/wlroots to:

sway: swaywm/sway@533acbe
wlroots: 11bf87d

The downgrade of sway is probably not what helps, however it seems that to compile sway from tip of master you need a later commit of wlroots (which obviously wouldn't work for me).

So the commit to wlroots that causes this for me really does seem to be: 2bdd1d0

Just to be clear - using the two commits further up means I can use my external display just fine and sway launches just fine regardless of whether connected to external display or not.

@johnae
Copy link
Author

johnae commented Oct 17, 2019

I've also tried bulding tip of master sway and tip of master wlroots with a patch that reverts commit 2bdd1d0 - this also enables me to run sway just fine. So it's quite clear that commit causes this on my setup.

@KenMacD
Copy link

KenMacD commented Oct 17, 2019

@johnae Thank you! I owe you a beer for saving me from having to bisect this to get my second external monitor working. Reverting that commit fixed it.

In case it helps in debugging:

2019-10-17 18:59:45 - [backend/drm/drm.c:503] Starting renderer on output 'DP-6'
2019-10-17 18:59:45 - [backend/drm/atomic.c:56] DP-6: Atomic commit failed (modeset): Invalid argument
2019-10-17 18:59:45 - [backend/drm/drm.c:952] DP-6: Retrying pageflip

@KenMacD
Copy link

KenMacD commented Oct 17, 2019

name    : "i915"
desc    : "Intel Graphics"
date    : "20190619"
version : v1.6.0
busid   : ""

capabilities
    DUMB_BUFFER           :   1
    VBLANK_HIGH_CRTC      :   1
    DUMB_PREFERRED_DEPTH  :  24
    DUMB_PREFER_SHADOW    :   1
    PRIME                 :   3  (import + export)
    TIMESTAMP_MONOTONIC   :   1
    ASYNC_PAGE_FLIP       :   0
    CURSOR_WIDTH          : 256
    CURSOR_HEIGHT         : 256
    ADDFB2_MODIFIERS      :   1
    PAGE_FLIP_TARGET      :   0
    CRTC_IN_VBLANK_EVENT  :   1
    SYNCOBJ               :   1

eDP-1 (#86), connected
    encoder: TMDS (#85), active, crtc #48, fb #111, 1920x1080
    mode: 1920x1080 (2x)

DP-1 (#92), disconnected
    encoder: TMDS (#91)

HDMI-1 (#99), disconnected
    encoder: TMDS (#91)

DP-2 (#105), disconnected
    encoder: TMDS (#104)

DP-5 (#114), connected
    encoder: ??? (#93)
    encoder: ??? (#94), active, crtc #66, fb #111, 1920x1080
    encoder: ??? (#95), crtc #84, fb #111, 1920x1080
    mode: 2560x1440
    mode: 1920x1200
    mode: 2048x1080 (2x)
    mode: 1920x1080 (5x)
    mode: 1600x1200
    mode: 1680x1050
    mode: 1280x1024 (2x)
    mode: 1280x800
    mode: 1152x864
    mode: 1280x720 (3x)
    mode: 1024x768 (2x)
    mode: 800x600 (2x)
    mode: 720x576
    mode: 720x480 (2x)
    mode: 640x480 (3x)
    mode: 720x400

DP-6 (#123), connected
    encoder: ??? (#93)
    encoder: ??? (#94), crtc #66, fb #111, 1920x1080
    encoder: ??? (#95), active, crtc #84, fb #111, 1920x1080
    mode: 2560x1440
    mode: 1920x1200
    mode: 2048x1080 (2x)
    mode: 1920x1080 (5x)
    mode: 1600x1200
    mode: 1680x1050
    mode: 1280x1024 (2x)
    mode: 1280x800
    mode: 1152x864
    mode: 1280x720 (3x)
    mode: 1024x768 (2x)
    mode: 800x600 (2x)
    mode: 720x576
    mode: 720x480 (2x)
    mode: 640x480 (3x)
    mode: 720x400

DP-7 (#158), disconnected
    encoder: ??? (#93)
    encoder: ??? (#94), crtc #66, fb #111, 1920x1080
    encoder: ??? (#95), crtc #84, fb #111, 1920x1080

plane: 31, crtc: 48, fb: 111, type: primary
    formats: C8   RG16 XR24 XB24 AR24 AB24 XR30 XB30 YUYV YVYU UYVY VYUY NV12

plane: 38, crtc: 0, fb: 0, type: overlay
    formats: C8   RG16 XR24 XB24 AR24 AB24 XR30 XB30 YUYV YVYU UYVY VYUY NV12

plane: 45, crtc: 0, fb: 0, type: cursor
    formats: AR24

plane: 49, crtc: 66, fb: 111, type: primary
    formats: C8   RG16 XR24 XB24 AR24 AB24 XR30 XB30 YUYV YVYU UYVY VYUY NV12

plane: 56, crtc: 0, fb: 0, type: overlay
    formats: C8   RG16 XR24 XB24 AR24 AB24 XR30 XB30 YUYV YVYU UYVY VYUY NV12

plane: 63, crtc: 0, fb: 0, type: cursor
    formats: AR24

plane: 67, crtc: 84, fb: 111, type: primary
    formats: C8   RG16 XR24 XB24 AR24 AB24 XR30 XB30 YUYV YVYU UYVY VYUY

plane: 74, crtc: 0, fb: 0, type: overlay
    formats: C8   RG16 XR24 XB24 AR24 AB24 XR30 XB30 YUYV YVYU UYVY VYUY

plane: 81, crtc: 0, fb: 0, type: cursor
    formats: AR24

framebuffer formats
    name    :  bpp     fields         bits        plane  type    endian    lib support
    XR30    :  [31:0]  x:R:G:B        2:10:10:10  P O .  fourcc  le        pixman cairo
    XB30    :  [31:0]  x:B:G:R        2:10:10:10  P O .  fourcc  le        pixman      
    XR24    :  [31:0]  x:R:G:B        8:8:8:8     P O .  fourcc  le        pixman cairo
    XB24    :  [31:0]  x:B:G:R        8:8:8:8     P O .  fourcc  le        pixman      
    AR24    :  [31:0]  A:R:G:B        8:8:8:8     P O C  fourcc  le        pixman      
    AB24    :  [31:0]  A:B:G:R        8:8:8:8     P O .  fourcc  le        pixman      
    RG16    :  [15:0]  R:G:B          5:6:5       P O .  fourcc  le        pixman cairo
    YUYV    :  [31:0]  Cr0:Y1:Cb0:Y0  8:8:8:8     P O .  fourcc  le                    
    YVYU    :  [31:0]  Cb0:Y1:Cr0:Y0  8:8:8:8     P O .  fourcc  le                    
    UYVY    :  [31:0]  Y1:Cr0:Y0:Cb0  8:8:8:8     P O .  fourcc  le                    
    VYUY    :  [31:0]  Y1:Cb0:Y0:Cr0  8:8:8:8     P O .  fourcc  le                    
    24      :  [31:0]  x:R:G:B        8:8:8:8     . . .  legacy  cpu (le)  pixman cairo
    30      :  [31:0]  x:R:G:B        2:10:10:10  . . .  legacy  cpu (le)  pixman cairo
    16      :  [15:0]  R:G:B          5:6:5       . . .  legacy  cpu (le)  pixman cairo

@emersion emersion added the bug label Oct 22, 2019
emersion added a commit to emersion/wlroots that referenced this issue Oct 22, 2019
On some Intel cards using modifiers can fill the FIFO and prevent
hotplugged outputs from being properly enabled.

Add a fallback without modifiers.

References: swaywm#1840
Closes: swaywm#1852
@emersion
Copy link
Member

Can you try #1870?

emersion added a commit to emersion/wlroots that referenced this issue Oct 22, 2019
On some Intel cards using modifiers can fill the FIFO and prevent
hotplugged outputs from being properly enabled.

Add a fallback without modifiers.

Fixes: 2bdd1d0 ("backend/drm: use modifiers for our GBM buffers")
References: swaywm#1840
Closes: swaywm#1852
@johnae
Copy link
Author

johnae commented Oct 22, 2019

Thanks for looking into this @emersion! Unfortunately that didn't help, if anything it is slightly worse since before I could yank the external monitor cable and sway would continue launching, now I have to do a reboot to get the machine into a state where I can undo this patch (and yet again apply the revert patch of earlier mentioned commit).

@emersion
Copy link
Member

Do you have logs with the PR applied?

@johnae
Copy link
Author

johnae commented Oct 22, 2019

dmesg.log
sway.log

Here they are.

emersion added a commit to emersion/wlroots that referenced this issue Oct 22, 2019
On some Intel cards using modifiers can fill the FIFO and prevent
hotplugged outputs from being properly enabled.

Add a fallback without modifiers.

Fixes: 2bdd1d0 ("backend/drm: use modifiers for our GBM buffers")
References: swaywm#1840
Closes: swaywm#1852
@emersion
Copy link
Member

Oh, right, sorry about that, I messed up my patch. Can you try with the updated PR?

@johnae
Copy link
Author

johnae commented Oct 23, 2019

Awesome, now it works! Patch was applied against 61a6f2b just fyi. I'll post the logs here anyway.

dmesg.log
sway.log

ascent12 pushed a commit that referenced this issue Oct 23, 2019
On some Intel cards using modifiers can fill the FIFO and prevent
hotplugged outputs from being properly enabled.

Add a fallback without modifiers.

Fixes: 2bdd1d0 ("backend/drm: use modifiers for our GBM buffers")
References: #1840
Closes: #1852
@KenMacD
Copy link

KenMacD commented Oct 25, 2019

@emersion I still have this issue with my second external monitor. It's the same commit that causes it. From some logs:

2019-10-25 12:46:57 - [backend/session/session.c:40] udev event for card0-DP-4 (add)
2019-10-25 12:46:57 - [backend/drm/drm.c:1280] Found connector 'DP-4'
2019-10-25 12:46:57 - [backend/drm/drm.c:1316] 'DP-4' connected
2019-10-25 12:46:57 - [backend/drm/drm.c:1067]   'DP-4' crtc=-1 state=1 desired_enabled=1
2019-10-25 12:46:57 - [backend/drm/drm.c:1126]   'DP-4' crtc=1 state=1 desired_enabled=1
2019-10-25 12:46:57 - [backend/drm/drm.c:1419] Requesting modeset for 'DP-4'
2019-10-25 12:46:57 - [sway/desktop/output.c:782] New output 0x562aea9bcf40: DP-4
2019-10-25 12:46:57 - [backend/drm/drm.c:652] Modesetting 'DP-4' with '2560x1440@59951 mHz'
2019-10-25 12:46:57 - [backend/drm/drm.c:548] Initializing renderer on connector 'DP-4'
2019-10-25 12:46:57 - [backend/drm/atomic.c:56] DP-4: Atomic commit failed (modeset): Invalid argument
2019-10-25 12:46:57 - [backend/drm/atomic.c:56] DP-4: Atomic commit failed (modeset): Invalid argument
2019-10-25 12:46:57 - [backend/drm/drm.c:575] Failed to initialize renderer on connector 'DP-4': initial page-flip failed
2019-10-25 12:46:57 - [sway/config/output.c:279] Failed to modeset output DP-4
2019-10-25 12:46:57 - [backend/drm/drm.c:1067]   'DP-4' crtc=-1 state=1 desired_enabled=1
2019-10-25 12:46:57 - [backend/drm/drm.c:1126]   'DP-4' crtc=1 state=1 desired_enabled=1
2019-10-25 12:46:58 - [backend/drm/drm.c:1067]   'DP-4' crtc=-1 state=1 desired_enabled=1
2019-10-25 12:46:58 - [backend/drm/drm.c:1126]   'DP-4' crtc=1 state=1 desired_enabled=1
2019-10-25 12:47:07 - [backend/drm/drm.c:1067]   'DP-4' crtc=-1 state=1 desired_enabled=1
2019-10-25 12:47:07 - [backend/drm/drm.c:1126]   'DP-4' crtc=1 state=1 desired_enabled=1
2019-10-25 12:47:59 - [sway/config.c:787] Read line 41: output DP-4 position 2560,0
2019-10-25 12:47:59 - [sway/commands.c:367] Config command: output DP-4 position 2560,0
2019-10-25 12:47:59 - [sway/commands.c:387] After replacement: output DP-4 position 2560,0
2019-10-25 12:47:59 - [sway/config/output.c:195] Config stored for output DP-4 (enabled: -1) ([email protected] position 2560,0 scale -1.000000 subpixel unknown transform -1) (bg (null) (null)) (dpms 0)

Oddly the other external monitor is the exact same model and works fine.

@emersion
Copy link
Member

Can you post full debug logs? Can you also post dmesg logs, as explained in this earlier comment?

@KenMacD
Copy link

KenMacD commented Oct 25, 2019

@emersion Thank you. Please find attached the requested files:

dmesg.log
sway.log

filips pushed a commit to filips/wlroots that referenced this issue Mar 15, 2020
On some Intel cards using modifiers can fill the FIFO and prevent
hotplugged outputs from being properly enabled.

Add a fallback without modifiers.

Fixes: 2bdd1d0 ("backend/drm: use modifiers for our GBM buffers")
References: swaywm#1840
Closes: swaywm#1852
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Development

Successfully merging a pull request may close this issue.

3 participants