External monitor requires unplug/plug every time I boot

Hi all,

I’m having trouble getting my laptop to detect my external monitor on startup. Unplugging and replugging the hdmi cable fixes the problem every time, but I would like a more permanent solutions where I can leave my cable plugged in. I have tried multiple monitors, multiple cables, and multiple expansion slots and all have the same issue. I’m on Ubuntu 21.10. Thanks for your help.


I’ve actually had the same experience with my Thunderbolt 3 dock. For me it seems to be related to how long my laptop was turned off before I turn it on. However, unplugging and plugging it back in turns my dock on (at least the LED light turns on) and everything starts working properly.


I’m having similar problems with my caldigit element dock and a usb-c to hdmi cable to the back of my samsung monitor from the dock. It’s kind of unpredictable, and sometimes during sleep/hibernate events the display output will turn off to the external monitor, yet still show as available when in windows when I am configuring multiple displays. I’m actually considerding just sending the tb4 dock back and using my expansion ports for display output and power separately - which in the end is a better value even though there are more wires involved.

I believe my external monitor goes into powersaver mode, not off when not in use. However, not even turning the monitor on and off helps the problem, so I don’t think that would be the issue.

My workaround has been to use a dock plugged into the USB-C port of my laptop, then HDMI from my dock to my monitor. Oddly enough, that works every time.

1 Like

It has everything to do with how USB is powered during different states. Believe it or not, I’m having the same issue with my M1 Pro. My external displays get all jacked up when I wake up from sleep. It appears that display settings aren’t retained or aren’t referenced when powering on. I thought it very weird when I first saw this on my Macbook. Now, I’m seeing it on my FW. So this leads me to believe its an issue in how USB power is managed. I remember seeing a workaround for Linux distros but I can’t remember where I saw it on this forum. If anyone has a clue, please link it.

I have also been frustrated with this problem. Recently, I also noticed that the USB Power factors into seeing the problem.

An additional observation I have noticed, the time for the Laptop screen backlight to turn on is an early indicator of whether the External HDMI monitor will be seen by the OS. (Five seconds good. Long delay, about 20 seconds, bad.) Since this preseeds the OS starting, maybe this is a BIOS issue.

Steps for recreating Working and Failing cases

For the working scenario:

  • Setup:
    • External HDMI Monitor already plugged in
    • Laptop powered off
    • unplug the Laptop power
  • wait 1+ minutes (1.25 should be enough)
  • press the power button.
  • After about 5 seconds, you will notice that the Laptop backlight comes on. This has been an indicator that it will boot fine. And, the external monitor will be seen by Linux.

For the falling scenario:

  • Setup:
    • External HDMI Monitor already plugged in
    • Laptop powered off
    • plug in the Laptop power
  • wait 1+ minutes (1.25 should be enough)
  • press the power button
  • When failing, there is a long boot delay (about 20 seconds) before you see the Laptop backlight come on. This has correlated with the External HDMI monitor not being recognized.

When the External HDMI Monitor fails to work, xrandr --listmonitors does not list the monitor. Also, sudo get-edid does not report the External HDMI Monitor.

I’ve been dealing with this since I’ve had my Framework laptop and it’s persisted through a few (latest) versions of Ubuntu. Sometimes (it seems random) the laptop will not detect my monitor when I plug in the Displayport adapter or when I turn the laptop on with the Displayport adapter already plugged in.

This will happen regardless of the monitor plugged in.

The best chance I’ve found to detecting the monitor requires me to remove the Framework USB-C DisplayPort adapter and insert a different DisplayPort adapter while the laptop is on. Sometimes this will let the monitor be detected, but even then it still take a minute…I’d expect a quicker response like other machines. It’s worth noting that this issue persists through restarts too.

I’ve tried everything I can think of…when this problem is happening the monitor simply won’t show up in the lsusb terminal output.

1 Like

I’ve read this is a problem with video over a USB-C connection with many USB buses. I’m posting to let you know it happens on an NVidia graphics card plugged directly into a small USBC monitor. I have to use this port because my DisplayPort 2.x ports are all dead due to a lightning storm on a homemade PC. It shuts itself off whenever the computer goes to sleep (Windows 11, AMD). I had saved a power profile in the old-school Control Panel that disallowed the USB bus from powering off, but that seems to have reverted or is simply no longer supported or working, so daily I do the plug-unplug dance about 10x and I’m sure it’s shortening the life of my monitor.

1 Like

I’m facing the same issue using Fedora 38 with a 12th gen Framework.

As well as on booting the system, the same problem happens when I wake the system from suspend. On waking the system, the laptop often doesn’t realise there is a monitor attached. I have to unplug and re-plug the monitor in order to get it working again. I’ve never had this problem before with this same monitor and various Macbooks over the years.

I’ve tried connecting the monitor over:

  • DisplayPort (monitor) to DisplayPort (laptop)
  • DisplayPort (monitor) to USB-C (laptop)
  • HDMI (monitor) to HDMI (dongle) to USB-C (laptop)

The issue persists in all cases.

It’s helpful to know that this is a common issue running video over a USB-C connection. I wish there was something that could be done to fix this, it’s quite frustrating.

Just chiming in to say the solution for me has been to plug in the external monitor, then boot up the laptop, wait several seconds, then connect the charger to the laptop.

If connect the charger before I boot up the laptop, I experience the problem with the external monitor that OP mentioned until I power the laptop off and do the steps above.

I have been facing the same issue. If I unplug and plug in the display port expansion card, or restart the computer (Ubuntu), it will detect the monitor. But I am definitely happy to find a command which can reset the USB-C expansion card for HDMI, just like the unplug and plug or reboot? Is there a command for that in Linux (Ubuntu)?

EDIT: Actually have to shutdown and wait a little bit, then starts up again to detect the external monitor. Just restart didn’t work.