Ubuntu 9.10 Preview: Kernel Mode Setting
Kernel mode setting will be enabled by default for Intel-based video cards on Ubuntu 9.10, set to be released in October. I recently played around with this new feature on a Karmic Koala live CD, and share my results below.
Put simply, kernel mode setting means the Linux kernel, instead of an X11 video driver, handles the task of configuring the graphics mode of the console. The assignment of this work to the kernel shaves away some overhead, making certain operations faster. It also helps developers by allowing kernel problems to be more easily debugged when X is running, and simplifying the video infrastructure upon which Linux relies.
Normal users shouldn’t expect kernel mode setting to revolutionize their Ubuntu experience, but it does bring a few nice improvements, including faster and smoother switching between user accounts and between the X11 console and virtual terminals. This video provides an idea of the new speed of these operations (apologies for the crudeness):
Fast-user switching and access to the virtual console were quite zippy on my i810 video card running in the live environment–and I suspect performance would be even better on an installed system with better hardware (unfortunately, I was only able to test on my old laptop, because the Karmic beta CD wouldn’t boot on my desktop; I’m not sure whether kernel mode setting was the reason).
Kernel mode setting also allows virtual terminals (the screens accessible by pressing control-alt-[1-6]) to display at the native resolution of the attached hardware, making them easier to use and less ugly. This change will be especially beneficial to administrators of Ubuntu server edition, where all local interaction with the system has to be done in virtual terminals by default.
There’s no official word on when kernel mode setting will be enabled for video chipsets other than Intel, but Ubuntu developers are working on it for some nvidia and ATI devices. Don’t expect it in Karmic, though.
[…] http://www.workswithu.com/2009/07/15/ubuntu-910-preview-kernel-mode-setting/ […]
Thanks for the article. I am dying for the feature freeze in Karmic. I will clone my existing / into a separate partition and update to Karmic at that time (just in that experimental partition, to play a bit).
On my eee pc 701 I am running the latest Karmic kernel to get better graphics:
http://ubuntuforums.org/showthread.php?t=1130582
i cant wait to run kk on my pc come october
Please don’t confuse “some Intel video chipsets” with “all Intel video chipsets”.
KMS will be available only for some Intel video chipsets.
Intel used to provide one of the best Linux support for it’s hardware and once one could just say with 100% certainty: if it’s Intel, Linux supports it very well.
Not anymore. Intel GMA500 (Poulsbo) video chipset is a closed, proprietary blob working on a handful of distributions only – in other words, Linux just can’t use it right now (one has to use a slow, 2D-only vesa driver with only selected, low resolutions).
Ironically, it is found in more and more netbooks.
Does that mean that if the desktop locks up or crashes you have to restart the system just like in Windows??
Missed the 2 big reasons for KMS.
1 is secuirty. X11 server no longer needs to run as root user using KMS. So a X11 hack does not have to breach system.
2 better driver crash handling. Where people in past have depend on cntl-alt-backspace or SAK combintion to recover termainl even in case of a X11 crash user should still be able to switch to another terminal an recover.
This feature means that Ubuntu and other distrobutions could provide like a cntrl-alt-delete on X11 go to a task manager coded in framebuffer or equal to recover system from.
mangoo: good point about the GMA500 chips. I suspect Dell will put pressure on Intel to get a real driver written by the time the next Ubuntu LTS comes out, since Dell will presumably upgrade its preinstallations from Hardy when that happens, and the GMA500 is in Dell netbooks. But that will be at least a year from now…
shaun: this is a good question and I’m not sure of the answer (my desktop didn’t freeze when I was testing KMS), but I doubt you’ll have to restart the whole system when the graphical environment crashes. I think that in most cases, control-alt-backspace or switching to a virtual terminal to kill X would continue to work with KMS enabled, since the kernel mode driver just “sets” the graphic mode for each console; it doesn’t actually drive all the video output. Although KMS simplifies some aspects of the video infrastructure for Linux, it doesn’t mean the whole system depends on a working graphical environment, as in Windows.
oiaohm: good point about KMS (as well as other major developments) obviating the need for the X server to be run as root. However, I haven’t heard of any plans for Ubuntu to run X sessions as an unprivileged user; the only distribution I know at this point of aiming to implement that feature by default is Moblin.
KMS already works for Radeon cards in Fedora 11 — I couldn’t find any problem at all on my PC with an older Radeon 9200LE card.
[…] explican muy bien en WorksWithU, donde indican que Kernel Mode Setting es una tecnología que permite que sea el kernel -y no el […]
[…] explican muy bien en WorksWithU, donde indican que Kernel Mode Setting es una tecnología que permite que sea el kernel -y no el […]
Chris:
I think’ll you find that the Dell Mini 10v has a open driver supported Intel GMA950 chipset already. So Dell at least has started to move away from GMA500. You’ll note that the system76 netbook also has the GMA950 chipset. So maybe the trend in newer models is away from the GMA500. The period of time with GMA500 was dominating available units was unfortunately..but right now..you should be able to easily find a newer model that doesn’t have this problem. Hmm I wonder how the Dell 10v and System76 Starling compare side-by-side.
-jef
[…] Ubuntu 9.10 Preview: Kernel Mode Setting Put simply, kernel mode setting means the Linux kernel, instead of an X11 video driver, handles the task of configuring the graphics mode of the console. The assignment of this work to the kernel shaves away some overhead, making certain operations faster. It also helps developers by allowing kernel problems to be more easily debugged when X is running, and simplifying the video infrastructure upon which Linux relies. […]
I was initially skeptical that KMS would amount to this much of a big deal. The days of seizure inducing flashing screens are behind us. I like the clean mode switching and the lack of the annoying errors when the x server cannot bring the card back up when doing its switching dance. Fast user switching looks good too.