Fedora 40 USB hub with external monitor, 640x480 with no options

Hi, Framework community!

I so dearly love the experience I’m having on Fedora 40, I want it to be my forever desktop. To do that, I’ll need external displays via a hub. I have one external display currently. Two others will be on their way soon, but I’ll begin with today’s problems.

Searching the net for pointers yields a lot of “here there be dragons” sort of guidance regarding Linux and USB hubs. Fair enough. I have a Cable Matters 107014 already on hand. It seems like it should suffice, but I am open to getting a new hub if that makes the difference.

My setup is a Dell 27" monitor on HDMI to the hub. The hub is using the original USB Thunderbolt cable to the computer host. After doing the reboot dance, powering off and on the hub, and so on, I get the same results plugging into any of the external slots on the FW laptop.

Those results are: there is an Unknown display detected that can and does display at 640x480. I haven’t found anything that will let me change that.

For today’s hub, I have a gist of some of the common debug probe info.

I am not in a hurry-- when I boot this identical setup into Windows 11, it works fine. But I wanted to at least get a start at wisdom transfer.

Oh I also did a hardware probe. Nothing obviously unwell.

There’s a bug report about this kind of problem in the AMD Gitlab bug tracker. By chance Caldigit, cable matters, or Kensington dock? I think those are the ones reported as problematic.

The reports have said that swapping cables for the dock have helped.

Also if you can dump the EDID from a direct connection I recall people have had success using that dumped EDID. Something is wrong with fetching EDID through these docks for some reason.

1 Like

@Mario_Limonciello this worked!

I went through a process basically identical to this post to identify the proper source for the EDID to copy, placed in a place GRUB could get at it, then whack-a-moled all the potential DP-* locations the hub could assign it.

Viola.

Thanks so much!

That’s great to hear you have a workaround. Can you post more details about your setup though to an AMD bug? I would like to understand what is going wrong here so we can build a pattern about what exactly is broken and also so other people can find it.

I am open to that for sure, but could use a pointer or two.

Start out with drm.debug=0x106 on the kernel command line. Reproduce the issue, and then save your journal output to a text file journalctl >journal.txt.
File a bug here: drm / amd · GitLab and then add all the information you can about your setup (monitor model, good EDID, dock model, fwupdmgr output if your dock shows up in the output).

No promises on getting it solved any time soon, but if we see the pattern and can reproduce it we’ll be in better shape.

What can I do to help? I have a CalDigit TS4 dock and I have the issue where one external monitor is detected fine (get the max 1440p @ 165 Hz) but the other monitor (1080p @ 75 Hz) only detects as Unknown and no other options but 640x480. I am using Fedora 40 as well.

In Windows, everything works fine as expected, so clearly a software/driver-based issue.

Can someone explain to me how to get the logs needed. I guess I would put in an issue in the GitLab link you provided? What project is that? Are you working on the AMD drivers for Linux? Also, if there is an existing issue report, please link so I can add to it instead of opening a new one for you to merge.

I’m basically just a Linux user, lol. Please elevate me to someone who can at least contribute bug reports. :slight_smile:

I do have a github login and have contributed help via bug reports, but I’ve always used them like “help desk tickets”, lol.

I think this is the existing issue. We don’t know if it’s the same with this other dock though, which is why I wanted a new issue.

Display connected to Kensington TB4/USB4 dock results in no EDID/just 640x480 mode (#3050) · Issues · drm / amd · GitLab

I haven’t used my FW16 with the TS4 in a while. Even after all the updates (currently on kernel 6.9.5 on Fedora 40), still the same issue.