Xi Graphics

A Small Case Study
Accelerated-X™ on AIX
Wm E Davis, Feb 2008

Xi Graphics, Inc. ("XiG") was approached by a US-based division of a large, well-known company
active internationally as a provider of control systems that employ Wall Displays of computer
generated graphics. The division uses IBM System p products, and was having some difficulties
with Power5 Model 520 systems, among others, using the IBM model GXT135P graphics card.
While the graphics card could support two monitors and had hardware support for imageoverlays, the IBM-supplied X Window System sub-system software would not support overlays ormore than one monitor per GXT135P graphics card.
Within about a 90 day period, XiG had provided the company (now a customer) with not only theability to use two monitors and image overlays with each GXT135P card, the XiG Accelerated-X
brand of X server/driver sub-system software also provided many features not available with theIBM software, and to top it off, increased the speed of the graphics system by a significant
amount. Figure 1 shows the results of running the industry standard X11 Perf benchmark - firstusing IBM's AIX X server/driver software, then using XiG's Accelerated-X Summit Series X
server/driver software. The customer also tested the XiG software with his applications software
on a number of systems, all running the AIX v5.2 or v5.3 kernels and CDE desktop, to verify
correct operation.
Figure 1. IBM GXT135P X11 Performance

In X marks - on IBM Power5 520 box & AIX v5.3
IBM's X server/driver vs XiG's X server/driver
24-bit IBM
color XiG
8-bit
colorIBMXiG

11.8
59.3

16.8
104.2

How They Do That?
It is not unusual for such customers to be a bit surprised at the large increase in performanceobtained by the use of XiG's X sub-system software. After all, IBM has been in the business ofproviding computer systems with their version of UNIX and the X Window System for many years.
Until a few years ago, IBM also designed and manufactured its own brand of graphics chips, thelatest known as the "Fire GL" models. So it would be natural to believe that IBM graphics would
be about as good as one could get in an integrated system - give or take a few percentage points.
But the world of computer graphics has changed dramatically down at the system level - where
the computer and graphics hardware first meets the graphics software, the level we call the Xgraphics sub-system. Not long ago, HP was also a leader in high-performance graphics

