Linux has been relying on external drivers for rendering any kind of graphics more advanced than a console. This is has some obvious disadvantages and considering the poor reputation Linux has when it comes to graphics, it feels like a pretty good idea to integrate the graphics sub-system into the kernel. One of the developers, Jesse Barnes, has summarized the work together with the framebuffer team so far and the most apparent advantages. An interesting, although perhaps a bit expected, initiative that should mean that Linux will become more attractive overall. An implementation of the graphics into the kernel would mean that the graphics would have direct access to the debugging features of the kernel and a better and more direct graphics support.
Combined with AMD’s promise of open source drivers, this really turns things around. Even if the window managers we have today offer quite a lot of eye candy, this could mean an even bigger improvement and better overall support.
You can’t deny that there is a lot of focus on flashy effects and nice renderings at the moment. Windows Vista’s Aero interface and OS X 10.5 “Leopard” are very much about just that, even if they offer a lot more than that, e.g. clever solutions, this usually comes in second. Linux has had similar effects all this time though, e.g. Beryl, but this would make it even easier to make them even better.
The debugging feature would make it possible to work around many of the problems with locked hardware that happens all too often with broken drivers fail, or when you try to resume a suspended piece of hardware, in this case the graphics card.
“Currently, the kernel relies on an external program to restore the graphics state when a VT switch occurs. This doesn’t always work, with similar results to the suspend/resume case: an apparently hung or unusable machine. Of course, the kernel can’t unconditionally preempt the graphics device to set a new mode, but having modesetting in the kernel will give it a much better chance of coordinating with the DRM command dispatch code to find a good time to set a new mode.” – Jesse Barnes on VT switches
They are far from done, but we’re eagerly awaiting the result, which we have to consider a big step in the right direction if Linux is going to compete with Vista and OS X.