I have a comparable machine, the Yoga S940 IWL; I experimented a lot recently with thunderbolt on it in order to get my lenovo thunderbolt dock running.
Though it is probably unrelated: as it complains about usb, you could try to compile thunderbolt support into the kernel (CONFIG_USB4=y) and see if this changes anything.
When it is plugged in and an HDMI cable is connected during boot, it works however, if it is plugged in after boot it does not. However, if I unplug and re plug the HDMI cable attached to the adapter after two or three times, the monitor turns on and every thing works flawlessly. In addition, when the adapter is unplugged, as expected, arch switches to the laptop monitor.
When I ran udevadm monitor, I nothing is detected when the adapter is plugged in. In addition, xrandr does not seem to show the external monitor when I run xrandr -q.
I don't know if its related but every time a unplug and re plug the HDMI cable and run xrandr -q, the monitor has a new name. At first ( after reboot ), it is XWAYLAND0, then XWAYLAND1, XWAYLAND2, etc.
Does anyone have any questions, or tips to help me? Thanks for your time.
Edit
When I ran dmesg, I saw the following error:
[11061.218710] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?
I have also confirmed that it is not a USB autosuspend problem because I turned that off for those ports yet the problem persists.
It seems that the error is not with udev or xrandr or something but instead maybe with the USB drivers.
]]>