Use ConfigMonitor instead of XRandrOutput to try to enable newly attached display.
This is failing still to enable a display that gets attached after having 0 displays attached, but I'm not sure why...
journalctl output after adding this patch and booting with no display then attaching
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xrandr: Output 68 : connected = true , enabled = false
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xcb.helper: RRScreenChangeNotify
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xcb.helper: Window: 67108869
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xcb.helper: Root: 306
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xcb.helper: Rotation: "Rotate_0"
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xcb.helper: Size ID: 65535
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xcb.helper: Size: 1024 768
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xcb.helper: SizeMM: 271 203
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xcb.helper: RRNotify_OutputChange
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xcb.helper: Output: 68
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xcb.helper: CRTC: 0
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xcb.helper: Mode: 0
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xcb.helper: Rotation: "Rotate_0"
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xcb.helper: Connection: "Connected"
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xcb.helper: Subpixel Order: 0
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xrandr: XRandROutput 68 update
m_connected: 0
m_crtc QObject(0x0)
CRTC: 0
MODE: 0
Connection: 0
Primary: false
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xrandr: Output 68 : connected = true , enabled = false
Sep 18 08:54:36 ness kscreen_backend_launcher[1509]: kscreen.xrandr: Emitting configChanged()
Sep 18 08:54:36 ness org_kde_powerdevil[1358]: backendConfigChanged called, newConfig: KScreen::Config(
KScreen::Output( 68 "VGA1" connected disabled pos: QPoint(0,0) res: QSize(->
Sep 18 08:54:36 ness org_kde_powerdevil[1358]: backendConfigChanged called, iterating over outputs to watch for config changes
Sep 18 08:54:36 ness org_kde_powerdevil[1358]: Checking output, edid: 0x0 is connected: true is enabled: false
Sep 18 08:54:36 ness org_kde_powerdevil[1358]: Requesting edid
Sep 18 08:54:36 ness org_kde_powerdevil[1358]: Requesting missing EDID for outputs (68)
Sep 18 08:54:36 ness org_kde_powerdevil[1358]: edidReady called
Sep 18 08:54:36 ness org_kde_powerdevil[1358]: edidReady output id: 68
Sep 18 08:54:36 ness org_kde_powerdevil[1358]: config: KScreen::Config(
KScreen::Output( 68 "VGA1" connected disabled pos: QPoint(0,0) res: QSize(->
Sep 18 08:54:36 ness org_kde_powerdevil[1358]: Received edid: ""
Sep 18 08:54:36 ness org_kde_powerdevil[1358]: setting output edid, setting enabled
Sep 18 08:54:36 ness org_kde_powerdevil[1358]: Calling updateConfigs with config: KScreen::Config(
KScreen::Output( 68 "VGA1" connected enabled pos: QPoint(0,0) res: QSize(19>
Sep 18 08:54:36 ness org_kde_powerdevil[1358]: Applying config: KScreen::Config(
KScreen::Output( 68 "VGA1" connected enabled pos: QPoint(0,0) res: QSize(19>
Sep 18 08:54:37 ness plasmashell[906]: backendConfigChanged called, newConfig: KScreen::Config(
KScreen::Output( 68 "VGA1" connected disabled pos: QPoint(0,0) res: QSize(-1, -1) m>
Sep 18 08:54:37 ness plasmashell[906]: backendConfigChanged called, iterating over outputs to watch for config changes
Sep 18 08:54:37 ness plasmashell[906]: Checking output, edid: 0x0 is connected: true is enabled: false
Sep 18 08:54:37 ness plasmashell[906]: Requesting edid
Sep 18 08:54:37 ness plasmashell[906]: Requesting missing EDID for outputs (68)
Sep 18 08:54:37 ness plasmashell[906]: edidReady called
Sep 18 08:54:37 ness plasmashell[906]: edidReady output id: 68
Sep 18 08:54:37 ness plasmashell[906]: config: KScreen::Config(
KScreen::Output( 68 "VGA1" connected disabled pos: QPoint(0,0) res: QSize(-1, -1) m>
Sep 18 08:54:37 ness plasmashell[906]: Received edid: ""
Sep 18 08:54:37 ness plasmashell[906]: setting output edid, setting enabled
Sep 18 08:54:37 ness plasmashell[906]: Calling updateConfigs with config: KScreen::Config(
KScreen::Output( 68 "VGA1" connected enabled pos: QPoint(0,0) res: QSize(1920, 1080>
Sep 18 08:54:37 ness plasmashell[906]: Applying config: KScreen::Config(
KScreen::Output( 68 "VGA1" connected enabled pos: QPoint(0,0) res: QSize(1920, 1080>
Edited by Jeremy Whiting