komputes

Attachment 'kms_presentation.txt'

Download

   1 Ubuntu Linux - KMS - Kernel Mode Setting
   2 komputes <komputes AT-SpamFree ubuntu DOT com>
   3 Version 0.1 - For use with console-presenter
   4 Last modified 2010/08/02
   5 
   6 
   7 What is a mode?
   8 
   9 Mode
  10 A "mode" is a term which consists of a combination of resolution and color depth.
  11 
  12 What is Kernel Mode Setting (KMS)?
  13 
  14 
  15 Kernel Mode Setting (KMS)
  16  = Feature that was introduced in linux 2.6.29. =
  17  = Shifts responsibility from X.org to the kernel for selecting and setting up the graphics mode = 
  18  = Bulk of the graphics driver code out of the X server and putting it into the Kernel = 
  19  = When X.org is initialized, it then detects and uses the mode without any further mode changes =
  20  = Included but disabled in 9.10 (KMS was in its infancy) =
  21  = Included and enabled in 10.04 =
  22 
  23 What are the benefits of KMS?
  24 
  25 Benefits of KMS
  26  = Faster booting =
  27  = High-color/resolution splash screen during boot =
  28  = Seamless transition into the X server (no black screen) =
  29  = Seamless transition between X servers =
  30  = Fast resume (no blinking text cursor) =
  31 
  32 How does KMS work?
  33 
  34 KMS Explained
  35  = Two things that know how to set the mode (1)Video BIOS and (2)Graphics Driver =
  36  = KMS only currently supported under nouveau, radeon or i915 =
  37 
  38 KMS Explained [continued]
  39 Mode is set at many different points during boot:
  40     1 - Video BIOS sets initial mode at boot
  41     2 - Boot loader sets mode using the Video BIOS or VBE (VESA BIOS Extensions)
  42     3 - X server starts, sets accelerated mode using card’s native protocols
  43 
  44 KMS Explained [continued]
  45 Mode can also be set at other points:
  46     1 - Setting between X server and VTs
  47     2 - Resuming from suspend/hibernate
  48     3 - Manual mode switch
  49 
  50 Known Issues
  51  = Suspend/resume =
  52  = Setting VTs =
  53  = Non-supported driver resulting in ugly 16-color low res boot =
  54 
  55 Enabling KMS at boot (9.10 - enables KMS and DRI2*)
  56 Boot parameters:
  57 radeon.modeset=1
  58 i915.modeset=1
  59 nouveau.modeset=1
  60 
  61 Enabling KMS by default in 9.10:
  62 # ATI Radeon:
  63 echo options radeon modeset=1 > /etc/modprobe.d/radeon-kms.conf
  64 # Intel:
  65 echo options i915 modeset=1 > /etc/modprobe.d/i915-kms.conf
  66 # Nvidia (this should revert you to using -nv or -vesa):
  67 echo options nouveau modeset=1 > /etc/modprobe.d/nouveau-kms.conf
  68 
  69 Disabling KMS at boot (10.04 - allows X.org to manage mode switches)
  70 Boot parameters:
  71 radeon.modeset=0
  72 i915.modeset=0
  73 nouveau.modeset=0
  74 
  75 Disabling KMS by default in 10.04:
  76 # ATI Radeon:
  77 echo options radeon modeset=0 > /etc/modprobe.d/radeon-kms.conf
  78 # Intel:
  79 echo options i915 modeset=0 > /etc/modprobe.d/i915-kms.conf
  80 # Nvidia (this should revert you to using -nv or -vesa):
  81 echo options nouveau modeset=0 > /etc/modprobe.d/nouveau-kms.conf
  82 
  83 How to tell is KMS is enabled in your currently running session?
  84 KMS compatible, non-intel drivers emit messages in dmesg such as:
  85 [   15.602350] [drm] radeon defaulting to kernel modesetting.
  86 KMS compatible, intel drivers emit messages in dmesg such as:
  87 [    2.197492] fb0: inteldrmfb frame buffer device
  88 
  89 How to tell if KMS is enabled in your currently running session?
  90 
  91 The kernel ring buffer will have a message in it showing the framebuffer device to be used.
  92 $ dmesg | egrep -i "drm|kms"
  93 [    2.197492] fb0: inteldrmfb frame buffer device
  94 -
  95 proc/fb contains a list of frame buffer devices, with the frame buffer device number and the driver that controls it. If one of the following drmfb's are in /proc/fb any of the drmfb's are in there it's using KMS nouveaufb radeondrmfb or inteldrmfb
  96 $ grep -E '(nouveau|drm)fb' /proc/fb
  97 0 inteldrmfb
  98 
  99 Glossary:
 100 
 101 DRI: Direct Rendering Infrastructure - The Direct Rendering Infrastructure, also known as the DRI, is a framework for allowing direct access to graphics hardware under the X Window System in a safe and efficient manner. It includes changes to the X server, to several client libraries, and to the kernel (DRM, Direct Rendering Manager). The most important use for the DRI is to create fast OpenGL implementations providing hardware acceleration for Mesa. Several 3D accelerated drivers have been written to the DRI specification, including drivers for chipsets produced by 3DFX, AMD (formerly ATI), Intel and Matrox. It is a way for X clients to send commands directly to the graphics card. Primarily used to make GLX go fast, but also involved in accelerating XvMC. All the open drivers, and many of the closed drivers, use the DRI to accelerate GLX.
 102 
 103 
 104 DRM: Direct Rendering Module - module is loaded and when a card is found. Shipped with the kernel, loads before starting X, detects cards and decides which driver will manage the device, provides 3D and modesetting for most of the drivers.
 105 
 106 XvMC - X-Video Motion Compensation, is an extension of the X video extension (Xv) for the X Window System. The XvMC API allows video programs to offload portions of the video decoding process to the GPU video-hardware.

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2009-10-04 19:14:51, 9.3 KB) [[attachment:audio-troubleshooting.txt]]
  • [get | view] (2010-09-06 17:11:14, 4.7 KB) [[attachment:kms_presentation.txt]]
 All files | Selected Files: delete move to page

You are not allowed to attach a file to this page.