AcceleratedX
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.
Launchpad entry: https://features.launchpad.net/distros/ubuntu/+spec/accelerated-x
Source Packages affected: xorg, mesa, linux-restricted-modules, xserver-xorg-video-*, xserver-xorg-input-* and potentially ubiquity + debian-installer related packages
Summary
Define all steps necessary for enabling X.Org acceleration by default, for Ubuntu Feisty.
The challenge described above is two-fold though - both technical and commercial measures must be taken so customers and community are not put into a dead end situation due to unresolved bugs or worse, unplugged security issues.
Rationale
Currently, Ubuntu does little to ensure 2D and 3D acceleration is enabled on cards that support it. 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).
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 in 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 actually improve his workflow.
Doreen designs video games and would like to work directly on her ubuntu-based laptop.
Scope
- we'll have to split out any user-mode applications which do, for example, demonstrate the performance of the board or configure the box.
Design
- ATI and Nvidia drivers are not blockers on a kernel ABI update
- definitive decision for AIGLX over Xgl
- add a blacklist to the installer to disable acceleration for known broken boards
- add extra options to enable acceleration on different drivers or disabling features which are known to be broken
Implementation
Code
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".
- - Potentially, it is possible to give the upgrading users an option to have their config files regenerated, so they can take use of the new shiny accelerated stuff.
Unresolved issues
- If acceleration is to be enabled by default, the outstanding issues with suspension of nvidia and ati proprietary drivers need to be addressed. Otherwise laptop users will find it nearly impossible to install ubuntu feisty, which would be disastrous. This opens up the recurring issue of suspend2 patches, which generally handle recalcitrant drivers a little better than mainline-kernel's swsusp. One option would be to push for integration of suspend2 in mainline kernels...
- nvidia is fixed according to Beryl guys, no idea about fglrx
- ati has issues if you are running OpenGL contexts (but we are not going to support fglrx anyway)
- question about *when* proprietary drivers would be used. If there is a free driver that can achieve the same effects, should we use the free driver?
- it is important to note that a list of free driver-compatible boards would need to be manually mantained, and is very error prone
- ATI fglrx driver does not support composition currently, that needs to be addressed
- Need to get some idea of the turnaround time on security issues in the binary blob
- talks with ATI and NVIDIA people is schedule to happen later this week
- Urgent bug fixes being beyond our control, which has the potential to disrupt both our release schedule and our responsiveness to reports of security vulnerabilities
- Questions for driver vendors:
- compatibility plans with display hotplug
- support for texture-from-pixmap (ati)
- monitor and input hotplug for 7.3
- I've been looking through the nvidia-glx_1.0.8774+2.6.17.5-11_i386.deb; and, I noticed that it uses dpkg-divert to replace mesa's libGL.so.1 and libGL.so.1.2 with it's own. IIRC, ATI's fglrx package does the same. This is why even dpkg -i --force-conflicts fails to install both nvidia-glx and fglrx simultaneously since it cannot do multiple diversions of the same file. Presuming that neither driver will work correctly with the standard libGL.so's or the other vendor's, this seems to be a critical impasse. How to test this?
- X.Org configuration tool is responsible for checking if the diversion points to the right GL library for the specific driver being used
- Decisions about hardware support: e.g., after version 7184 or so, support was discontinued for a number of devices which were still in use by our users. In combination with the previous item, this has caused a situation where our users must choose between full hardware support and system security.
- this needs to be raised with NVIDIA
- check how to chose nvidia and nvidia_legacy driver from inside the X.Org configuration tool
- Support for all official Ubuntu platforms
- test the patch for X.Org the Beryl guys have on PPC
BoF agenda and discussion
(please check the official UDS Mountain View Wiki page for specific meeting hours, and how to participate)
- Sunday, November 5th, 2006
- Sunday, November 5th, 2006