UPDATE: the issue only happens when the laptop is fully charged / reaches a full charge. This leads me to suspect that power delivery is somehow the culprit. Hmmmm...
I've been running Solus Budgie as my daily driver on a Thinkpad X1 Carbon 6th gen for a year now, and it's been rock solid-- all of the hardware* worked out of the box with no issues.
However, I recently purchased an HP Z27 4k external monitor to use with the device, and my luck has started to turn. I chose this monitor in particular because it connects over USB-C: I can plug one cable into my laptop to handle display, power delivery, and peripherals (mouse + KB). This setup works remarkably well, EXCEPT that every couple of minutes the display disconnects, and the screens flash/windows resize/"device connected" chimes ding repeatedly for several seconds before the setup resolves itself.
I've experimented with different PCIE ASPM and USB Autosuspend settings, and those don't seem to make any difference. I've also noticed that the display only seems to act up when I do something that changes what is rendered, i.e. navigating to a different website, opening up a new app, dragging a window from one screen to the other. I can't seem to find any behavior that will reliably reproduce the issue, however.
Here's the dmesg output from one such reconnect:
[ 1883.128363] usb 1-3: USB disconnect, device number 5
[ 1883.128365] usb 1-3.1: USB disconnect, device number 6
[ 1883.128366] usb 1-3.1.2: USB disconnect, device number 7
[ 1883.148821] usb 1-3.1.3: USB disconnect, device number 9
[ 1883.149092] xhci_hcd 0000:3b:00.0: remove, state 4
[ 1883.149103] usb usb4: USB disconnect, device number 1
[ 1883.149405] xhci_hcd 0000:3b:00.0: USB bus 4 deregistered
[ 1883.149415] xhci_hcd 0000:3b:00.0: xHCI host controller not responding, assume dead
[ 1883.149417] xhci_hcd 0000:3b:00.0: remove, state 4
[ 1883.149425] usb usb3: USB disconnect, device number 1
[ 1883.149717] xhci_hcd 0000:3b:00.0: Host halt failed, -19
[ 1883.149721] xhci_hcd 0000:3b:00.0: Host not accessible, reset failed.
[ 1883.149836] xhci_hcd 0000:3b:00.0: USB bus 3 deregistered
[ 1883.369471] pci_bus 0000:06: Allocating resources
[ 1883.369505] pcieport 0000:06:01.0: bridge window [io 0x1000-0x0fff] to [bus 08-3a] add_size 1000
[ 1883.369507] pcieport 0000:06:01.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 08-3a] add_size 200000 add_align 100000
[ 1883.369509] pcieport 0000:06:01.0: bridge window [mem 0x00100000-0x000fffff] to [bus 08-3a] add_size 200000 add_align 100000
[ 1883.369518] pcieport 0000:06:02.0: bridge window [io 0x1000-0x0fff] to [bus 3b] add_size 1000
[ 1883.369520] pcieport 0000:06:02.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 3b] add_size 200000 add_align 100000
[ 1883.369529] pcieport 0000:06:04.0: bridge window [io 0x1000-0x0fff] to [bus 3c-6f] add_size 1000
[ 1883.369531] pcieport 0000:06:04.0: bridge window [mem 0x00100000-0x000fffff] to [bus 3c-6f] add_size 400000 add_align 100000
[ 1883.369540] pcieport 0000:05:00.0: bridge window [io 0x1000-0x0fff] to [bus 06-6f] add_size 4000
[ 1883.369544] pcieport 0000:05:00.0: BAR 13: no space for [io size 0x4000]
[ 1883.369545] pcieport 0000:05:00.0: BAR 13: failed to assign [io size 0x4000]
[ 1883.369546] pcieport 0000:05:00.0: BAR 13: no space for [io size 0x4000]
[ 1883.369547] pcieport 0000:05:00.0: BAR 13: failed to assign [io size 0x4000]
[ 1883.369552] pcieport 0000:06:01.0: BAR 14: no space for [mem size 0x00200000]
[ 1883.369553] pcieport 0000:06:01.0: BAR 14: failed to assign [mem size 0x00200000]
[ 1883.369557] pcieport 0000:06:01.0: BAR 15: no space for [mem size 0x00200000 64bit pref]
[ 1883.369558] pcieport 0000:06:01.0: BAR 15: failed to assign [mem size 0x00200000 64bit pref]
[ 1883.369561] pcieport 0000:06:02.0: BAR 15: no space for [mem size 0x00200000 64bit pref]
[ 1883.369562] pcieport 0000:06:02.0: BAR 15: failed to assign [mem size 0x00200000 64bit pref]
[ 1883.369563] pcieport 0000:06:04.0: BAR 14: no space for [mem size 0x00400000]
[ 1883.369564] pcieport 0000:06:04.0: BAR 14: failed to assign [mem size 0x00400000]
[ 1883.369566] pcieport 0000:06:01.0: BAR 13: no space for [io size 0x1000]
[ 1883.369567] pcieport 0000:06:01.0: BAR 13: failed to assign [io size 0x1000]
[ 1883.369568] pcieport 0000:06:02.0: BAR 13: no space for [io size 0x1000]
[ 1883.369569] pcieport 0000:06:02.0: BAR 13: failed to assign [io size 0x1000]
[ 1883.369570] pcieport 0000:06:04.0: BAR 13: no space for [io size 0x1000]
[ 1883.369571] pcieport 0000:06:04.0: BAR 13: failed to assign [io size 0x1000]
[ 1883.369573] pcieport 0000:06:04.0: BAR 14: no space for [mem size 0x00400000]
[ 1883.369574] pcieport 0000:06:04.0: BAR 14: failed to assign [mem size 0x00400000]
[ 1883.369576] pcieport 0000:06:04.0: BAR 13: no space for [io size 0x1000]
[ 1883.369577] pcieport 0000:06:04.0: BAR 13: failed to assign [io size 0x1000]
[ 1883.369579] pcieport 0000:06:02.0: BAR 15: no space for [mem size 0x00200000 64bit pref]
[ 1883.369580] pcieport 0000:06:02.0: BAR 15: failed to assign [mem size 0x00200000 64bit pref]
[ 1883.369582] pcieport 0000:06:02.0: BAR 13: no space for [io size 0x1000]
[ 1883.369583] pcieport 0000:06:02.0: BAR 13: failed to assign [io size 0x1000]
[ 1883.369584] pcieport 0000:06:01.0: BAR 14: no space for [mem size 0x00200000]
[ 1883.369585] pcieport 0000:06:01.0: BAR 14: failed to assign [mem size 0x00200000]
[ 1883.369588] pcieport 0000:06:01.0: BAR 15: no space for [mem size 0x00200000 64bit pref]
[ 1883.369589] pcieport 0000:06:01.0: BAR 15: failed to assign [mem size 0x00200000 64bit pref]
[ 1883.369590] pcieport 0000:06:01.0: BAR 13: no space for [io size 0x1000]
[ 1883.369591] pcieport 0000:06:01.0: BAR 13: failed to assign [io size 0x1000]
[ 1883.506266] usb 1-3: new high-speed USB device number 10 using xhci_hcd
[ 1883.635705] usb 1-3: New USB device found, idVendor=03f0, idProduct=0169, bcdDevice=55.60
[ 1883.635711] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1883.635715] usb 1-3: Product: USB2.1 Hub
[ 1883.635719] usb 1-3: Manufacturer: GenesysLogic
[ 1883.636661] hub 1-3:1.0: USB hub found
[ 1883.636922] hub 1-3:1.0: 2 ports detected
[ 1883.934278] usb 1-3.1: new high-speed USB device number 11 using xhci_hcd
[ 1884.041296] usb 1-3.1: New USB device found, idVendor=03f0, idProduct=0169, bcdDevice=55.71
[ 1884.041303] usb 1-3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1884.041307] usb 1-3.1: Product: USB2.1 Hub
[ 1884.041310] usb 1-3.1: Manufacturer: GenesysLogic
[ 1884.042831] hub 1-3.1:1.0: USB hub found
[ 1884.043154] hub 1-3.1:1.0: 4 ports detected
[ 1884.342350] usb 1-3.1.2: new full-speed USB device number 12 using xhci_hcd
[ 1884.371958] [drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.
[ 1884.448449] usb 1-3.1.2: New USB device found, idVendor=1af3, idProduct=0001, bcdDevice= 0.01
[ 1884.448456] usb 1-3.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1884.448460] usb 1-3.1.2: Product: mouse
[ 1884.448463] usb 1-3.1.2: Manufacturer: Kingsis Peripherals
[ 1884.453715] input: [mouse] as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.1/1-3.1.2/1-3.1.2:1.0/0003:1AF3:0001.0008/input/input26
[ 1884.453949] hid-generic 0003:1AF3:0001.0008: input,hidraw0: USB HID v1.11 Mouse [mouse] on usb-0000:00:14.0-3.1.2/input0
[ 1885.491422] usb 1-3.1.3: new full-speed USB device number 13 using xhci_hcd
[ 1885.592846] usb 1-3.1.3: New USB device found, idVendor=2516, idProduct=0047, bcdDevice=11.08
[ 1885.592853] usb 1-3.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1885.592857] usb 1-3.1.3: Product: keyboard
[ 1885.592860] usb 1-3.1.3: Manufacturer: Cooler Master Technology Inc.
[ 1885.605148] input: Cooler Master Technology Inc. MasterKeys Pro L White as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.1/1-3.1.3/1-3.1.3:1.0/0003:2516:0047.0009/input/input27
[ 1885.658209] hid-generic 0003:2516:0047.0009: input,hidraw1: USB HID v1.11 Keyboard [keyboard] on usb-0000:00:14.0-3.1.3/input0
[ 1885.660015] hid-generic 0003:2516:0047.000A: hiddev0,hidraw2: USB HID v1.11 Device [keyboard] on usb-0000:00:14.0-3.1.3/input1
[ 1885.662454] input: [keyboard] as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.1/1-3.1.3/1-3.1.3:1.2/0003:2516:0047.000B/input/input28
[ 1885.714655] input: [keyboard] as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.1/1-3.1.3/1-3.1.3:1.2/0003:2516:0047.000B/input/input29
[ 1885.714992] input: [keyboard] as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.1/1-3.1.3/1-3.1.3:1.2/0003:2516:0047.000B/input/input30
[ 1885.715349] hid-generic 0003:2516:0047.000B: input,hidraw3: USB HID v1.11 Keyboard [keyboard] on usb-0000:00:14.0-3.1.3/input2
[ 1888.285584] pci 0000:3b:00.0: [8086:15d4] type 00 class 0x0c0330
[ 1888.285629] pci 0000:3b:00.0: reg 0x10: [mem 0xec000000-0xec00ffff]
[ 1888.285764] pci 0000:3b:00.0: enabling Extended Tags
[ 1888.285924] pci 0000:3b:00.0: supports D1 D2
[ 1888.285927] pci 0000:3b:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 1888.285986] pci 0000:3b:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s x4 link at 0000:06:02.0 (capable of 31.504 Gb/s with 8 GT/s x4 link)
[ 1888.286212] pcieport 0000:06:02.0: ASPM: current common clock configuration is broken, reconfiguring
[ 1888.286313] pci_bus 0000:06: Allocating resources
[ 1888.286353] pcieport 0000:06:01.0: bridge window [io 0x1000-0x0fff] to [bus 08-3a] add_size 1000
[ 1888.286355] pcieport 0000:06:01.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 08-3a] add_size 200000 add_align 100000
[ 1888.286357] pcieport 0000:06:01.0: bridge window [mem 0x00100000-0x000fffff] to [bus 08-3a] add_size 200000 add_align 100000
[ 1888.286366] pcieport 0000:06:02.0: bridge window [io 0x1000-0x0fff] to [bus 3b] add_size 1000
[ 1888.286367] pcieport 0000:06:02.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 3b] add_size 200000 add_align 100000
[ 1888.286377] pcieport 0000:06:04.0: bridge window [io 0x1000-0x0fff] to [bus 3c-6f] add_size 1000
[ 1888.286378] pcieport 0000:06:04.0: bridge window [mem 0x00100000-0x000fffff] to [bus 3c-6f] add_size 400000 add_align 100000
[ 1888.286387] pcieport 0000:05:00.0: bridge window [io 0x1000-0x0fff] to [bus 06-6f] add_size 4000
[ 1888.286399] pcieport 0000:05:00.0: BAR 13: no space for [io size 0x4000]
[ 1888.286402] pcieport 0000:05:00.0: BAR 13: failed to assign [io size 0x4000]
[ 1888.286404] pcieport 0000:05:00.0: BAR 13: no space for [io size 0x4000]
[ 1888.286405] pcieport 0000:05:00.0: BAR 13: failed to assign [io size 0x4000]
[ 1888.286410] pcieport 0000:06:01.0: BAR 14: no space for [mem size 0x00200000]
[ 1888.286411] pcieport 0000:06:01.0: BAR 14: failed to assign [mem size 0x00200000]
[ 1888.286414] pcieport 0000:06:01.0: BAR 15: no space for [mem size 0x00200000 64bit pref]
[ 1888.286415] pcieport 0000:06:01.0: BAR 15: failed to assign [mem size 0x00200000 64bit pref]
[ 1888.286417] pcieport 0000:06:02.0: BAR 15: no space for [mem size 0x00200000 64bit pref]
[ 1888.286417] pcieport 0000:06:02.0: BAR 15: failed to assign [mem size 0x00200000 64bit pref]
[ 1888.286418] pcieport 0000:06:04.0: BAR 14: no space for [mem size 0x00400000]
[ 1888.286419] pcieport 0000:06:04.0: BAR 14: failed to assign [mem size 0x00400000]
[ 1888.286421] pcieport 0000:06:01.0: BAR 13: no space for [io size 0x1000]
[ 1888.286421] pcieport 0000:06:01.0: BAR 13: failed to assign [io size 0x1000]
[ 1888.286422] pcieport 0000:06:02.0: BAR 13: no space for [io size 0x1000]
[ 1888.286423] pcieport 0000:06:02.0: BAR 13: failed to assign [io size 0x1000]
[ 1888.286424] pcieport 0000:06:04.0: BAR 13: no space for [io size 0x1000]
[ 1888.286425] pcieport 0000:06:04.0: BAR 13: failed to assign [io size 0x1000]
[ 1888.286427] pcieport 0000:06:04.0: BAR 14: no space for [mem size 0x00400000]
[ 1888.286428] pcieport 0000:06:04.0: BAR 14: failed to assign [mem size 0x00400000]
[ 1888.286429] pcieport 0000:06:04.0: BAR 13: no space for [io size 0x1000]
[ 1888.286430] pcieport 0000:06:04.0: BAR 13: failed to assign [io size 0x1000]
[ 1888.286432] pcieport 0000:06:02.0: BAR 15: no space for [mem size 0x00200000 64bit pref]
[ 1888.286432] pcieport 0000:06:02.0: BAR 15: failed to assign [mem size 0x00200000 64bit pref]
[ 1888.286433] pcieport 0000:06:02.0: BAR 13: no space for [io size 0x1000]
[ 1888.286434] pcieport 0000:06:02.0: BAR 13: failed to assign [io size 0x1000]
[ 1888.286435] pcieport 0000:06:01.0: BAR 14: no space for [mem size 0x00200000]
[ 1888.286436] pcieport 0000:06:01.0: BAR 14: failed to assign [mem size 0x00200000]
[ 1888.286438] pcieport 0000:06:01.0: BAR 15: no space for [mem size 0x00200000 64bit pref]
[ 1888.286438] pcieport 0000:06:01.0: BAR 15: failed to assign [mem size 0x00200000 64bit pref]
[ 1888.286439] pcieport 0000:06:01.0: BAR 13: no space for [io size 0x1000]
[ 1888.286440] pcieport 0000:06:01.0: BAR 13: failed to assign [io size 0x1000]
[ 1888.287322] xhci_hcd 0000:3b:00.0: xHCI Host Controller
[ 1888.287330] xhci_hcd 0000:3b:00.0: new USB bus registered, assigned bus number 3
[ 1888.288469] xhci_hcd 0000:3b:00.0: hcc params 0x200077c1 hci version 0x110 quirks 0x0000000200009810
[ 1888.288719] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.00
[ 1888.288720] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1888.288721] usb usb3: Product: xHCI Host Controller
[ 1888.288722] usb usb3: Manufacturer: Linux 5.0.7-114.current xhci-hcd
[ 1888.288723] usb usb3: SerialNumber: 0000:3b:00.0
[ 1888.288886] hub 3-0:1.0: USB hub found
[ 1888.288905] hub 3-0:1.0: 2 ports detected
[ 1888.289386] xhci_hcd 0000:3b:00.0: xHCI Host Controller
[ 1888.289389] xhci_hcd 0000:3b:00.0: new USB bus registered, assigned bus number 4
[ 1888.289391] xhci_hcd 0000:3b:00.0: Host supports USB 3.1 Enhanced SuperSpeed
[ 1888.289571] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.00
[ 1888.289572] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1888.289573] usb usb4: Product: xHCI Host Controller
[ 1888.289574] usb usb4: Manufacturer: Linux 5.0.7-114.current xhci-hcd
[ 1888.289575] usb usb4: SerialNumber: 0000:3b:00.0
[ 1888.289689] hub 4-0:1.0: USB hub found
[ 1888.289729] hub 4-0:1.0: 2 ports detected
[ 1893.417372] pci_bus 0000:06: Allocating resources
[ 1893.417403] pcieport 0000:06:01.0: bridge window [io 0x1000-0x0fff] to [bus 08-3a] add_size 1000
[ 1893.417405] pcieport 0000:06:01.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 08-3a] add_size 200000 add_align 100000
[ 1893.417406] pcieport 0000:06:01.0: bridge window [mem 0x00100000-0x000fffff] to [bus 08-3a] add_size 200000 add_align 100000
[ 1893.417414] pcieport 0000:06:02.0: bridge window [io 0x1000-0x0fff] to [bus 3b] add_size 1000
[ 1893.417415] pcieport 0000:06:02.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 3b] add_size 200000 add_align 100000
[ 1893.417423] pcieport 0000:06:04.0: bridge window [io 0x1000-0x0fff] to [bus 3c-6f] add_size 1000
[ 1893.417424] pcieport 0000:06:04.0: bridge window [mem 0x00100000-0x000fffff] to [bus 3c-6f] add_size 400000 add_align 100000
[ 1893.417432] pcieport 0000:05:00.0: bridge window [io 0x1000-0x0fff] to [bus 06-6f] add_size 4000
[ 1893.417434] pcieport 0000:05:00.0: BAR 13: no space for [io size 0x4000]
[ 1893.417435] pcieport 0000:05:00.0: BAR 13: failed to assign [io size 0x4000]
[ 1893.417436] pcieport 0000:05:00.0: BAR 13: no space for [io size 0x4000]
[ 1893.417436] pcieport 0000:05:00.0: BAR 13: failed to assign [io size 0x4000]
[ 1893.417439] pcieport 0000:06:01.0: BAR 14: no space for [mem size 0x00200000]
[ 1893.417440] pcieport 0000:06:01.0: BAR 14: failed to assign [mem size 0x00200000]
[ 1893.417442] pcieport 0000:06:01.0: BAR 15: no space for [mem size 0x00200000 64bit pref]
[ 1893.417443] pcieport 0000:06:01.0: BAR 15: failed to assign [mem size 0x00200000 64bit pref]
[ 1893.417444] pcieport 0000:06:02.0: BAR 15: no space for [mem size 0x00200000 64bit pref]
[ 1893.417445] pcieport 0000:06:02.0: BAR 15: failed to assign [mem size 0x00200000 64bit pref]
[ 1893.417446] pcieport 0000:06:04.0: BAR 14: no space for [mem size 0x00400000]
[ 1893.417446] pcieport 0000:06:04.0: BAR 14: failed to assign [mem size 0x00400000]
[ 1893.417447] pcieport 0000:06:01.0: BAR 13: no space for [io size 0x1000]
[ 1893.417448] pcieport 0000:06:01.0: BAR 13: failed to assign [io size 0x1000]
[ 1893.417448] pcieport 0000:06:02.0: BAR 13: no space for [io size 0x1000]
[ 1893.417449] pcieport 0000:06:02.0: BAR 13: failed to assign [io size 0x1000]
[ 1893.417450] pcieport 0000:06:04.0: BAR 13: no space for [io size 0x1000]
[ 1893.417450] pcieport 0000:06:04.0: BAR 13: failed to assign [io size 0x1000]
[ 1893.417452] pcieport 0000:06:04.0: BAR 14: no space for [mem size 0x00400000]
[ 1893.417452] pcieport 0000:06:04.0: BAR 14: failed to assign [mem size 0x00400000]
[ 1893.417453] pcieport 0000:06:04.0: BAR 13: no space for [io size 0x1000]
[ 1893.417454] pcieport 0000:06:04.0: BAR 13: failed to assign [io size 0x1000]
[ 1893.417455] pcieport 0000:06:02.0: BAR 15: no space for [mem size 0x00200000 64bit pref]
[ 1893.417456] pcieport 0000:06:02.0: BAR 15: failed to assign [mem size 0x00200000 64bit pref]
[ 1893.417457] pcieport 0000:06:02.0: BAR 13: no space for [io size 0x1000]
[ 1893.417457] pcieport 0000:06:02.0: BAR 13: failed to assign [io size 0x1000]
[ 1893.417458] pcieport 0000:06:01.0: BAR 14: no space for [mem size 0x00200000]
[ 1893.417459] pcieport 0000:06:01.0: BAR 14: failed to assign [mem size 0x00200000]
[ 1893.417460] pcieport 0000:06:01.0: BAR 15: no space for [mem size 0x00200000 64bit pref]
[ 1893.417461] pcieport 0000:06:01.0: BAR 15: failed to assign [mem size 0x00200000 64bit pref]
[ 1893.417462] pcieport 0000:06:01.0: BAR 13: no space for [io size 0x1000]
[ 1893.417462] pcieport 0000:06:01.0: BAR 13: failed to assign [io size 0x1000]
Has anyone else experienced similar issues? Am I foolish for expecting USB-C monitors to work in Linux?
(* well, except the fingerprint reader, but I don't mind.)