ANN: Kernel Mode-Setting for Intel Graphics
Bryce Harrington
bryce at canonical.com
Wed Jun 24 00:25:06 BST 2009
Hi all,
Today we've switched kernel mode-setting on by default for Intel
graphics, a change which arrived with the 2.6.30-10.12 kernel.
Many of you already know all about KMS, and can stop reading here.
For those who are wondering what the heck this new acronym is, I've
attached some background explanation below, and answered some questions
I expect to be common.
Thanks go to apw and the kernel team for wrangling all the patches, and
to the ubuntu-x team and community members who have been testing out
this new stuff the past few months.
Bryce
Kernel Mode-Setting (KMS) in Ubuntu
-----------------------------------
One of the major changes we're featuring for Karmic is the moving of the
graphics resolution (aka "mode") setting code from the xserver to the
kernel.
Long, long ago, Linux users had to set up their video resolution modes
by hand in xorg.conf. Then distros started doing this via crude shell
scripts, which worked sometimes. Finally someone realized this all
could be done much, much better in X itself, so mode-setting started to
be done automatically by the various X drivers.
Today, the mode-setting functionality is moving from X to the kernel.
This change provides several benefits.
First, it eliminates a lot of ugly flicker and low-res stuff during the
boot process; this is because with the kernel able to set up graphics,
we're able to have high resolution graphics almost from the moment the
kernel starts executing. It should also help us boot a tad faster.
Second, the suspend/resume, fast-user-switching, and vt-switching
functionalities all become extraordinarily fast. This is because the
kernel now controls the video, and can manage the switching itself
directly.
Other benefits, such as enabling the kernel to display critical error
messages, will be very important in certain use cases.
What bugs should we expect to see? Of course, such a major change is
not going to come without some cost. Regressions in graphics resolution
selection are probably the most likely thing to watch for.
In particular, there is buggy hardware we've had to implement "quirk"
workarounds for in X, and these quirks are not yet in the kernel
modesetting code (porting them over is on our todo list). Refer to
https://wiki.ubuntu.com/X/Quirks for analysis tips, and file a bug so we
don't miss your card.
How do we revert back to non-KMS? Boot the kernel with the
option i915.modeset=0 on your kernel command line.
Where should bugs be filed now? For now, you're welcome to file
resolution bugs against either the kernel or xorg. If in doubt, file
against xorg and we'll review and move them to the kernel as
appropriate.
You can continue to use the ubuntu-x wiki's troubleshooting documents
for guidance; these are in process of being updated for KMS:
https://wiki.ubuntu.com/X/
https://wiki.ubuntu.com/X/Troubleshooting/
Longer-term, we'll be setting up a "symptom-based bug reporting" system,
so you will be able to file bugs as a "resolution issue", without
needing to know what package it should go to. The apport scripts will
automatically determine what package to file it against.
What about ATI and Nvidia owners? Kernel mode-setting for the -ati open
source driver is currently in progress, and is available in PPAs for
technically brave users to try out. For other hardware and other
drivers, we're still waiting on upstream development to mature further,
and providing what help where we can.
Why do you write such long emails? I don't know... but thanks for
reading through it all!
More information about the ubuntu-devel
mailing list