It's been a hell of a time getting X.Org 7.4 out the door, but this afternoon Adam Jackson has released this long-delayed update to this X system. X.Org 7.4 is arriving after the release of X Server 1.5.1 earlier in the day. Yes, it's finally here! In this article we have information on the features that make up this release along with what it's taken to get X.Org 7.4 primed for release.
In the mailing list announcement for this release, Adam Jackson simply stated:
Finally put this one to rest:
The release notes point to the wiki. Please update them responsibly if necessary.
The official documentation surrounding this release is minimal, but below are the major details surrounding X.Org 7.4 / X Server 1.5. Most of these details we had shared earlier this month when X.Org 7.4 was scheduled to be released on September 10.
Originally, X.Org 7.4 was set to be released in March of 2008 with features that included XGE (X Generic Events), XACE (the X Access Control Extension), RandR 1.3, more PCI reworking, XKB 2, a DRI memory manager, and Glucose. However, many of these features didn't end up getting integrated into X.Org 7.4. It wasn't until February that Red Hat's Adam Jackson had stepped up to the plate with some release plans and a revised target date of May. Red Hat had hoped to ship X.Org 7.4 with Fedora 9, but as the May release wasn't met, Fedora 9 ended up shipping with a pre-release. In early March was the first X Server 1.5 pre-release (22.214.171.1241) that had included more than 100 changes with memory leak fixes, EXA improvements, and plenty more.
In June, Adam Jackson was getting ready to release X.Org 7.4 by addressing some of the last minute bugs. However, Mesa 7.1 had become a requirement for building X Server 1.5. Mesa 7.1 was still in development and the latest bits of code needed to build the X Server were only available through the git revision control system. At that point, it became a waiting game for Mesa 7.1 to be released so that X.Org 7.4 could then ship with a dependency that can be easily obtained. Just days ago we finally had the Mesa 7.1 release with a new autoconf-based configuration, DRI driver enhancements, reduced dependencies between the X Server and Mesa, GLSL support for the Intel 965 series, and ATI R500 3D support. With Mesa 7.1 out the door, it finally paved the way for the X.Org 7.4 release.
The other important part that makes up each X.Org release, the X Server, had its major update earlier this month. This release was X Server 1.5.0 but being published on the web this morning was X Server 1.5.1. The 1.5.1 release introduces a handful of bug-fixes.
X.Org was slated to receive MPX support, but Multi-Pointer X ended up being postponed to the next release. Multi-Pointer X has since merged to master but will not be present until X Server 1.6. However, if Xi2 and Xkb2 aren't completed and stabilized in time, Keith Packard has mentioned he will disable Multi-Pointer X at build-time for X Server 1.6 and hold it off for a X Server 1.7 feature. The X Server 1.6 release will include X Input 1.5 with device properties at least.
Arriving in the middle of the X.Org 7.4 development cycle was the Graphics Execution Manager, which is a kernel-based memory manager for graphics processors developed by Intel, and is designed to circumvent the shortcomings of Tungsten's TTM that previous to May had looked like the memory manager that would become the standard for open-source drivers. GEM though has caused quite a bit of reworking to take place in the X world with a new EXA-based acceleration architecture coming about as well as other developers now coming up with a GEM+TTM memory management mix for the other drivers.
How GEM affects end-users though in X.Org 7.4 is that DRI2 has been dropped. The Direct Rendering Infrastructure 2 was going to be a highlight of the X Server 1.5 since it allows for Redirected Direct Rendering and other advantages that improve the desktop experience. DRI2 had to be dropped from the X Server 1.5 release since it was late in the development cycle when Intel had stripped its TTM code and replaced it with GEM. DRI2 was dependent upon some TTM bits and therefore it needs to be reworked to support the GEM API. DRI2 is now on the table for X Server 1.6.