![]() |
Series: XFree86OS/2 Author: Dr Holger Veit Homepage: http://borneo.gmd.de/~veit/os2/xf86os2.html |
+ Why use XFree86OS/2? + Gnome and the Gimp + Window managers and utilities |
Holger Veit
Last modified on: December 12th, 1999
Before looking into this file, please check for any LATEST.OS2 files that may come with the binary distribution. Please also check out the following XFree86/OS2 WWW pages:
This version of the code is called XFree86/OS2 3.3.6. This is a bugfix release for 3.3.5 and previous versions which again adds hardware support for some newer cards, including AGP boards. XFree86-3.3.6 contains all security fixes that were released for earlier versions. See the RELNOTES document for details.
XFree86/OS2-3.3.6 is a full, unrestricted version which does not expire, and for which the complete source code is available. In contrast to beta versions, we consider this code as sufficiently stable for use by an end user. Since there have been numerous bugfixes, we recommend this version, even if you had XFree86/OS2 3.3.x before and it worked satisfyingly with your hardware. By the time 3.3.6 is released, the older version 3.3 will be withdrawn, and archives will be updated to this version. There may still be references to 3.3 or 3.3.x still in documents; these apply to 3.3.6 as well, unless otherwise noted.
Previous versions have been tested in a large number of configurations and have been found to be working, with some bugs left, rather flawlessly.
This release is almost complete (with a few exceptions) regarding the X11R6.3 ``core'' distribution. A subset of the ``contrib'' distribution is available from the ported software page http://ais.gmd.de/~veit/os2/xf86ported.html
In the past beta testing, it has been found that the software itself is rather stable and does not damage hardware - provided the user does not try to push the builtin limits and change certain configuration parameters which could operate the video hardware out of specs.
However,
2. What and Where is XFree86?
XFree86 is a port of X11R6.3 that supports several versions of Intel-based Unix. It is derived from X386 1.2, which was the X server distributed with X11R5. This release consists of many new features and performance improvements as well as many bug fixes. The release is available as source patches against the X Consortium X11R6 code, as well as binary distributions for many architectures.
XFree86/OS2 is the name of the implementation of XFree86 on OS/2 based systems.
See the Copyright Notice.
Binaries for OS/2 Warp, Merlin, and Aurora are available from: ftp.XFree86.org:/pub/XFree86/3.3.6/OS2
The WWW page http://borneo.gmd.de/~veit/os2/xf86os2.html will usually show more references to FTP or WWW sites to retrieve sources or binaries.
Other versions:
XFree86/OS2 will run on all dialects of Warp 3, including Warp "red spine box", Warp "blue spine box", Warp Connect, Warp Server, and Warp 4.
For Warp 3 installing fixpack level 17 or later is strongly recommended. There have been a few reports that the installation of FP26 causes XFree86 no longer to work, but I am not sure about a real reason. Current fixpacks for Warp 3, like FP36, seem to work well also.
Warp 4 may be used with or without the recent public fixpack.
Please check in all cases a LATEST.OS2 file.
OS/2 2.11 is not supported any longer with this release, due to lack of a working test environment. Consequently, OS/2 SMP 2.11 is not supported either. Warp Server SMP is supported, but SMP does not give significant advantage, other than the general speedup because of multiple processors working. OS/2 versions 1.X are definitely not supported and will never be.
It is possible to build XFree86/OS2 from the sources. Read about this in the document OS2.NOTES.
3. Bug Reports for This Document
Send email to Holger . Veit < # > ais . fhs . de (Holger Veit) or XFree86 < # > XFree86.org if you have comments or suggestions about this file and we'll revise it.
4. Hardware and Software Requirements
4.1 Supported, Required, and Recommended Hardware
4.2 Required Software
Other versions of TCP/IP, such as FTP's, DEC's, or Hummingbird's TCP/IP versions, as well as IBM TCP/IP 1.X are not supported. Nor does any networking support from DOS (packet drivers, winsock), Netware, or NetBIOS work, and I won't to provide support for that in the future.
5. Installing the System
The binary distribution is composed of a number of zip archives which are the executables, servers, fonts, libraries, include files, man pages, and config files. The full distribution requires about 40-55MB of disk space.
All archives of this alpha version are packed with the info-zip utility, which is available under the name UNZ512X2.EXE (or a later version) from many OS/2 archives. Please obtain a native OS/2 version of this unpacker. DOS PKUNZIP does not work, because it cannot unpack long file names and extended attributes.
At this moment, the distribution covers only the ``core'' distribution which somewhat reduces the usability. Refer to WWW sites and archives listed in the XFree86/OS2 FAQ and elsewhere to obtain pre-built X clients which were ported to XFree86.
The contents of the packages are:
If it is your first time install, get the Xbase archive before any of the other packages. This package contains a driver and a test program, which analyzes your video hardware. If this program fails or reports an incompatible hardware, it makes no sense to obtain the other packages in the hope that they would magically work.
6. Troubleshooting
Surprised to see this section directly in the beginning? We have put it here because chances are best here not to overlook it. This does not mean that you will necessarily encounter trouble when installing XFree86, but be warned: the following sections are IMPORTANT and neglecting one or more things out of impatience or sloppiness will leave you with a non-working X11 system and us with unnecessary problems.
Still, due to the incredibly large number of hardware configurations, there may be some special situations and configurations where the below description is not successful. If this happens, read - I repeat READ - the list of "frequently asked questions" (FAQ) which has meanwhile evolved to a troubleshooting guide. The latest version is always at http://ais.gmd.de/~veit/os2/x11os2faq.html .
Maybe - but we found you must be very creative - you find a bug. Consult the page http://ais.gmd.de/~veit/os2/xf86bugs.html whether it is already known. If not, you have a case and should report it to XFree86 (xfree86@xfree86.org). Please refer to the FAQ about the information to be provided for a complete problem report.
The recommended newsgroup for setup questions is comp.os.os2.setup.misc. I read this group, so it won't speed up the process or enforce anything if you post to other groups, or forward the report to my mail address as well or to xfree86@xfree86.org.
So, not to discourage you completely, the setup section begins:
7. Checking Compatibility of Video Hardware
In the following, we assume that you want to install XFree86/OS2 on a disk drive with the letter Y: (which you probably don't have). Change the letter in all commands accordingly.
[C:\] Y:\XFree86\bin\SuperProbe
[C:\] Y:\XFree86\bin\SuperProbe >filename
XFree86/OS2 assumes a directory hierarchy starting from drive:\XFree86. This can be changed, but is strictly discouraged.
drive:> cd \
drive:> unzip \path_of_packages\Xxxxx.zip
9. Adding Variables to CONFIG.SYS
XFree86/OS2 requires a number of settings in the CONFIG.SYS file to work correctly. Please add the following settings, and in particular take care to set forward versus backward slashes correctly:
\XFree86\lib\X11\etc\termcap.x11 contains a suitable termcap which can be used in place of termcap files that come with EMX, EMACS, or other ported software.
Note that forward ``/'' is used as a directory separator.
LOGNAME
It is possible to move the binaries to another directory in the search path; for maintenance reasons and clarity of the structure, this is not recommended, though. You might, of course, use a software like TVFS to redirect these files to elsewhere.
SET MANPATH=Y:\XFree86\man;Y:\EMX\man
COMSPEC
SHELL
X11SHELL
10. Remarks on the Network Configuration
It is beyond the scope of this document to even give an introduction about the correct installation of the TCP/IP networking system. You must do this yourself or seek assistance elsewhere. It is only possible to say here that a PC working well in a TCP/IP based LAN network will also work with XFree86/OS2 (when all other prerequisites are matched as well).
With IAK, there is a special configuration necessary, unless you want to use XFree86/OS2 only during a hot link to your Internet provider, the so called ``localhost'' or ``loopback'' configuration. This is a local network interface which ``loops'' back to the same host. The following settings are necessary for this:
In case of a SLIP/PPP line, you have to establish this connection BEFORE you start XFree86. See the next section for more details.
Note that the ability to use host names, for instance in the DISPLAY variable, correlates with the existance of a name resolver. If you don't have a LAN-based DNS server available, you have to add the relevant hostnames to your HOSTS/ file. The TCP/IP configuration dialogue in your system configuration folder allows you to edit this file. The checkinstall.cmd script coming with XFree86/OS2 gives some advice on the configuration as well. If you have problems to get this or other basic networking things running, seek assistance in the FAQ, the xf86os2 mailing list or the mailing list archive.
11. Dynamic IP Considerations
Generally, the whole stuff works best, if your machine has a fixed IP address. The localhost address, and also fixed (non-routable) local addresses (10.x.x.x, 192.168.x.x, 172.16.x.x-172.31.x.x) work fine. A problem occurs on both sides of such an X connection if there are dynamic IP addresses involved, for instance in case of a PPP line to an ISP. Unfortunately, the XFree86/OS2 net community hasn't come up with a set of helpful scripts yet (which I would integrate), so there are here only some hints what the problem really is: The X server listens for X protocol packets on some defined host/port socket. It gets the information about the socket from either the command line or the resolved hostname (which it gets from the HOSTS file or the DNS server). Here the HOSTNAME variable comes into play. Once the server is running, a change in the IP/HOSTNAME configuration won't be recognized any more. Thus, the general approach for X over a dynamic IP line is: build the connection to the ISP first, then start the server. The relevant script that is responsible for starting the server is the startx.cmd script which executes (indirectly) the \XFree86\lib\X11\xinit\xinitrc.cmd script. You have to modify these scripts in order to set the HOSTNAME and DISPLAY variables correctly and start the server with the right IP address. The X server log shows, right to the beginning, at which IP address it is listening, for debug purposes.
12. Configuring X for Your Hardware
After you have added the required settings and setup a working network, run the xf86config program to create a standard configuration file in Y:\XFree86\lib\X11\XF86Config from a windowed or full screen OS/2 text session:
It is possible, but strongly discouraged for the non-expert, to edit the XF86Config file with a text editor. In a few situations as described in the FAQ, however, this might even be mandatory. This file is not a hacker's area, such as the Win95 registry, but it has in common with it that you can easily cause damage.
For details about the XF86Config file format, refer to the XF86Config(4/5) manual page.
If you know the configuration process from Linux or other XFree86 platform, you will encounter a few differences:
For S3 VLB cards, the X server can search for this memory by experimentally mapping and unmapping possible memory regions. However, in XFree86/OS2, the OS may run out of memory tiles during this process. If this happens, you must find out the location of the memory yourself and add it as an option
For Matrox cards, the X server may fail to detect the PCI ID of the card correctly, as the PM driver and Matrox BIOS may have reprogrammed the card's PCI configuration in a non-standard way. The server will then fall into a VGA compatible mode at 320x200 resolution. To prevent this, add a
Once you've set up a XF86Config file, you can fine tune the video modes with the xvidtune utility. Note this is an X11 program which has to be executed in a local xterm window of a running X server, not in a PM window.
13. Running X
16mb of memory is a recommended minimum for running the network software, X and the presentation manager in parallel. The server, window manager and an xterm take about 4-6 Mb of memory themselves. X will start up on a system with 8MB or less, but the performance will severely suffer from heavy disk swapping. Your mileage may vary, though, so some people might consider this still tolerable.
Some more on resource requirements: With the arrival of complex desktops like WindowMaker, KDE, Gnome, Enlightment, etc. which add a lot of graphical features, resource requirements grow. The X server will cache used fonts and resource settings internally, and depending on the number of windows (backing- store) it may require much more memory and swapspace than the mentioned few MBs. Also take into consideration that X runs in parallel to PM which also takes its share. My own system, albeit meanwhile rather outdated, is a PII-233 with 128MB, however, it is a development system. 64 MB are meanwhile standard, and okay for the purpose, and my laptop runs Aurora with XFree86 in 32MB, as well.
The easiest way for new users to start X windows is to type:
To get out of X windows, type: ``exit'' in the console xterm. You can customize your X by creating .xinitrc, .xserverrc, and .twmrc files in the directory that the HOME environment variable points to. These files are described in the xinit and startx man pages.
By default, the systemwide xinitrc file (in Y:/XFree86/lib/X11/xinit/xinitrc.cmd) installs the rather simplistic twm window manager. You can find better window managers on the ported software page at
14. Rebuilding the XFree86 Distribution
Do you really want to rebuild XFree86/OS2 from source? Read the file on details to recompile XFree86/OS2 from scratch.
15. Building New X Clients
The easiest way to build a new client (X application) is to use xmkmf if an Imakefile is included in the sources. Type ``xmkmf -a'' to create the Makefiles, check the configuration if necessary and type ``xmake''. ``xmake'' is a wrapper for the GNU make program which defeats the improper SHELL setting typically found in a Makefile generated from an Imakefile. Also see the XFree86/OS2 FAQ for more hints about porting X clients.
16. Acknowledgements
Many thanks to:
( Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/OS2.sgml,v 3.9.2.11 1999/12/20 12:55:51 hohndel Exp $
$XConsortium: OS2.sgml /main/4 1996/03/11 10:46:06 kaleb $
$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.OS2,v 3.13.2.14 1999/12/20 16:37:01 hohndel Exp $ )