Dual external monitor problem with Fedora 35

I recently moved from Windows to Fedora 35, but not as a newbie. I’ve used Ubuntu, Mint, and Manjaro briefly. I have a desk setup that uses two external monitors that connect through an HDMI KVM switch. When I dock the laptop, I see video on the built-in screen and one of the external monitors. Display settings in Fedora do not show the option to detect the third screen. For reference, here is the physical connection:

Laptop → Dock → KVM → Dual monitors

Ultimately I would like to just use the dual external screens and close the lid on the laptop, but it still only shows on one of the external monitors. Is this configuration even possible on linux, or am I too optimistic?


I forgot to mention that the laptop is a Lenovo Yoga i9 14 inch with an Intel Iris Xe video card.

A KVM switch selects one or the other of the outputs. I don’t think it is possible to drive 2 monitors through a kvm switch at the same time.
I also do not believe it is possible to drive 2 monitors through a single HDMI or DP port

This is why it is called a KVM switch. It allows connecting a single Keyboard + Video + Mouse to multiple machines and switches between them.

1 Like

Thanks for the response. I should clarify further. The KVM is a dual monitor KVM. Each selection has two inputs coming from the source (Win, Lnx, Mac). It works perfectly from a Windows machine. I can dock my laptop with a single USB-C cable to the dock. The dock has two HDMI cables going to the KVM. The KVM has an HDMI cable going to each monitor. Like I said, I am able to get Windows and Mac to display on both monitors through that KVM. It’s only Linux that has trouble. To add more detail to my case. I am doing a dual boot of Windows 11 and Fedora on the Lenovo. Windows displays on both monitors through the KVM, but Linux only displays on one monitor. It sounds like it is a limitation of Linux, unless someone can shed some light on the issue.

We need a little more detail.
How many graphical outputs exist on the laptop? One? or Two?

You do realize (I hope) that the dock has drivers in the windows OS that do not exist in linux. The issue could easily be that the windows drivers will support the dual monitor output from the dock, but that since the drivers are not the same in linux it cannot support the dual video output.

Yes. That’s what I’m afraid of at the moment. The laptop has two usb-c video outputs, but one of them doubles as a charging port. If I use both ports for video, then I don’t have the ability to charge the laptop. I think I’m going to give it one more try and see if the interwebs have some kind of magic workaround that will allow me to correctly use the dock with linux. I’m not holding my breath but who knows, maybe somebody has encountered this and figured it out. If I can’t get it to work, then I’ll have to go back to Windows again. It seems like every time I try to migrate to Linux, the same limitation applies and I end up going back to Windows. I feel like drivers from third party vendors will always be Linux’s achilles heel.

Is the firmware of the dock up to date? Did you test with an older Kernel?
What dock is it?

Could you please give us more infos as :

inxi -Fzx in terminal and post the output as </> Preformatted text here.

