This is DP pass-through, there's no DisplayLink or similar involved.
This is DP pass-through, there's no DisplayLink or similar involved.
How do you know that it is DisplayPort pass-through?
From what I've seen, if it's going through a USB-C hub, there is almost zero chance that it is DisplayPort pass-through, although such a thing is possible to implement, in theory.
Before this, I had a DisplayLink dock that would not work on Linux without specific drivers.
The HP specs [0] say the number of displays depends on the computer's graphics card.
Don't know if there's anything in between DisplayLink and pass-through, though, so I can't be certain it's not that.
[0] https://support.hp.com/us-en/product/hp-usb-c-dock-g5/277672...
Specifically:
For USB-C functionality, host PC must support the DisplayPort Alt mode protocol through its USB-C port.
is it, or is there a re-driver? also, there are 4 high-speed lines in USB-C; 2 are used for USB3 so the other 2 are for DP-HDMI convertor and DP connector. seems like only 1 of HDMI or DP should work at 1 time.
anyways, this is not an issue with USB but an issue with the dock behavior.
How would I go about verifying that? I've never installed any driver for the dock, and the DP-connected screen works during early boot. Linux recognizes it as DP-X-Y. I've never had the curiosity of plugging in the HDMI port under Linux.
On Windows, it recognizes 3 screens when both DP and HDMI are connected (the third being the internal laptop display).
I know there's a similar HP dock, the G2, that does say it has DisplayLink, whereas this one doesn't.
> the other 2 are for DP-HDMI convertor and DP connector. seems like only 1 of HDMI or DP should work at 1 time.
If it's a USB 3.2 2x2, shouldn't that be able to handle one 4k@60Hz stream per lane, thus supporting two 4k@60 displays at the same time?
That's interesting, I've always seen Linux recognizing DP ports as only DP-X in xrandr. So my first guess would be that what you have within the dock is a something like a DP MST hub, to split the single DP port into two, and then one of these two ports goes into the active converter to HDMI (perhaps in the same chip), while the other is exposed as the DP socket.
Another fun fact: the laptop I'm typing this on shows 4 DP connections (DisplayPort-0 through 3), one HDMI-A-0, one eDP. There's no dock connected to it right now. When I was using the Chinese dock with a DP monitor, one of the four was showing up as connected.
The PC only has two USB-C connectors and one HDMI. So, I guess it expects to be able to drive two displays per USB-C port.
The other commenter mentioning that Linux "doesn't care and plows through" could be on to something, too.
But I should note that I haven't "forced" anything. The display is detected as 4K@60Hz with no intervention on my part.
Whereas on Windows, before I do the dance, it only says 4k@30, I can't manually change it to 60 Hz; not with the standard Windows settings app, anyway.
This also happens on a separate dock. But on that one, it never works under Windows, DP or HDMI, dance or no dance. Works perfectly on Linux, though. However, that's some random Chinese dock off Amazon, so I chalked it up to shady implementation on its side.
However, this just goes to show that things aren't so "simple" as OP stated, things can fail in weird ways which aren't straightforward to diagnose. And the hardware isn't obviously broken, either, since I'm typing this on Linux attached to the Chinese dock in 4K@60Hz without having done anything special to get it going. So, something, somewhere, may be somehow out of spec, but how can I diagnose that? On the face of it, all my components are what I'm supposed to use.
I guess there are just too many moving parts, whereas a DP cable connected to the graphics card is pretty straightforward.