DisplayLink Continues To Progress On Linux, But No 3D
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.
Latest Articles & Reviews
Latest Linux News
Most Viewed News This Week