Problems with detecting usb-c displays on Fedora 40


I have a persistent problem with my Fedora 40. It sometimes detects usb-c displays, sometimes not. I am using gnome and wayland and my laptop is a Lenovo ThinkPad P1 gen 3, with an integrated and dedicated gpu, running in hybrid mode. I have not installed the proprietarty NVIDIA drivers. The display connections are usb-c/thunderbolt to usb-c, there is no adapter like usb-c to DP. The same problems occur with two different Lenovo display models and different usb-c cables.

After some tests, here is how I would describe it. Booting the computer without the usb-c display connected, and then connecting the display usually does not work. The hub in the display works - I can use a mouse and keyboard connected to the display - but the display itself won’t wake up and is not listed in lsusb.

Booting the computer with the display connected, or connecting during grub usually does not work either. Again the hub works, but the display does not.

However, rebooting the computer with the display connected and the laptop lid open (as in the previous steps) works 100% of the time. The display is then recognized and wakes up.

Rebooting the computer, when external usb-c display is working, with the laptop lid closed again leads to the external display not being detected.

This is rather annoying and any help would be greatly appreciated!

I have had some previous bad experiences with installing proprietary NVIDIA drivers on the same computer but with Debian 12, and I’d rather try to avoid it if possible. I might be wrong but I suspect the driver made the computer unable to recover from the display going to sleep. Unless someone can confirm some good experiences with them, I’d like to avoid it.

I’m not super experienced with linux, but I can usually find my way around with a bit of help and searching.

this is prob USB-C related issue and i had many times same/similar issues and only workaround was to use usb-c hub and there connection to monitor using DP. it seems that usb-c wont always wakeup for signal or conflicts since it is power and signal so it might switch to power only not pushing signal to monitor or something else, but after ditching usb-c to monitor i dont have issues anymore display port and Hub was the solution for me

Thank you for the reply!

I forgot to mention: I dual boot to Windows (due to some proprietary software that I need regularly) and the same problem does not exist on Windows, so I think it cannot be purely a hardware issue. Windows has no issues recognizing the displays. I don’t know whether you were even suggesting that it might be a purely hardware issue.

But thanks for the tip! As my displays act as hubs I’m still willing to put some effort to solve the issue.

i never had issues on Windows with USB-C and i used display as hub, but on fedora issue persist so thats why i switched to USB-C hub where i connect all and screen signal goes display port cables and that fixes everything

IME when using the default nouveau driver for nvidia GPU there can be problems that are easily solved by the simple installation of the nvidia drivers from the rpmfusion repo. Problems with external monitors fall into that category.

Thanks! Have you had any other problems with the NVIDIA driver? Maybe I’ll try it out and revert back if other problems occur.

I installed the nvidia drivers from the rpmfusion repo and it seems now after a few days that the situation is much better. It even works well on Wayland, even though I read some cautionary things on that earlier.

No problems waking up an external monitor connected with usb-c before or after boot/reboot.

Minor issues:
Get random less than a second black screen flickers about twice an hour.
External monitor doesn’t wake up from sleep automatically, but wakes up on disconnecting and reconnecting the usb-c cable.

I use a monitor with an internal KVM hub and a system does not have Nvidia graphics. As delivered it had issues with wake-from-sleep that were fixed with an update to the firmware.

Thanks for sharing! I saw a few days ago that there was an update to the usb-c firmware available. Don’t know if it was brand new or if I had not noticed it earlier. Nevertheless, upon install, the minor screen flickering problem has disappeared altogether and also sound through the usb-c monitor started working!

So, only very minor issues remain, which don’t bother me much :pray:

  • external usb-c display doesn’t wake up but needs to be reconnected when waking up from suspend
  • if laptop lid is closed during login screen, I can type my credentials using the external display but it will then go black on login and laptop lid needs to be opened and closed
1 Like