Is it possible to use the USB 3.0 as display in for laptop? i.e. Take the video signal from somewhere, and display the video output on the display of the laptop, via the USB 3.0 port. An example will be like take the video output from a console and display the video on a laptop's monitor.
In other words, you want to turn your laptop into a display with USB interface. Theoretically, yes, it is possible. Under several conditions however. But practically, no.
Typically a USB display must conform to a special Video Class device (AV-class) capable of image rendering. The original proprietary interface was pioneered by DisplayLink. The USB device therefore must conform to certain endpoint structure, descriptor content, and a USB host must have a Virtual Graphics Card software/driver installed, which would create a virtual display, and transmit the image data over USB to the DisplayLink device.
So, the laptop port must be a Dual-Role-Port first, and be able to act as USB device. Many tablets and smartphones have a single DRP. When connected to USB host, they act as MTP (media transfer) or Mass Storage devices. They can act as webcam and stream video from laptop to host PC, but not in the opposite direction.
Therefore, the laptop must pretend to be a video streaming device. AFAIK, no DRP gadgets have implemented the Video rendering class. More, it is unclear if the standard implementations of OTG device controllers are capable of implementing of AV rendering class, although it is theoretically possible if SoC designers decided to configure the USB device controller IP to support AV class at silicon level. Which practically doesn't happen, unless somebody can correct me.
Best Answer
First off, the baudrate for USB3 superspeed mode is 5Gbps which is 640MBps, not 640Mbps.
Secondly, while that is the baudrate (the number of line transitions per second) that USB can use to transfer information, there is overhead on every sequence of bytes, exactly what the overhead is depends on the packet size, but it usually not more than a dozen bytes on a packet of 1024 bytes. There are a couple main theoretical bottlenecks here though.
One is the bus' bandwidth usage, which is to say while a USB3 tranceiver can transmit or receive at a rate of 5 gigabaud, it cannot do that indefinitely, it has to write that information into storage registers, and wait on DMA calls to copy the data out of those registers into system memory. The DMA calls can get delayed unpredictably by the cpu and other peripherals such as the graphics card using the bus for their own DMAs.
The second is propagation delay, all data that is read from a USB slave (device) has to be requested by the master (host) this request is in the form of a downstream packet form the host to the device. and it takes time for this packet to propagate down the length of a wire. The speed of light in copper is about 85% of that in vaccuum if i remember correctly, and as a rule of thumb that speed is about 1 foot per nanosecond, so for a 1 foot usb cable, that signal has to travel for 1 nanosecond before the tranciever can even begin to pick it up (at 5Gbps, 1 nanosecond is enough to transfer 5 whole bits of data). and you have to do this for every packet (there are actually several handshake packets that have to be sent for every sequence of packets).
On another note, once the device receives the read request packet from the host, it has to fire an interrupt, load the tranciever with its data and then let the transciever send that out so there is quite a bit of turnaround time as well.
As for using USB3 to drive video, you certainly can, there are a number of adapters out there for doing just that and USB3 is still plenty fast to achieve that. some have their own graphics cards onboard some just forward the data over serial from a framebuffer device. you can see some here on newegg.