Question about USB-C/Thunderbolt

I’m currently running a Thinkpad P15 gen2 with the iGPU disabled and two external monitors, both driven from a USB-C port through a Ugreen dock. I installed Fedora 42 after having used Nobara 41 without any issues with the laptop’s USB-C ports. Now with Fedora I’m experiencing an odd issue. For reference, this laptop has two thunderbolt USB-C ports, and one non-Thunderbolt USB-C port.

When powering up the laptop (I shut down overnight) it will only output to one external display along side the laptop’s screen. I have to switch from a thunderbolt-capable port to the non-thunderbolt-port OR visa versa. Whichever port had the dock plugged in when the laptop was shut down doesn’t work to output to both monitors upon power-up, the other type of port (thunderbolt/non-thunderbolt) has to be used.

What could be causing this, and how can I go about fixing it?

The first thing you should test is, if your Device is really using thunderbolt or only USB-C.
Do you see your Device in the output of: boltctl list

and what happens if you plugin / out the Device while boltctl monitor is running?

1 Like

boltctl list returns nothing while the hub is plugged in or if it’s unplugged.

I ran boltctl monitor while the hub was unplugged, and plugged it in. I then unplugged and re-plugged the hub in while the command was still running, and here’s all it showed:

Bolt Version  : 0.9
Daemon API    : 1
Client API    : 1
Security Level: none
Auth Mode     : enabled
Ready

There was no change.

Does this mean I’m somehow missing thunderbolt drivers?

No, this means that you have a USB-C dock and not a TB dock. I can’t find any reference of TB on the linked amazon page.

I only had such problems, with thunderbolt devices. You can try switching from Wayland to X11 by editing: /etc/gdm/custom.conf and adding WaylandEnable=false

or maybe you have some kind of problem with your NVidia drivers.

Technically, the question is whether the device is Thunderbolt or USB-3/4 only. USB-C is the connector and it’s used by both protocols.

I’d try switching Legacy/CSM VBIOS or UEFI GOP.

If I enable Legacy OpROM in my BIOS, my laptop display and external HDMI initialize slightly differently (HDMI might show BIOS or not show until late-boot, diffs in starting with lid-shut, etc) vs disabling/using UEFI VBIOS.

GPU-Z on Windows can show whether UEFI GOP VBIOS is used; I’m not sure how to check on Linux, but if you installed in UEFI I think you’d just have to enable CSM in BIOS. If you installed in Legacy, I’d boot a LiveUSB in UEFI for a quick test.

adding WaylandEnable=false to /etc/gdm/custom.conf didn’t work :slightly_frowning_face:

According to [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS I’m booting UEFI

This comment let me to run the following commands with indicated reboots:

sudo dnf -y remove akmod-nvidia xorg-x11-drv-nvidia-cuda libva-nvidia-driver (I installed these manually when setting up Fedora 42)

sudo dnf config-manager addrepo --from-repofile=https://negativo17.org/repos/fedora-nvidia.repo

sudo yum -y remove *nvidia*

Reboot

sudo dnf -y install nvidia-driver nvidia-settings nvidia-driver-libs.i686 akmod-nvidia nvidia-driver-cuda (per “Package installation” and “Specific driver installations”, and “CUDA Installations”. I am booting in UEFI mode, and without Secure Boot.)

Reboot, and I’m still having the same issues described above with the USB-C hub. Is there anything else I can try?

rpmfusion recently pushed the NVIDIA NFB branch to stable. It defaults to building the open source kernel modules for supported GPUs. THis was not the case with the 570.* drivers from the stable branch.
Try to force building the closed source kernel modules.

sudo sh -c 'echo "%_without_kmod_nvidia_detect 1" > /etc/rpm/macros.nvidia-kmod'
sudo akmods --kernels $(uname -r) --rebuild

modinfo -l nvidia should now print NVIDIA

With future driver updates you should try the open source kernel modules again. Delete the file and rebuild the kernel modules.

No joy. Did both commands, modinfo -l nvidia does show NVIDIA, but problem persists. :slightly_frowning_face:

I have a system that used to display on a monitor with a built-in KVM and also a TV via HDMI. When I first started using it, Gnome often changed the setting for the “primary” monitor, even if the TV was “off”. Eventually, after updates to the KVM firmware and Fedora, the setting became stable, but since then I moved the KVM monitor to a new system where it continues to behave. Have you check to see if Gnome Settings is switching the “primary” monitor?

It hasn’t been. When I change the primary screen manually the top bar follows the selection, and I’ve not seen the top bar move during any of my testing so far.