AcceleratedX

Differences between revisions 22 and 23
Revision 22 as of 2006-11-12 10:12:39
Size: 8722
Editor: C85a5
Comment:
Revision 23 as of 2006-11-12 10:37:24
Size: 9744
Editor: 193
Comment:
Deletions are marked like this. Additions are marked like this.
Line 98: Line 98:
Legal issues with proprietary modules should also be considered with this. Kororaa, for example, after distributing and enabling proprietary drivers by default, switched back to only providing them optionally due to the unclear legal situation of combining a GPL'd kernel with proprietary modules.
Personally, I doubt that enabling these modules by default will have a positive effect on Ubuntu and open source in general in the long term. Even being a mainline distribution, Ubuntu still has not only a commitment, but also a responsibility towards free software. I'd prefer Ubuntu enabling all this eye-candy stuff by default just on free drivers while still educating users, which gives the users an incentive to consider this issue for buying decisions, and keeps (and even strengthens) the incentive for graphics card vendors to provide open sourced drivers. Other distros also manage to enable 3d effects without enabling proprietary drivers by default, why shouldn't Ubuntu be able to do so? -- Jakob Petsovits

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

To enable X.Org acceleration by default, on Ubuntu Feisty.

Rationale

Currently, Ubuntu does little to enable Composition and 3D acceleration on cards that support these features. MatthewGarrett - untrue. Composite is enabled by default in Edgy's X.org, and we support 3D out of the box on everything with a working free driver There is no automatic configuration of options specific for any video board, no official documentation on how to do it for all (or at least most) cards, or how to troubleshoot in case you have a problem.

On the bright side, accelerated X platforms are much easier to make accessible (screen magnification for example is easier).

Finally, acceleration is already enabled by default on other Linux distributions, such as Fedora Core, openSUSE and Mandriva - so - there is precedent for safely enabling it on Feisty. MatthewGarrett - this statement seems highly misleading. None of these vendors ship non-free drivers by default, so we provide exactly the same level of acceleration out of the box as they do

Use cases

Joe uses Google Earth on his windows machine and wants to switch to Ubuntu. He goes through a whole bunch of trouble to find, download, and install this third-party program, and doesn't want to get an error message about hardware acceleration when the program starts.

Cindy has read about fancy new eye candy on Linux, and doesn't want to be disappointed when she installs ubuntu.

Vernor thinks that, while transparency and wobbly windows aren't much use, compositing features like window preview and smart magnification actually improve his workflow.

Doreen designs video games and would like to work directly on her ubuntu-based laptop.

Scope & Design

Proprietary Video Drivers

  • Both NVIDIA and ATI proprietary drivers will be installed by default, on Ubuntu Feisty. This is out of the scope of this Specification, but is covered on the "binary-driver-education" spec MattZimmerman: this absolutely is in scope for this spec; installing these drivers by default is the core of it.

  • The NVIDIA and NVIDIA Legacy drivers work correctly, and 3D acceleration will be enabled for all users with supported boards. NVIDIA provides a function call that returns whether your video board supports 3D acceleration or not, and in the second case, xorg.conf is left untouched MatthewGarrett - Why? If the desire is to have the non-free driver be the default, just change the entry in discover1-data for the appropriate cards. Users with supported boards will have their xorg.conf generated with relevant options for appropriate support MattZimmerman: need to describe how this is done. How will you influence the choice of driver? Where does the function provided by NVIDIA live? How will it be called?

  • The ATI proprietary doesn't supports Composite, and thus, will only be enabled for users with boards that are not supported by the open source 'ati' video driver. For them, 3D acceleration will be enabled, but Composite will be explicitly disabled

Open Source Video Drivers

  • Specific options for all open source video drivers will be researched during development period, and will be enabled as required during xorg.conf creation (this is explained in detail on the "Implementation/Code" section below)
  • Specifically for the 'ati', 'trident' and 'via', the necessary extra configuration options are already known during Spec Drafting time, and will be correctly output during xorg.conf creation MattZimmerman: what are they? MatthewGarrett - why aren't we just fixing the drivers to actually work? If they "need" extra configuration, it's likely that adding it will also be breaking some other setup