Xi Graphics
chips/cards, alternately sharing the leadership for the fastest graphics with Intergraph, a graphicalworkstation manufacturer in Alabama (at the time). HP also developed the X Window System (Xservers and graphics drivers) with its UNIX OS, known as HP/UX. An HP engineer commented
on a graphics software forum that it generally took a team of six engineers about eighteen (18)months to develop a high-performance graphics driver (including OpenGL) for an HP card/chip.
While that is several times the effort required at XiG for a similar project, it was evidence that HP
had the in-house capability to execute such a project.
Nowadays, the graphics chips are generally designed and manufactured by companies such as
Nvidia, ATI (AMD), Matrox, VIA, and other independent graphics chip/card houses. IBM sold its
FireGL name to ATI, who jacked it up and ran an ATI chip architecture under it (IBM apparentlykeeping the chip design to themselves). As the chip business was abandoned by the computer
manufacturers, they also disbanded the in-house capability of designing high-performance"graphics drivers" for use with their X servers used in their UNIX systems and began to rely onothers - principally the graphics chip manufacturers - to provide graphics chips and drivers.
But because of the small market for UNIX graphics chips/cards compared to the massive
Windows market, and the fact that developing a graphics driver for a UNIX OS was much moredifficult and expensive than developing one for Window OSs, IBM, HP, Sun and others active in
the UNIX OS world began to experience difficulty obtaining good graphics support software forgraphics chips/cards to ship with their computer systems. IBM is the subject of this paper, but
Sun SPARC systems and HP's Itanium and PA RISC based systems pose exactly the sameproblem for Sun and HP, respectively, as evidenced by the performance of some of the graphics
sub-system software provided by the firms with those systems.
XiG has for about fourteen (14) years specialized in developing and licensing its own
implementation of the industry-standard X Window System which includes the X server and the"graphics driver," or ddx in "X" terms. During that time, graphics cards/chips from almost all ofgraphics chip manufacturers and most of the various UNIX kernel variants, including Linux, havebeen supported at one time or another by XiG's Accelerated-X brand of its X Window System
implementation. Documentation of the graphics hardware, down to the "register level" that isnecessary for developing high-performance graphics drivers, is provided (under NDA) by thegraphics chip manufacturers to XiG if they wish XiG to develop (at XiG's expense) highperformance X support for their hardware.
In order to support such a broad range of UNIX kernels and CPU and graphics hardware, the X
server and ddx that was included with the X Window System specifications as a "Sample
Implementation" was discarded by XiG and completely redesigned. The XiG implementation of X
was designed to insure that the software would be robust (an oft abused term), fast (by taking fulladvantage of the hardware features of the chips/cards), flexible enough to easily add support fornew graphical features in the X server as well as the chips/cards, easily portable to various
computer platforms and OS kernels, easily maintained (since XiG does not charge for routine
maintenance), and extensible to accommodate OpenGL, and other extensions to the X
specifications as they were added.
That's how XiG does it. And the results shown in Figure 1 are proof that the XiG approach works.
The alternative approach that is currently in vogue, but encountering some difficulties, is thereliance by IBM, HP, Sun, Matrox, ATI, Intel, et. al., on the "open source community" effort byXorg to provide the industry with robust, fast, flexible, and portable X servers and graphics drivers
that will support the graphics hardware on the various UNIX kernels and CPU platforms. In thecase of the IBM GXT135P, the X server is apparently IBM's, but it is not clear who wrote thegraphics driver for the card since the graphics chip is not made by IBM.

22

Xi Graphics
A solution to the "UNIX graphics problem" that seems to be vexing the computer and graphics
chip manufacturers could be a single Profit Oriented Organization ("POO") that provided both theX servers and graphics drivers to the entire UNIX arena. The graphics chip makers wouldprovide the documentation on their chips under NDA to the POO for use in developing highperformance graphics drivers for them to use with the POO-developed X servers running on thevarious UNIX kernels and computer platforms of the computer manufacturers, complete withsome manufacturer-specific "tweaks" to X servers for each CPU house. The costs to chip andcomputer manufacturers would be quite modest in dollar terms, and almost nil in terms ofgraphics software support, since the POO would provide the support.
Benefits of POO X Window System SoftwareThe benefits of using POO software for the customers of the computer and graphics hardware
products is obvious. However, it is not clear that Sun, IBM, and HP would necessarily agree thathaving high-performance X sub-system software on the low-end computer products would fit with
their product marketing strategies, since customers might be able to use the less expensive
computer/graphics models for system requirements that now require them to purchase more
expensive models in order to get graphics performance and support needed. What is clear fromthis GXT135P example running on low-end products in IBM's Power5 (or System p) line, thehardware is certainly capable of much more graphics performance than IBM is providing with its
graphics software sub-system. Why or how this came about is something that IBM might be able
explain to any of its customers that are interested in the subject. We do not expect IBM to explain
it to XiG, so we won't ask.
Disadvantages of Xorg Open Source Approach
The Xorg approach - wherein everyone is sitting back waiting for someone else to do thedevelopment, coordination, supervision/management, and support - just does not seem to be aviable one based on all of the evidence produced by it in the last four or five years.
Nvidia, of all of the graphics chip manufacturers, has come the closest to providing good X
support for its graphics hardware on at least one UNIX variant - Linux - and one CPU architecture- x86. By all reports, this has come at considerable expense to Nvidia, and is not actually anopen source approach, since Nvidia does not release its IP to the "Open Source Community," norrelease the source code for its ddx (drivers). Furthermore, chunks of the Xorg X servers are
tossed out and replaced by Nvidia (closed source) code in order to get as far as Nvidia has so far.
If one wants to estimate the task Nvidia has faced in order to be able to provide drivers for its
cards/chips that work with various Linux kernels and Xorg X servers (new versions of each arefrequent), one only has to download the SW from the Nvidia site and compare it for size to XiG'sSW size. Keep in mind that the SW from Nvidia represents support only for its graphics chips andLinux, whereas XiG's download size represents SW that supports many UNIX kernels, graphics
chips/cards and computer platforms. Nvidia X support for its cards seem to be limited to x86.
An Accelerated-X graphics driver for an ATI, Matrox, or Intel graphics chip, for example, will work
unchanged (except for recompile, of course) on all of the kernels and computer platforms and XiG
X servers for which XiG offers support for that ATI, Matrox, or Intel card/chip. That is why XiG
Accelerated-X runs on so many different computer platforms and operating systems. This also
partly accounts for why XiG does not charge for routine maintenance of its Accelerated-X
products; there is not a huge mountain of code to maintain. Another big reason is that the XiG
SW is very solid and does need much maintenance. Isn't that the way it should be?
--0--3