Using USB3 to HDMI adapter based on SMSC chipset under Linux
There is a lot of USB universal docking stations or display output (HDMI, DVI, D-SUB) adapters. Most of them is based on DisplayLink (not Display Port) or SMSC chipsets. Those adapters or docking stations are handy for Ultrabooks or other laptops as they provide a lot of connectors - USB, Ethernet or multi-display capabilities.
When using Linux you are limited to older DisplayLink adapters (USB2 based). The USB3 chipsets are not supported (from what I know). SMSC USB3 chipsets have a Kernel as well as X.org drivers, but it's not that straightforward to use them under Linux. In this short article I'll look at SMSC based adapter and software provided by the manufacturer
I got a Gembird A-USB3-HDMI adapter and tried to use id. Similar looking adapters are available under different brands too. The adapter can be connected to USB2 or USB3. From the screen side it can be connected to HDMI or DVI (adapter included) displays. It doesn't seems to put much load on the CPU. It uses SMSC UFX7000 chipset.
On Windows after installing the drivers it works nicely. Under Linux we have Kernel driver from some time. It gives a new framebuffer device (dev/fb2) when the adapter is connected. Thats isn't enough to use the adapter easily and efficiently. We need an X.org driver. It is available on SMSC website but to download it you have to register (as a company) and wait for account activation. That's quite annoying and time consuming. I've made a "mirror" on github, but still you have to accept the license to use the drivers and ViewSpan application.
The drivers are old. Release notes say that they are compatible and tested with Ubuntu 10.04 LTS and RHEL-6/CentOS 6. It did work on on 10.04 LTS LiveCD. I've installed the drivers and ViewSpan application. Then configured the driver in that application, re-logged-in and the display connected via the adapter come to life. It did not work on Ubuntu 13.04.
The ViewSpan application uses Xinerama to configure the adapter and is not compatible with XRandr present in newer distributions like the 13.04 Ubuntu. It makes a xorg.conf file and I wasn't able to modify it in such way that it would work with new Ubuntu. There may be some driver issues too (no error, but maybe there are some ABI changes making the driver unusable).
If you get an SMSC based adapter working with XRandr please share the X.org config - either via Github or other channel.