General Scope and Design issues

  • A decision has been made during Edgy development, on which Ubuntu decided to ship X.Org enabled by default (as is the case with X.Org 7.1 onwards) MattZimmerman: I think you meant AIGLX instead of X.org here

  • XGL is considered unsupported for all versions of Ubuntu (including feisty), but a XGL X.Org server is available on the 'universe' repository. Please note that, again, this server is completely unsupported, and needs to be manually enabled to be useful
  • A blacklist will be created during the feisty development cycle, for boards that are recognized as "3D capable", but are either too slow, or do not support acceleration correctly. The postinst part of the 'xorg' package, responsible for xorg.conf generation shall take this list into consideration, and accordingly, disable acceleration for these boards MattZimmerman: in composite-by-default it was decided to use a whitelist instead

  • 3D and Composite support is available on all architectures supported by X.Org on Ubuntu (including powerpc). Please note, though, that the implementation speed is completely dependant on the raw processing power of the video board used MattZimmerman: this bullet point doesn't seem to add useful information to the spec; it is assumed that this works on our desktop architectures

  • MatthewGarrett - Proprietary drivers are currently significantly worse at surviving a suspend/resume cycle. How are regressions going to be avoided?

Implementation

Packaging

  • X.Org will be updated to version 7.2 on feisty, with addition of the 'autoconfig-for-7.2' branch. This branch makes X.Org capable of detecting the most common options for drivers and input devices, and simplifies configuration immensely. It is worth of note that this branch is already present on the X.Org packages of Fedora Core 6
  • Proprietary and open source video drivers will be updated to the latest available versions, at the time of Upstream Version Freeze MattZimmerman: this should be Feature Freeze

  • Mesa and libdrm will be updated to version 6.5.1 + 3D patches, or newer available, by the time of Upstream Version Freeze MattZimmerman: why do we need to do anything other than shipping the latest upstream?

Code

  • the 'configure' and 'postconf' sections of the package 'xorg' will be greatly improved, using the following rationale:
    • due to the landing of the 'autoconfig-for-7.2' X.Org branch
    • to allow the automatic configuration of Composite and 3D support on all supported boards
    • to take in consideration the above mentioned 'blacklist'

MattZimmerman: what is "postconf"? 3D acceleration is automatically enabled where supported, so there is nothing to be done there. What is involved in enabling Composite? See above regarding whitelist instead of blacklist.

Data preservation and migration

Users upgrading from previous versions of Ubuntu shall have their xorg.conf unmodified, and thus, potentially won't be able to use X.Org acceleration "by default". On the other hand, Feisty will provide users upgrading their installation an option to have their config files regenerated, so they can take use of the new shiny accelerated stuff.

Please note that this "regeneration" of the config file is only offered if xorg.conf was not manually modified, and in this case, should *not* be considered more harmful than a simple install (on which xorg.conf has to be newly created).

MattZimmerman: how and when would this be offered? what would happen if the user opted for this choice? see bullet-proof-x for possible overlap in regenerating a default autodetected configuration.

Unresolved issues

Please note that the unresolved issues are not a blocker for the the Approval or implementation of this Specification, and are here for completeness reasons.

  • Support for texture-from-pixmap (ATI proprietary driver)
  • Monitor and input hotplug for X.Org 7.3

Comments

I am concerned whether this spec is worth installing binary drivers. I think we will lose our arguments for free graphic drivers by doing so and also shoot other supporters like Fedora or Suse in the back. A small popup informing the user about non-free drivers means nothing when we give our best to make free drivers obsolete on the other hand. -- Pavel Rojtberg

Legal issues with proprietary modules should also be considered with this. Kororaa, for example, after distributing and enabling proprietary drivers by default, switched back to only providing them optionally due to the unclear legal situation of combining a GPL'd kernel with proprietary modules. Personally, I doubt that enabling these modules by default will have a positive effect on Ubuntu and open source in general in the long term. Even being a mainline distribution, Ubuntu still has not only a commitment, but also a responsibility towards free software. I'd prefer Ubuntu enabling all this eye-candy stuff by default just on free drivers while still educating users, which gives the users an incentive to consider this issue for buying decisions, and keeps (and even strengthens) the incentive for graphics card vendors to provide open sourced drivers. Other distros also manage to enable 3d effects without enabling proprietary drivers by default, why shouldn't Ubuntu be able to do so? -- Jakob Petsovits


CategorySpec

AcceleratedX (last edited 2008-08-06 16:15:03 by localhost)