By Jonathan Corbet
January 13, 2010
It has now been a year since kernel mode setting (KMS) went into the
mainline. KMS moves control of low-level graphics processor modes into the
kernel and away from user-space drivers, with a number of associated
advantages. Initially only the Intel driver supported KMS, but it has
found its way into the Radeon and Nouveau drivers. Now developers are
beginning to talk about eliminating user-space mode setting support
entirely.
On the Nouveau front, Ben Skeggs posted a
patch to remove non-KMS support, saying:
The non-KMS paths are messy, and lets face it, rotting badly. IMO
the KMS code is stable enough now that we can continue without the
UMS crutch, and indeed, the KMS code supports a lot more chipsets
(particularly on GF8 and up) than the UMS code ever will.
The main objection to the removal of this code is that BSD-based systems do
not support KMS, but the current driver does not work on those systems
anyway. So, while this patch has not found its way to the mainline, it
would not be surprising if that happened before the 2.6.34 release.
At about the same time, some Intel driver developers started to ask whether non-KMS support could be dropped.
There, too, it seems that the user-space mode setting code is unloved and
proving hard to maintain. This code looks like it will remain an unwelcome
guest for a while, though; Linus is in no
hurry to remove it, and Dave Airlie is even
more reluctant:
I'm in the 2-3 years at a minimum, with at least one kernel with no
serious regressions in Intel KMS, which we haven't gotten close to
yet. I'm not even sure the Intel guys are taking stable seriously
enough yet. So far I don't think there is one kernel release (even
stable) that works on all Intel chipsets without backporting
patches.
So the removal of non-KMS support from the Intel driver is being held up by
concerns about the stability of the KMS code. But there is a bigger issue
as well: Intel support has been in the kernel for years, so there are
plenty of systems which are dependent on user-space mode setting. That
means that the support needs to be maintained for long enough to be sure of
not breaking those systems. Nouveau, instead, has the advantage of not
having been in the mainline until now, so the same regression concerns do
not apply. There are advantages, sometimes, to being the latecomer.
(
Log in to post comments)