The dock is a J5Create USB-C dock and the firmware is on the latest version. Here is the output from the recommended command:

  Kernel: 5.15.6-200.fc35.x86_64 x86_64 bits: 64 compiler: gcc
  v: 2.37-10.fc35 Desktop: GNOME 41.1
  Distro: Fedora release 35 (Thirty Five)
  Type: Convertible System: LENOVO product: 82BG v: Yoga 9 14ITL5
  serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0R32862WIN
  serial: <superuser required> UEFI: LENOVO v: EHCN65WW date: 07/01/2021
  ID-1: BAT0 charge: 52.8 Wh (94.8%) condition: 55.7/60.0 Wh (92.8%)
  volts: 8.5 min: 7.7 model: SMP BASE-BAT status: Unknown
  Info: Quad Core model: 11th Gen Intel Core i7-1185G7 bits: 64 type: MT MCP
  arch: Tiger Lake rev: 1 cache: L2: 5 MiB
  flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  bogomips: 47923
  Speed: 518 MHz min/max: 400/4800 MHz Core speeds (MHz): 1: 2786 2: 2006
  3: 3393 4: 909 5: 1037 6: 2040 7: 2216 8: 1477
  Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] vendor: Lenovo
  driver: i915 v: kernel bus-ID: 00:02.0
  Device-2: Logitech QuickCam Pro 9000 type: USB
  driver: snd-usb-audio,uvcvideo bus-ID: 3-
  Device-3: IMC Networks Integrated Camera type: USB driver: uvcvideo
  bus-ID: 3-6:4
  Display: x11 server: X.Org 1.20.11 driver: loaded: modesetting
  unloaded: fbdev,vesa resolution: 2560x1440~60Hz
  OpenGL: renderer: Mesa Intel Xe Graphics (TGL GT2) v: 4.6 Mesa 21.2.5
  direct render: Yes
  Device-1: Intel Tiger Lake-LP Smart Sound Audio vendor: Lenovo
  driver: sof-audio-pci-intel-tgl bus-ID: 00:1f.3
  Device-2: Logitech QuickCam Pro 9000 type: USB
  driver: snd-usb-audio,uvcvideo bus-ID: 3-
  Sound Server-1: ALSA v: k5.15.6-200.fc35.x86_64 running: yes
  Sound Server-2: PipeWire v: 0.3.40 running: yes
  Device-1: Intel Wi-Fi 6 AX201 driver: iwlwifi v: kernel bus-ID: 00:14.3
  IF: wlp0s20f3 state: up mac: <filter>
  Device-2: Realtek RTL8153 Gigabit Ethernet Adapter type: USB driver: r8152
  bus-ID: 2-2.3.3:6
  IF: enp0s13f0u2u3u3 state: down mac: <filter>
  Device-1: Intel AX201 Bluetooth type: USB driver: btusb v: 0.8
  bus-ID: 3-10:6
  Report: rfkill ID: hci0 rfk-id: 2 state: up address: see --recommends
  Local Storage: total: 476.94 GiB used: 21.27 GiB (4.5%)
  ID-1: /dev/nvme0n1 vendor: Samsung model: MZVLB512HBJQ-000L2
  size: 476.94 GiB temp: 37.9 C
  ID-1: / size: 193.31 GiB used: 20.99 GiB (10.9%) fs: btrfs
  dev: /dev/nvme0n1p7
  ID-2: /boot size: 973.4 MiB used: 249.1 MiB (25.6%) fs: ext4
  dev: /dev/nvme0n1p6
  ID-3: /boot/efi size: 256 MiB used: 45.4 MiB (17.7%) fs: vfat
  dev: /dev/nvme0n1p1
  ID-4: /home size: 193.31 GiB used: 20.99 GiB (10.9%) fs: btrfs
  dev: /dev/nvme0n1p7
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
  System Temperatures: cpu: 27.8 C mobo: N/A
  Fan Speeds (RPM): N/A
  Processes: 324 Uptime: 5m Memory: 15.36 GiB used: 1.91 GiB (12.5%)
  Init: systemd runlevel: 5 Compilers: gcc: 11.2.1 Packages: 4
  note: see --pkg Shell: Bash v: 5.1.8 inxi: 3.3.09

I have also tried running the monitors under the two previous kernels with no success.


As you can see on Intel website they speak from Ubuntu 20.4.1 Kernel (download ubuntu).
So you have to test with 5.14 Kernel to get on the same environment.

rpm -qa kernel shows you the kernel’s available.

Thank you for the suggestion. The command above shows three available kernels:

I booted into the 5.14 kernel and I’m still having the same issue. Only one of the external monitors is detected. The Intel page you linked seems to suggest that dual external monitors requires efer to systems with both Intel Xe and Xe Max graphics. The Lenovo I’m using only states that it has an Intel Xe graphics card. Everything I’m reading on this topic seems to point towards the need to use both video outputs. Lenovo Yoga i9 seems to be designed to be used with Windows so that you can operate dual external monitors with only one port.

I think the main question I have is whether or not anyone has ever been able to successfully run dual external monitor using one video output port with Linux.

I opened a ticket with the vendor, J5Create, and they confirmed that they don’t support Linux operating systems. There are no native drivers for the full functionality of the dock, so it looks like it can only support one external monitor. Hopefully someone with great coding skills and a lot of time on their hands can write the driver. Until then, it looks like Linux desktop is a no-go for my workflow. Thanks for all the suggestions in this post.

Since you apparently found a solution even though not to your liking, please mark your solution so the next reader can see the answer.

You might test other products from the same brand as your notebook.


|General|ThinkPad Universal USB-C Dock
|Supported Operating Systems|OS Independent|
|Max Number of External Monitors|3|