OS/2 and X-Windows... Come Again?- by Chris McKillop

Yes, it is true. Xfree86 has been ported to one of the best operating systems ever! What is Xfree86? What is X? Well, where shall I begin...

A Little History

X, or the X Window System, is a GUI that was developed at MIT under then name "Project Athena". The aim of this project was to provide a machine independent GUI for use on UNIX Workstations. Both IBM and Digital sponsored the initial effort and by 1987 more than a dozen vendors had joined up. Today, there isn't a single flavor of UNIX on any platform that doesn't offer a version of X to run as a GUI.

XFree86 is a version of the X Window System that runs on Intel based PCs under several different operating systems, including Linux, FreeBSD, NetBSD, and now OS/2. It is free software that is distributed under rules much like those of the GNU group. You can get more information on XFree86 and those that work on it at http://www.xfree86.org.

For OS/2?!?

Now that you have some small idea of what X and Xfree86 are, you must be wondering, "Who the heck did this the port?" Dr. Holger Veit, a member of the System Design Technology group at GMD (German National Research Center for Information Technology) is who! Why did he take on this chore? Why don't I let him answer that for you...

CM: Why X For OS/2? Isn't PM Good Enough?

HV: The question is not whether PM is good or not. I think PM is good and sufficient for most people, particularly home users. X11 opens another door - PM and X supplement each other. In universities, research institutes, and companies, there are often heterogeneous environments: OS/2, WfWg, NT, and also Unix. Under Unix, the GUI is de-facto the X Window System. What the XFree86 port offers, is true connectivity to Unix systems on the GUI base. It also gives the opportunity to execute X software on the local PC, under OS/2. Commercial competitors, like IBM and Hummingbird claim to offer this as well with their product, but I have yet to see any application developed this way. PMX and EXceed have their market, where it comes to make cheap PCs to a simple replacement for X terminals.

CM: How much of the XFree86 source code had to be rewritten for this port?

HV: I have never counted the lines that had to be changed, but they were surprisingly few. (See also Questions 3 and 4.) Most files in X11 still remain untouched, and compile out of the box. The EMX environment is quite good to translate Unixisms.

CM: What was the hardest service/method you had to port?

HV: A considerable amount of time and effort had to be spent to create a usable infrastructure. This was the special device driver named XF86SUP.SYS which you must install to get the system running. This driver provides certain essential properties like I/O access, access to physical video memory, and Unix-like pseudo-TTYs which are missing, inefficient, or scattered over several drivers in OS/2.

CM: What has been the hardest app to port to OS/2?

HV: Initially, I thought that the X servers would be complicated, but surprisingly, they compiled almost out of the box after I had the support from the XF86SUP.SYS driver. The nice effect was that they share most of their code, so when we got one server working, the others automatically did as well, without specific testing. They now seem to be so compatible to their Linux and BSD equivalents, that the same bugs that appear there can also be observed under Linux. At this point I want to explicitly thank Sebastien Marineau, my remote colleague, who had debugged most of the problems in the server code and is responsible for the X11 / OS/2 interfacing.

The hardest things were applications that extremely use Unix features. This holds for xterm and xdm mainly. Interestingly, with X11R6 there was partly support for WinNT, and the applications missing from that port were: xterm, xdm, xconsole, and the servers!

CM: What are your hopes for this in the next year or so?

HV: Well, what hopes? I am [realistic enough] to know that XFree86/OS2 won't suddenly cause a boost in applications for OS/2; neither did EMX have such an impact. To append to the first question: XFree86 has its market, and so has PM.

I expect that several apps available in the large X archives will be ported to XFree86/OS2 in the future, and this will make OS/2 an important platform for portable software. Which [other] OS can run DOS, Win3.1, OS/2 1.X, 2.X, PM, WPS, and X11 software?

CM: Any hints on when the BETA or FULL release will be?

HV: I follow the track of the people of the XFree86 Project. They want to release one or two more beta releases (one of which I likely skip) and then the full version. From my experiences so far, I think the next version will have a real beta status; I had expected more problems. A date of a next release is not yet fixed.

CM: Who else has been responsible for this project?

HV: The responsibility of the XFree86/OS2 port lies with me; note that my employer is not involved in this. The overall responsibility for XFree86 itself is with The XFree86 Project(tm). The main URL for XFree86/OS2 is http://borneo.gmd.de/~veit/os2/xf86os2.html, for XFree86 in general contact http://www.xfree86.org/.

CM: Any plans to port anything else to OS/2?

HV: XFree86/OS2 is mainly done for me - there will be improvements, bugfixes, ports, but in general, it is now standing on its own feet, and people have to decide what they want to use it for. There is one more challenge for me, under the work title "PM4X", that is the port of the PM/WPS API in a portable way to X11.

For those who are interested in trying the current ALPHA release of the XFree86 port, please consult Holger's page on the port and related information. Also, please do not mail Holger if you cannot get it to work, instead ask on comp.os.os2.programmer.porting or on the IRC channel #OS/2. Many people (including myself) can be found at both of those places and would be more than willing to help, as long as you read the READMEs that come along with the release!

Look for a review and installation guide here when the port moves from the Alpha and Beta stages into a full release.

Chris McKillop is a University of Waterloo Computer Engineering student, currently on work term at a software firm named ISG. He can often be found wasting time on IRC (#os/2 and others) as Variable or playing his guitar. This is his first article (but not his last!) for the OS/2 e-Zine!.

Send a letter to the editor.

Our Sponsors: [Indelible Blue] [Mt. Baker] [ScheduPerformance] [Shenandoah]

Back to Contents |  Previous Article | Next Article

This page is maintained by Falcon Networking. We welcome your suggestions.

Copyright © 1996 - Falcon Networking