Earlier today was the first round of comments by David Airlie regarding the finishing and up-streaming of his X.Org GPU hot-plugging support. This allows for new GPUs to be dynamically added to a running X.Org Server environment.
Airlie has been working on the GPU hot-plugging support for a number of months, but recently it’s finally come together. In particular, he’s been playing with the USB-based DisplayLink graphics adapters. David has written a DisplayLink KMS driver to top off DisplayLink’s other code and open-source support. This could also be adapted to work with dynamically hot-plugging/unplugging other graphics processors too.
It was in October of last year when the first phase of GPU hot-plugging was working, but the code for the most part wasn’t in mainline trees. The support is still out-of-tree, but now that the support has moved along and is in a working state, the agenda has turned to making this feature a reality for the Linux desktop.
In this mailing list post is where David Airlie outlines his current hot-plug plans. “So I’ve fleshed out most of a working solution for hotplugging and gpu switching but I’ve started wondering how to move ahead with upstreaming and finishing it off.”
Due to how David designed the hot-plug support on top of this old architecture, he’s asking for ideas from other developers how to merge the invasive changes. This is what’s currently being discussed as whether to take the routes of being disruptive, duplicating lots of code and renaming, or trying to share as much code as possible.
It will still be a while before you’ll find GPU hot-plugging being supported under Linux cleanly in an “out of the box” manner (aside from Fedora possibly carrying the bits early), but at least it’s moving along.
X.Org Server 1.13 is now next with the 1.12 release just days ago, but it’s not known yet whether this major graphics feature will make the 1.13 merge window. There’s still work on PRIME and other areas to make this desktop feature very compelling for the Linux desktop.
Additional details can be found in this earlier posting, along with a GPU hot-plug demo video under Linux.