Kernel Mode Setting (KMS) is a method for setting display resolution and depth in the kernel space rather than user space.
KMS enables native resolution in the framebuffer and allows for instant console (tty) switching. KMS also enables newer technologies (such as DRI2) which will help reduce artifacts and increase 3D performance, even kernel space power-saving.
It is predicted that all major video chipsets will eventually support and make use of KMS by default.
Previously, setting up the video card was the job of the X server. Because of this, it was not easily possible to have fancy graphics in virtual consoles. Also, each time a switch from X to a virtual console was made (Ctrl+Alt+F1), the server had to give control over the video card to the kernel, which was slow and caused flickering. The same "painful" process happened when the control was given back to the X server (Ctrl+Alt+F7).
With Kernel Mode Setting (KMS) , the kernel is now able to set the mode of the video card. This makes fancy graphics during bootup, virtual console and X fast switching possible, among other things.
KMS is a new technology which is still considered experimental at this time due to its incomplete support for all video cards. It is usable and stable for many, but as with all newer software, the possibility of bugs exists.
Several methods of enabling KMS exist. Note that for ANY method you use, you should ALWAYS disable any "vga=" and "video=" options in your bootloader as these will conflict with the native resolution enabled by KMS. Any other framebuffer drivers (such as uvesafb) must also be disabled before enabling KMS.
KMS is not yet supported by all graphics chipsets. Consult the article of your particular chipset for specifics: