[GTALUG] USB-C/3.1 Video and Linux

Russell Reiter rreiter91 at gmail.com
Sat Mar 24 09:53:59 EDT 2018


On 24 March 2018 at 08:08, Giles Orr via talk <talk at gtalug.org> wrote:
> On 23 March 2018 at 20:01, Scott Sullivan via talk <talk at gtalug.org> wrote:
>>
>> On 2018-03-23 12:50 PM, Giles Orr via talk wrote:
>>>
>>> A couple days ago I got a Best Buy flyer, and they have this item:
>>>
>>>
>>> https://www.bestbuy.ca/en-ca/product/asus-zenscreen-15-6-fhd-60hz-5ms-gtg-ips-lcd-monitor-mb16ac-dark-grey/10737845.aspx
>>> <https://www.bestbuy.ca/en-ca/product/asus-zenscreen-15-6-fhd-60hz-5ms-gtg-ips-lcd-monitor-mb16ac-dark-grey/10737845.aspx>?
>>>
>>> It's a portable IPS LCD screen from Asus.  I have a similar item from
>>> about three years ago that has two connectors, one for USB power-only and
>>> the other for VGA/HDMI.  There were other models at the time that used only
>>> one connector, USB for both data and power - but that required a driver (and
>>> would have been painfully slow if it was USB2).
>>>
>>> But now here's this new model: it's one connector only, USB-C.  And
>>> presumably USB3.1.  And USB3.1 can carry video.  But at this point I get
>>> lost among the standards and their implementations and which one supports
>>> what.  I have an Asus Zenbook (it's Linux-only at this point) that has a
>>> USB-C connector, but I suspect it's USB3.0.  So the first question is: how
>>> do I check that?  Second, does Linux support video-over-USB3.1?  Do I need a
>>> special cable?  Is this "Thunderbolt?"  How can I check if my machine would
>>> support this?
>>
>>
>> The Spec you linked say it's DisplayLink, which is the software based
>> video solution that requires a driver.
>>
>> https://en.wikipedia.org/wiki/DisplayLink
>>
>> USB-C is only a specification for a cable and connector, and somewhat
>> agnostic about the data communications spec used across it. The cables are
>> of high enough quality that they can support multiple data communications
>> specs, generally referred to as alt-modes.
>>
>> https://en.wikipedia.org/wiki/USB-C#Alternate_Mode_partner_specifications
>>
>> Thunderbolt 3 for example co-oped the USB-C cable spec for it's cables,
>> much like in the previous generations it co-oped the mini-displayport cable
>> spec.
>>
>> Intel makes a point that a port carrying Thunderbolt 3 should also be
>> cross wired with USB 3.X and Display Port hardware to output those signals
>> as well.
>>
>> So if you want a monitor that uses a Type-C connector, your looking for a
>> display-port monitor. Which your not likely to find in the portable market
>> yet.
>>
>
> Now that I knew what to look for, re-examination of the text and pictures
> shows a couple interesting things: "USB Type-C connectivity with hybrid
> signal solution for Type-C and Type-A source compatibility (requires a
> DisplayLink driver for Type-A connection)."  So it's implying that it
> doesn't need a driver for Type-C.  And looking at the pictures, there's a
> "DisplayPort" icon next to one of the buttons on the front.  So ...
>
> My other questions stand:
>
> - how can I figure out what USB protocol (3.0 or 3.1) the type-C connector
> on my Linux computer supports?

lspci -d ::0c03 -k  will display the vendors controller and kernel
driver in use.

> - (clearer understanding leads to a clearer question here, although I'm
> still not sure I'm saying it right) does Linux support DisplayPort video
> over USB-C?

I think the short answer is yes. If you can hard wire a DisplayPort to
HDMI adapter
cable you must surely be able to sink to the host connections logically as well.

Has somebody done this yet, I don't know.

Since kernel 4.12 there has been development on a state machine for
hosting sinks.

https://www.phoronix.com/scan.php?page=news_item&px=USB-Type-C-Promotion-Linux-4.15

Power management and signalling are all represented, soft-jacking is
another issue.

https://superuser.com/questions/1192638/whats-up-with-hdmi-and-displayport-over-usb-c

*Alternate mode data*

https://github.com/torvalds/linux/blob/master/drivers/usb/typec/tcpm.c

HTH
>
> --
> Giles
> https://www.gilesorr.com/
> gilesorr at gmail.com
>
> ---
> Talk Mailing List
> talk at gtalug.org
> https://gtalug.org/mailman/listinfo/talk
>


More information about the talk mailing list