|
|
Log in / Subscribe / Register

The end of user-space mode setting?

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.


to post comments

The end of user-space mode setting?

Posted Jan 14, 2010 8:32 UTC (Thu) by lolando (guest, #7139) [Link] (4 responses)

Are we discussing the end of user-space mode setting as a whole, or just for the hardware that has KMS working? I wouldn't care if it were the latter, but as far as I know (which is not much), KMS only exists for Intel, Nvidia and recent Radeons. Are there plans to port all existing drivers to KMS (such as for the Radeon 9200 I use daily or the ATI Rage in my laptop or the S3 Something in a dusty box I still keep just in case)? If so, I suspect the 2-3 years timeframe is slightly optimistic.

The end of user-space mode setting?

Posted Jan 14, 2010 13:25 UTC (Thu) by xav (guest, #18536) [Link]

Guess what ? I booted 2.6.32 on a server card with an old ATI ES1000, and the KMS identified it as an R100 and worked like a charm.
So I guess your Radeon 9200 is fully supported by KMS.

The end of user-space mode setting?

Posted Jan 14, 2010 13:39 UTC (Thu) by kronos (subscriber, #55879) [Link] (2 responses)

KMS is supported on all radeons: stable for r100-r500, staging for r600-r700.

The end of user-space mode setting?

Posted Jan 15, 2010 16:13 UTC (Fri) by Tet (subscriber, #5433) [Link] (1 responses)

KMS is unusably broken on every Radeon on which I've tried it. It's a nice idea in principle, but to call it "supported" is pushing things a bit if my experiences are anything to go by.

I'm all for removing non-KMS code once KMS is sufficiently stable. It's a *long* way from that right now.

The end of user-space mode setting?

Posted Jan 16, 2010 13:56 UTC (Sat) by nix (subscriber, #2304) [Link]

Interesting. It works on my 9250 (old) and my 4870 (new) pretty much
flawlessly: there are 3D artifacts in high-end stuff but 2D and simple 3D
(e.g. oolite, scorched3d, compositing) is perfect.

The end of user-space mode setting?

Posted Jan 19, 2010 4:34 UTC (Tue) by thedevil (guest, #32913) [Link] (13 responses)

Uh-oh.

This will be a major headache for me, because this will force me to upgrade xorg if I want to upgrade the kernel. And I will let the new xorg on my boxes over my cold dead body - with its gratuitous dependencies on hal and *-kit and I don't know what else, plus its needlessly changed defaults.

I wonder if anyone else cares about this?

The end of user-space mode setting?

Posted Jan 19, 2010 4:57 UTC (Tue) by foom (subscriber, #14868) [Link]

> I wonder if anyone else cares about this?

Probably not. :)

The end of user-space mode setting?

Posted Jan 19, 2010 7:23 UTC (Tue) by rahulsundaram (subscriber, #21946) [Link] (5 responses)

Actually with the latest Xorg, the dependency on HAL is being removed since
HAL itself is now deprecated in favor of udisks, upower and just udev
itself. There are no direct dependencies on *Kit either. So you are
mistaken and can safely upgrade if these were your only objections.

The end of user-space mode setting?

Posted Jan 21, 2010 6:14 UTC (Thu) by thedevil (guest, #32913) [Link] (4 responses)

The version now in Debian unstable is 7.5 and it still depends on HAL.

The end of user-space mode setting?

Posted Jan 21, 2010 7:58 UTC (Thu) by nix (subscriber, #2304) [Link] (2 responses)

The libudev patches were still being revised as of a few weeks ago: the
latest stable X server does indeed still depend on HAL. But you can
configure it out (and given how crashy HAL is I do so as a matter of
course: say what you like about libudev it's never caused programs to
coredump on me).

The end of user-space mode setting?

Posted Jan 21, 2010 18:16 UTC (Thu) by Pc5Y9sbv (guest, #41328) [Link] (1 responses)

You would be amused to see what havoc udevd and xorg are causing for people with Fedora 12 on some Intel integrated graphics chipsets.

Somehow X, udevd, and apcupsd of all things are going crazy on my media-center PC after every reboot. I have to kill off the udevd processes and sometimes apcupsd in order to get X to stop re-detecting its outputs in a flood.

The end of user-space mode setting?

Posted Jan 22, 2010 0:00 UTC (Fri) by mjg59 (subscriber, #23239) [Link]

It's not an xorg or a udev issue - a bug in the kernel is causing the hotplug interrupt to fire
continuously, which results in the kernel delivering millions of messages to userspace. These are
processed by udev, which understandably consumes CPU in the process.

The end of user-space mode setting?

Posted Jan 26, 2010 12:40 UTC (Tue) by daenzer (subscriber, #7050) [Link]

The dependency on hal is gone since xserver-xorg 1:7.5~2.

The end of user-space mode setting?

Posted Jan 19, 2010 9:38 UTC (Tue) by nix (subscriber, #2304) [Link] (5 responses)

this will force me to upgrade xorg if I want to upgrade the kernel
Hardly. Userspace modesetting is a *userspace* thing, inside the X server. If you don't upgrade X, you get UMS just as always.

The end of user-space mode setting?

Posted Jan 20, 2010 16:15 UTC (Wed) by MisterIO (guest, #36192) [Link] (4 responses)

I doubt it's that simple. If the kernel supports only KMS, it will obviously try to do the MS itself and the old X will try to do MS too. I can see some problems there.

The end of user-space mode setting?

Posted Jan 20, 2010 20:02 UTC (Wed) by nix (subscriber, #2304) [Link] (3 responses)

I doubt modesetting will ever be mandatory on graphics cards that support
a text mode at all. (People have been saying that cards with no text mode
support are just around the corner for years, but I've never seen one
outside a Sun workstation.)

The end of user-space mode setting?

Posted Jan 20, 2010 20:03 UTC (Wed) by nix (subscriber, #2304) [Link] (2 responses)

That is, of course, that I doubt that *kernel* modesetting will ever be
mandatory on cards with hardware text mode support, simply because all the
kernel needs to do to disable kernel modesetting on a particular card is
to do nothing. Breaking that would be pointless.

The end of user-space mode setting?

Posted Jan 26, 2010 12:43 UTC (Tue) by daenzer (subscriber, #7050) [Link] (1 responses)

While that's true, at the very least it would mean no 3D acceleration, in some cases no acceleration at all.

The end of user-space mode setting?

Posted Jan 27, 2010 21:16 UTC (Wed) by nix (subscriber, #2304) [Link]

Certainly on newer cards, yes. But, again, if you have a new card, you
probably have a new machine as well, and it's quite likely you *need* a
new kernel anyway. (And if you're changing the graphics card in an
existing machine, you can be assumed to be some variety of geek and thus
capable of building one.)


Copyright © 2010, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds