It was back in May of 2009 that DisplayLink began providing open-source Linux support
for their USB-interfaced graphics processors in the form of documentation and code. Shortly thereafter, frame-buffer and X.Org drivers
for DisplayLink USB hardware arrived and it quickly matured
. By early 2010 it was possible to produce interesting results with these USB graphics adapters doing things like driving nine monitors over USB
from a single computer.
A number of features
have been added in succeeding kernel releases over the past two years. Most recently, during the Linux 2.6.39 kernel development cycle, DRM support for USB devices was added
making it now possible to write a Direct Rendering Manager driver for DisplayLink hardware and to hook into kernel mode-setting. The code for a DRM/KMS DisplayLink driver is not yet written, but will most likely appear at some point in the future.
One limitation of the DisplayLink Linux support that still remains, however, is the lack of 3D support. These low-power USB graphics adapters don't have a 3D engine. Under Windows, 3D on DisplayLink hardware is achieved by using the primary GPU on the system and then simply sending it out to the DisplayLink GPU so that it can be painted to that scan-out buffer. Something similar would need to be implemented under Linux so that there could be 3D support and even a composited desktop, but right now the infrastructure is lacking. This was a question recently asked on the DRI development mailing list
This lack of infrastructure falls into the same boat of the Linux multi-GPU rendering being way behind
, no AMD CrossFire / NVIDIA Scalable Link Interface support, NVIDIA Optimus for some hardware
where only one GPU is connected to the output, and other technologies like LucidLogix Virtu
Kernel changes and to the X.Org stack would be needed for this multi-GPU rendering to all play nicely. David Airlie previously experimented with a project he calls PRIME rendering
for using one GPU to render and then displaying the contents on a display connected to another GPU, but it was just a proof of concept and is not being worked on at this point. As long as the graphics processor employed GEM memory management, it in theory could work with any graphics driver/GPU. Getting this work upstream is a huge feat and requires major re-architecting of the X Server and Linux drivers. With the Wayland Display Server, this will hopefully be much smoother.
Sadly, hitting these features under Linux will not be a short-term goal.