Karmic

Differences between revisions 3 and 4
Revision 3 as of 2009-05-26 08:50:08
Size: 3514
Editor: 80
Comment:
Revision 4 as of 2009-06-04 00:24:03
Size: 6908
Editor: pool-74-107-135-97
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
This specification will provide a roadmap of X.org changes for Karmic, as well as a compatibility requirements listing of versions of dependencies we will want our video drivers to support. This specification provides a roadmap of X.org changes for Karmic, as well as a compatibility requirements listing of versions of dependencies we will want our video drivers to support.
Line 13: Line 13:
=== Summary === {{{
Karmic Target Versions for Release
----------------------------------
   kernel: 2.6.31
   libdrm: 2.6.12
   mesa: 7.6
   x-server: 1.7
   xorg: 7.5
Line 15: Line 22:
=== Rationale ===    (We are carrying rc versions of the above currently, but anticipate
    these versions will be released in time for Karmic.)
Line 17: Line 25:
=== Scope and Use Cases === Karmic Important Dates
----------------------
   June 19th xserver 1.6.99.901 + xorg 7.5 beta 1
   July 15th xserver 1.7 + xorg 7.5 release
   Sept 7th Ubuntu Deadline for driver version updates
   Oct 1st Ubuntu Beta
   Oct 29th Ubuntu Final Release
Line 19: Line 33:
==== Use Cases ==== Driver-Specific Requirements
----------------------------
   -intel: All Intel chipsets >= i810
          AccelMethod: UXA
          DRI: DRI2
          Memory: GEM
          KMS: "On" for all chipsets by default
          Duallink DVI: Chipsets >= i830
          TV-Out: Chipsets >= i830
          DisplayPort: Best efforts (G40-series)
Line 21: Line 44:
=== Implementation Plan ===    -ati: All Radeon chipsets
          AccelMethod: EXA
          DRI: 3D on chipsets R5xx and older only
                        Best efforts for newer chipsets
          Memory: Unspecified
          KMS: "On" for chipsets R5xx and older only
                        Best efforts for newer chipsets
          Duallink DVI: R400 and newer
          TV-Out: All chipsets
          DisplayPort: No
Line 23: Line 55:
== Implementation ==    -fglrx: Radeon chipsets R600 and newer only
          AccelMethod: Unspecified
          DRI: Unspecified
          Memory: Unspecified
          KMS: No
          Duallink DVI: R600 and newer
          TV-Out: R600 and newer
          DisplayPort: DCE 3.0 chipsets and newer

   -nouveau: All Nvidia chipsets >= NV04
          AccelMethod: EXA
          DRI: 2D only
                        Best efforts for 3D
          Memory: Unspecified
          KMS: "On" for NV40 and newer
                        Best efforts for older chipsets
          Duallink DVI: R600 and newer
          TV-Out: R600 and newer
          DisplayPort: G98 only

   -nvidia (legacy): Older Nvidia chipsets
          AccelMethod: Unspecified
          DRI: Unspecified
          Memory: Unspecified
          KMS: No

   -nvidia (current): Newer Nvidia chipsets
          AccelMethod: Unspecified
          DRI: Unspecified
          Memory: Unspecified
          KMS: No

1. KMS / Flicker-Free Boot

    Kernel mode-setting (KMS) is a major target objective for this release.
    We may be updating to newer versions of mesa if needed for KMS support.

    We anticipate that not all drivers will support KMS, so the kernel will
    be determining whether to use KMS or not on a per-driver basis, and if
    KMS is not in use, will boot similar to how it's been done up to now.

2. Fast Boot / Fast Resume

    Improving boot and suspend/resume speed is another major goal for
    Karmic. Our objective is to boot fast enough that no splash screen
    is required. Therefore we will not be integrating plymouth into our
    boot process. Where boot speeds cannot be sufficiently reduced we
    will continue to use usplash.

    We anticipate KMS will help in achieving this objective, and are
    looking for additional ideas for improving X.org boot speed further.

3. Virtual Terminals

    In Karmic, VT1 will be used for X, VT2 as a console login, and VT3
    for kernel log messages.

Specific dates of Ubuntu Alpha releases are at:
  https://wiki.ubuntu.com/KarmicReleaseSchedule

Ubuntu Alpha release ISOs are available at:
  http://cdimage.ubuntu.com/releases/9.10/
}}}
Line 31: Line 125:
- Bryce: disable KMS, enable on per-model testing
- Pitti, Scott: enable KMS by default, disable on per-model testing -> more testing

- there is a kernel option to disable KMS globally, for a fallback
Line 37: Line 126:

- usplash and fsck integration costs some 2 seconds of boot speed

- move usplash startup after video driver loading after enabling KMS by default

Summary

This specification provides a roadmap of X.org changes for Karmic, as well as a compatibility requirements listing of versions of dependencies we will want our video drivers to support.

Design

Karmic Target Versions for Release
----------------------------------
   kernel:              2.6.31
   libdrm:              2.6.12
   mesa:                7.6
   x-server:            1.7
   xorg:                7.5

   (We are carrying rc versions of the above currently, but anticipate
    these versions will be released in time for Karmic.)

Karmic Important Dates
----------------------
   June 19th            xserver 1.6.99.901 + xorg 7.5 beta 1
   July 15th            xserver 1.7 + xorg 7.5 release
   Sept 7th             Ubuntu Deadline for driver version updates
   Oct 1st              Ubuntu Beta
   Oct 29th             Ubuntu Final Release

