XSuSE—Adding More to the XFree86 Offerings

In mid-1997, S.u.S.E. started to release a small family of X servers, called XSuSE, based on XFree86 and freely available in binary form. This paper explains who is involved in doing this, why we are doing it, what exactly we are doing and what will happen next.

In mid-1997, Elsa AG, one of the many graphic-card vendors actively supporting XFree86, suggested they could help develop a server for their new line of 3DLabs-based graphic cards. Since documentation for these cards was only available under a non-disclosure agreement (NDA), S.u.S.E. agreed to do the development and to donate the server back to XFree86 as soon as the NDA was lifted. (Unfortunately, this has not happened yet, which is the only reason this code was not integrated into XFree86-3.3.2.)

After a few months of development, S.u.S.E. made the first server for Elsa's cards, XSuSE_Elsa_GLoria, available. This marked the beginning of the small family of XSuSE servers. The server quickly became very popular, and over time was extended to support many non-Elsa cards and updated to support newer chip sets from 3DLabs. A major share of the development of this server was done by S.u.S.E. employees, but other XFree86 developers contributed significantly as well.

The motivation for doing more than just this one server came from the fact that Matrox released the documentation for their Millennium II card just weeks before XFree86-3.3.1 was finished. While time permitted a quick hack to get XF86_SVGA to work on the Millennium II, it was soon obvious there were some problems left unaddressed. Additionally, the AGP version of the Millennium II became available, which was not detected by the XFree86-3.3.1 server. S.u.S.E. decided to fix the most important problems in Millennium II support and add Millennium II AGP support. This was released as XSuSE_Matrox.

This started a flood of requests for servers for other, recently released hardware, for example, the Riva128 chip from NVidia, a newer version of the Mach64 series from ATI, or the AT3D and AT25 chip sets from Alliance Semiconductor. The XFree86 developers started to work on drivers for these chip sets, but a new release of XFree86 was months away.

Instead of telling people to wait, many developers wished to make their servers available. However, given the size of the XFree86 sources, releasing patches did not seem to be a good way to give the majority of the users access to these drivers. Additionally, this would have created a confusing mess of different versions available, something that XFree86 is trying to avoid. At this point, S.u.S.E. took over the coordination of releasing interim servers, helped to develop many of these drivers with its own employees and made the servers available to the public in the form of binary-only releases.

The XFree86 Project was willing to give permission for these releases under the following conditions:

  • They were not to be called XFree86.

  • They would be supported by S.u.S.E. and not create an additional support load for the XFree86 team.

  • All code developed for these servers would be donated back to XFree86.

Since these conditions exactly matched the intentions of S.u.S.E., the creation and distribution of the XSuSE servers began.

What Next

Since then, many people have wondered if S.u.S.E. would begin to develop commercial X servers and become yet another player in that market (like Metro Link and Xi Graphics). This was never the intention behind developing these servers in the first place, and is still not among the options being considered by S.u.S.E. On the contrary, these servers are provided as freeware and can be freely distributed by anyone. S.u.S.E. explicitly encourages other Linux distributions to include these servers on their CDs. S.u.S.E. is supporting these servers regardless of whether the user has purchased S.u.S.E. Linux or another Linux distribution. Feedback from support is collected and provided to the developers. The source for these servers is part of the development source of XFree86.

As long as there is demand for early access to server binaries, S.u.S.E. will continue to make servers available in the XSuSE series. This is the case for XSuSE_Elsa_GLoria right now, and other servers will be added as new drivers are written before the next release of XFree86 is ready.

Additionally, S.u.S.E. is actively working on enhancing many other aspects of XFree86, most notably the configuration of the servers. Due to the size of this undertaking, we are hoping to do this as a joint project with XFree86, S.u.S.E., Red Hat and other companies distributing XFree86.

This article was first printed in the proceedings of Linux Expo 98.

Dirk Hohndel (hohndel@aib.com) is Vice President of The XFree86 Project, Inc. He was an employee at S.u.S.E. GmbH in 1997, and still works for S.u.S.E. on a freelance basis. His involvement with Linux started in November 1991, and he has been active in the freeware area ever since.