Driver-Specific Requirements
----------------------------
   -intel:              All Intel chipsets >= i810
          AccelMethod:  UXA
          DRI:          DRI2
          Memory:       GEM
          KMS:          "On" for all chipsets by default
          Duallink DVI: Chipsets >= i830
          TV-Out:       Chipsets >= i830
          DisplayPort:  Best efforts (G40-series)

   -ati:                All Radeon chipsets
          AccelMethod:  EXA
          DRI:          3D on chipsets R5xx and older only
                        Best efforts for newer chipsets
          Memory:       Unspecified
          KMS:          "On" for chipsets R5xx and older only
                        Best efforts for newer chipsets
          Duallink DVI: R400 and newer
          TV-Out:       All chipsets
          DisplayPort:  No

   -fglrx:              Radeon chipsets R600 and newer only
          AccelMethod:  Unspecified
          DRI:          Unspecified
          Memory:       Unspecified
          KMS:          No
          Duallink DVI: R600 and newer
          TV-Out:       R600 and newer
          DisplayPort:  DCE 3.0 chipsets and newer

   -nouveau:            All Nvidia chipsets >= NV04
          AccelMethod:  EXA
          DRI:          2D only
                        Best efforts for 3D
          Memory:       Unspecified
          KMS:          "On" for NV40 and newer
                        Best efforts for older chipsets
          Duallink DVI: R600 and newer
          TV-Out:       R600 and newer
          DisplayPort:  G98 only

   -nvidia (legacy):    Older Nvidia chipsets
          AccelMethod:  Unspecified
          DRI:          Unspecified
          Memory:       Unspecified
          KMS:          No

   -nvidia (current):   Newer Nvidia chipsets
          AccelMethod:  Unspecified
          DRI:          Unspecified
          Memory:       Unspecified
          KMS:          No

1.  KMS / Flicker-Free Boot

    Kernel mode-setting (KMS) is a major target objective for this release.
    We may be updating to newer versions of mesa if needed for KMS support.

    We anticipate that not all drivers will support KMS, so the kernel will
    be determining whether to use KMS or not on a per-driver basis, and if
    KMS is not in use, will boot similar to how it's been done up to now.

2.  Fast Boot / Fast Resume

    Improving boot and suspend/resume speed is another major goal for
    Karmic.  Our objective is to boot fast enough that no splash screen
    is required.  Therefore we will not be integrating plymouth into our
    boot process.  Where boot speeds cannot be sufficiently reduced we
    will continue to use usplash.

    We anticipate KMS will help in achieving this objective, and are
    looking for additional ideas for improving X.org boot speed further.

3.  Virtual Terminals

    In Karmic, VT1 will be used for X, VT2 as a console login, and VT3
    for kernel log messages.

Specific dates of Ubuntu Alpha releases are at:
  https://wiki.ubuntu.com/KarmicReleaseSchedule

Ubuntu Alpha release ISOs are available at:
  http://cdimage.ubuntu.com/releases/9.10/

Outstanding Issues

BoF agenda and discussion

- don't move drivers into initramfs, Scott says that the boot will be fast enough to justify having a black screen until the driver gets loaded by udev

- select X.org server version for Karmic:
 * upstream release dates cannot be predicted
   (plan: http://lists.x.org/archives/xorg-devel/2009-April/000774.html)
 * current Karmic plan: 1.7
   this would bring libxi 2.0, inputproto 2.0, evdev 2.3(ish)
 
- intel driver version:
  * 2.7.1 in karmic, planned to upload 2.7.99 next week
  * 2.9 will disable non-KMS support
  * beyond 2.9, no big changes planned
  * current Karmic target: 2.8, with possibility of 2.9

- nouveau driver needs testing, easy to install (packaged for jaunty)

- nouveau needs kernel portion in drm linux branches, for KMS

- GEM: graphics memory manager geared for integrated chipsets like intel and via
- TTM: graphics memory manager, similar to GEM, but geared towards discrete graphics cards with VRAM (confirm!)

- Intel 8xx support:
  * no upstream interest in support/bug fixing
  * Jesse says that for 810/815 you have to run the old -810 driver; with some hammering it should build
  * 830 and up are tested by upstream; recent kernel patch fixed a lot of 8xx issues
  * tutorials available? not really

- https://launchpad.net/~xorg-edgers/+archive/ppa has latest versions for testing
- https://launchpad.net/~ubuntu-x-swat/+archive/x-updates/ (more stable bits for jaunty, i.e. upstream bugfix releases)

- when 2.6.31 comes up, kernel side will be in better shape than the user land drivers

- intel-gpu-tools available in PPA, needs to be uploaded to karmic proper
- when intel driver runs into a GPU lockup, it's possible to capture a batch buffer dump using:
  https://launchpad.net/~ubuntu-x-swat/+archive/x-freeze-test
  (upstream says they are working on code that will automatically reset the GPU
   when it locks up. In an ideal world the user might not even notice the lockup)

- Tagging intel and ATI bugs in LP: both with chipset and symptom tags
  There is a wiki page with all the tags listed.

- We need a platform for testing (defined set of functionality that we want
  working on a defined set of cards). We can use this to measure the quality
  of the release. The list of certified hardware for example.
  Apple has limited/bounded set of hardware and MS has the Windows logo program.

- Is there a way to get a list of the most common hardware out there?


CategorySpec

X/Roadmap/Karmic (last edited 2009-08-05 13:24:02 by 89)