The
11 - Files
Last update: Thursday, 4 Jan 2001 5:15:06pm |
Installation
The binary distribution consists of a number of ZIP files containing programs,
servers, fonts, libraries, include files, man documentation pages und configuration
files. The complete distribution requires 40-55MB space on your harddisk.
1. Choosing the software
The XFree86/OS2 distribution only includes the "core" and no applications
and consists of the following packages:
Required packages
-
Xbase - a special driver and the Superprobe program
CAUTION: Due to a problem with OS/2 Warp
Server for e-Business (WSeB) you must use the latest version of
the XF86SUP.SYS driver from this archive!
-
Xdoc - READMEs and man documentation pages specific for XFree86
-
Xbin - all executable X client applications and shared libraries
-
Xfnts - assorted fonts incuding 75dpi fonts
-
emxrt - EMX runtime library (only if you don't have emx installed on your
system)
You will need at least one of the following, video hardware specific packages:
-
X8514 - X server for IBM 8514/A and compatible
-
XAGX - X server for AGX
-
XGlnt - X server for Permedia / GLINT
-
XI128 - X server for #9 Imagination 128
-
XMa32 - X server for ATI Mach32
-
XMa64 - X server for ATI Mach64
-
XMa8 - X server for ATI Mach8
-
XMono - the monochrome X server
-
XP9K - X server for P9000
-
XS3 - X server for S3 (ohne S3 ViRGE)
-
XS3V - X server for S3 ViRGE
-
XSVGA - the 8bit pseudocolor X server for Super VGA adapters, also includes
the X server for Matrox chipsets with full hardware acceleration
-
XVG16 - the 4bit pseudocolor X server for VGA & SVGA adapters
-
XW32 - X server for Tseng ET4000W32
Optional packages:
-
Xman - formatted man documentation pages for the X11 interface and the
included X clients
-
Xf100 - 100dpi fonts
-
Xfscl - Speedo and Type1 fonts
-
Xfnon - Japanese, Chinese and other fonts
-
Xfcyr - Cyrillic fonts
-
Xfsvr - font server and man pages
-
Xprog - X11 header files and tools for developers, needed for compiling
X applications
-
Xpex - PEX fonts and libraries for PEX applications
In order to save space on your disk and reduce net bandwidth, choose the
software to obtain carefully. Each X server is an archive of about 1.2MB
and occupies 3.0MB on the disk. You won't normally need more than the single
Xserver tailored to your video card.
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.
2. Checking the compatibility of the video hardware
In the following we assume that you install XFree86/OS2 on drive Y: in
the directory Y:\XFree8. Please adapt the commands and file entries
according to your real choice. Placing the directory XFree86 in the root
of the drive is not necessary per se. However, several software packages
have this location hardcoded (i.e. it can't be changed) and won't run otherwise.
Let's also assume that the XFree86/OS2 distribution's archives reside
in a directory X:\xtemp.
CAUTION: The drive you install XFree86/OS2
must
support long filenames!
-
Open an OS/2 Commandline, change to the root of drive Y: and unzip (i.e.
decompress) the archive Xbase into the root of drive Y:. Enter the following
commands to accomplish this task:
[C:\] Y:
[Y:\] cd [Y:\] unzip X:\xtemp\Xbase.zip
The unpacking process automatically created some directories.
-
Add the following line to your CONFIG.SYS file:
DEVICE=Y:\XFree86\lib\xf86sup.sys
-
If you are sure that XFree86/OS2 supports your video adapter, adding (or
changing) the required environment variables to your CONFIG.SYS
file will save you from one additional reboot. (refer to section Changing
CONFIG.SYS)
-
Shutdown OS/2 and reboot to load the XF86SUP.SYS driver. XFree86/OS2
will not work without it.
-
Open an OS/2 fullscreen session and enter the following command:
[C:\] Y:\XFree86\bin\SuperProbe
-
This command will (normally) report important information about your video
configuration, i.e. the type of chipset, the available video memory and
the RAMDAC circuit available. Please write this down or redirect the output
of Superprobe to a file by entering:
[C:\] Y:\XFree86\bin\SuperProbe >filename
You can then open this textfile later to recall the information.
-
Superprobe can identify many more video cards than XFree86/OS2 supports.
Though in some cases, Superprobe detects a wrong card and often claims
that it's a MCGA card which is some kind of a fallback. Generally, if it
is approximately right, there are only few reasons for doubts; if it is
totally off (e.g. saying it has seen a ET4000, and you have a Cirrus card),
you should report a misdetection as a bug to the maintainers.
-
In all cases, please take some time to carefully check the accompanying
README.*
file in the Y:\XFree86\lib\X11\doc directory for special precautions,
options, or features of the card.
-
If your card is supported, please obtain the rest of the software.
3. Unpacking the archives
XFree86/OS2 assumes a certain directory hierarchy starting from Y:\XFree86.
This can be changed, but is strictly discouraged. As already mentioned
above, the directory XFree86 is best placed in the root of the
chosen drive, since some programs will refuse to work due to hardcoded
paths.
-
Ensure that drive Y: supports long filenames and has sufficient free space.
-
Open an OS/2 commandline and unpack all archives located in X:\xtemp
by issueing the commands:
[C:\] Y:
[Y:\] cd [Y:\] unzip X:\xtemp\*.zip
-
During the unpacking process UNZIP may report that some files already exist,
e.g. the X server archives contain README files that are also
included in Xdoc. These files are identical. Don't worry and let UNZIP
replace the files. By entering A (in uppercase!) all subsequent
files will be overwritten if they already exist without asking again.
-
No special sequence is required for unpacking the archives.
4. Changing CONFIG.SYS
XFree86/OS2 requires a number of settings in CONFIG.SYS to work
correctly. Please add the following changes to your CONFIG.SYS
and in particular take care of the writing of paths with slash "/" and
backslash "\". You can transfer the settings with cut & paste and then
adapt them to your system.
TERM - Set the preferred terminal type for the xterm or editor
to be used. Some programs need this setting. I have my type set to
SET TERM=ansi
\XFree86\lib\X11\etc\termcap.x11 contains a suitable which can
be used in place of termcap files that come with EMX, EMACS, or other ported
software.
TERMCAP - This variable must contain the path to the termcap file
which is used for the above TERM setting. If you want to use termcap.x11
that comes with XFree86/OS2 the correct setting is
SET TERMCAP=Y:/XFree86/lib/X11/etc/termcap.x11
Note the usage of "/" as path seperator.
ETC - Normally, this variable already points to the TCP/IP
ETC
directory. For Warp 4 e.g.
SET ETC=C:\MPTN\ETC
may be set. This setting is ok.
TMP - Set this to a TMP directory for temporary files which should
reside on a HPFS formatted drive. (Instead of HPFS you can also use other
file systems that support real long names like JFS, ext2fs or NFS.) Often
this variable already has been set by other software to something like
SET TMP=C:\IBMCPP\TMP
In most cases, you can leave it this way. However, some packages require
that the TMP directory is called TMP and resides in the root of
the drive that XFree86/OS2 has been installed to.
HOSTNAME - Set this to your hostname. Normally, this is already
set by the TCP/IP installation program, e.g. to
SET HOSTNAME=myhost
With the IAK or TCP/IP without a networking card, you should activate the
loopback interface (refer to Network configuration)
and set this to the following:
SET HOSTNAME=localhost
USER, LOGNAME - Set both to a user name or your network
login-ID. Some programs like e-mail or IRC clients require the setting.
HOME - This entry determines the home directory for your user
ID in which programs place their user specific data on UNIX. If your user
ID is e.g. myuserid a good choice would be
SET HOME=Y:\home\myuserid
CAUTION: The directory myuserid must
exist!
X11ROOT - This is one of the most important settings. It determines
the root of the XFree86 directory tree. Normally, it is set to the drive
letter of the partition where the \XFree86 tree begins. In this
case where we assume Y:\XFree86 the correct setting is
SET X11ROOT=Y:
If you want to try to place the XFree86 tree into a subdirectory, e.g.
Y:\OS2\X11\XFree86,
the setting would have to be changed to say
SET X11ROOT=Y:/OS2/X11
This is strongly discouraged since some programs may not accept this.
Note the use of "/" as path separator.
DISPLAY - This variable chooses the display to be used for displaying
X clients. Normally, it is set to the same value as HOSTNAME with
a :0.0 (zeroes!) appended, like in
SET DISPLAY=myhost:0.0
Read the X11 man pages for the exact meaning and more options.
XSERVER - This variable must point to the program name of the
X server to be used, with the setting being a complete path. If you are
using the SVGA server the correct entry would be:
SET XSERVER=Y:\XFree86\bin\XF86_SVGA.EXE
PATH - Add the directory the X11 programs reside in to your path.
This is normally the \XFree86\bin directory, in this case Y:\XFree86\bin.
If you didn't have emx installed on your machine, you also have to add
Y:\emx\bin.
LIBPATH - The XFree86/OS2 DLL directory is \XFree86\lib
and should not be changed, since it contains several subdirectories
that are referred to by using %X11ROOT%\XFree86\lib as a base.
In our example this would be Y:\XFree86\lib. If you didn't have emx
installed, you will need to add Y:\emx\dll, too.
MANPATH - If you want to use xman or man to view the man pages,
this variable has to point to the directories with man pages. Subdirectories
will be taken into account automatically. Like with the PATH variable
more than one entry is possible. For instance:
SET MANPATH=Y:\XFree86\man;Y:\man;Y:\emx\man
CAUTION: xman or man alone might not be sufficient
to view the different UNIX man pages. You should also install GNU groff
(refer to Setting up a UNIX-like environment).
OS2_SHELL, COMSPEC, SHELL, X11SHELL - Some XFree86 scripts
rely on a shell that is compatible to the standard OS/2 commandprocessor.
CMD.EXE has some essential properties that allows it to work correctly
in an xterm. Third party shells may directly access keyboard and video
services and not accept input/output via stdin/stdout. The above variables
allow reconfiguration of your system in order to run any favorite shell
outside XFree86 and still have XFree86 use CMD.EXE by setting X11SHELL=CMD.EXE.
On the other hand it is often desireable to use Unix shell scripts
under XFree86/OS2. This is often mandatory for e.g. compiling software.
However, CMD.EXE is not capable of executing these scripts. For these tasks
the port of the Public Domain Korn Shell or pdksh is strongly recommened,
as it is also capable of recognizing REXX scripts and handing them on to
CMD.EXE.
A suitable setting would be
SET X11SHELL=Y:/bin/ksh.exe
For more information about this topic please refer to the Setting
up a UNIX-like environment guide at this site.
The recent version of XFree86/OS2 has a REXX script named checkinstall.cmd
which you can (and should) use to check whether you have entered most things
correctly. This is not bullet-proof, but prevents the most obvious setup
problems. Also, the X server itself will do some checking and will refuse
to start if something is wrong.
5. 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). You may
want to check OS/2 internet publications like Focus on OS/2, OS/2 eZine or the VOICE Newsletter.
In any case, you should configure and activate the so-called loopback
interface that can be used for contacing the same machine via network internally.
Dependent on the version of OS/2 this can be done differently. Otherwise
you will have to establish a network/internet connection and have to fight
problems with dynamic IPs.
-
Create a hosts file in the directory the ETC variable
points to. Add the line
127.0.0.1 localhost
to the file. This line must end with RETURN/ENTER.
-
If you don't have a correctly installed networking card, add
SET HOSTNAME=localhost
to CONFIG.SYS. Take care of the connection to the DISPLAY
variable.
-
Add the following line to your CONFIG.SYS:
SET USE_HOSTS_FIRST=1
This way the file hosts is searched first upon resolving domain
names instead of immediately connecting to a domain name server.
-
Activate the interface. If you use Warp 3 and the IAK, add the
following line to the file \tcpip\bin\tcpstart.cmd :
ifconfig lo 127.0.0.1 up
On Warp 3 Connect and Warp 4 machines the file is called \MPTN\BIN\MPTSTART.CMD.
If such a file does not exist, create one and add the line
CALL=C:\OS2\CMD.EXE /Q /C C:\tcpip\bin\tcp-start.cmd >NUL:
(or MPTSTART.CMD, respectively) to your CONFIG.SYS.
Using Warp 4 you can also activate the interface by opening the TCP/IP-Configuration
(LAN) object, selecting the notebook page Network, selecting
loopback interface for configuration and ticking the configuration
option Activate interface. The entry field IP Address must
contain the 127.0.0.1 address.
-
After a reboot you can check the new configuration. Open an OS/2 commandline
and enter the following command:
ping localhost
If all is correct the values for "time" should be 0 seconds each. Terminate
the program after some time by pressing CTRL-C. A packet loss of 0% should
be displayed.
6. Configuring X for your hardware
Now XFree86/OS2 has to be adapted for your hardware, i.e. the video card,
the monitor and the keyboard. For this the output of Superprobe (video
chip, amount of video memory, RAMDAC), the horizontal and vertical refreshrates
of your monitor (from your monitor's manual) and data about your keyboard
(number of keys, country version) are required.
The configuration is done with the help of the xf86config program that
is started via the OS/2 commandline. This tool generates the configuration
file Y:\XFree86\lib\X11\XF86Config.
In the following I am demonstrating the configuration via xf86config
of my own hardware. Any input has to be confirmed by pressing ENTER.
-
The first page provides some general information and can be confirmed with
ENTER. The program can always be terminated by pressing CTRL-C.
-
Now xf86config asks if you want to use the new method for managing keyboard
layouts with XKB. As there is no reason not to do so, "y" is a good answer.
-
Then comes the announcement that next you can choose a variety of pre-defined
layouts from a menu. If none suites your needs the program will try to
create a new one after asking additional questions. Since the result has
not been tested you may have to apply some changes yourself. Press
ENTER.
-
Since I have a Siemens keyboard with German layout and 105 keys,
none of the 11 offered choices is the correct one and I select "12 - None
of the above". One ought to substract the three Windows keys from the number
of 105, so mine becomes a keyboard with 102 keys.
-
"2 - Standard 102-key keyboard" is the way to go.
-
A country list is announced next. Press ENTER.
-
Number 9, "9 - Germany" is correct. In case your country isn't listed first
you can scroll through the whole list by pressing ENTER.
-
Now things are getting technical. The choice of the monitor features is
announced. Note that wrong values can result in damaging your monitor.
The file \XFree86\lib\X11\doc\Monitors contains some definitions
that are known to be working. WARNING: Sometimes there are major differences between monitors of the same model. Confirm
with ENTER.
-
Now a list with possible ranges for horizontal refresh rates is displayed.
If you are in doubt about your monitor's capabilities it is safer to select
lower rates. My SONY Multiscan 15sf has a range of 31.5 - 64 kHz.
Since I'm the cautious type I don't select "8 - 31.5 - 64.3; Monitor that
can do 1280x1024 @ 60Hz", but "11 - Enter your own horizontal sync rate"
and I enter the according values. CAUTION:
Always use dots here, no comma!
-
After that xf86config asks about the range for vertical refresh rates.
That of my monitor is 50-100Hz, so I can select "3 50-100".
-
Then I enter "SONY Multiscan 15sf" as Identifier, "SONY" as
Vendor name and "Multiscan 15sf" as Model name.
-
The tool contains a large database of video cards. However, there can be
differences within a model's series, so sometimes the values presented have
to be used with care. You should only select a model that completely matches
your card's name. Answer "y" to the question if you want to use the database.
-
Now you can step through the database by pressing ENTER. I select "416
Matrox Millennium G400 16MB".
-
The program displays the card definition including the chipset and also
the preferred X server, XF86_SVGA in this case. (The SVGA server includes
full hardware acceleration for Matrox cards.) Note the important recommendation:
"Do NOT probe clocks or use any Clocks line." Confirm by pressing ENTER.
-
Next several X servers are offered to choose from. XF86_Mono (monochrome)
and XF86_VG16 (VGA) should work with pretty much any card, XF86_SVGA (Super
VGA, acceleration for some chips) with all SVGA cards. The fourth choice
lists accelerated servers. I choose the fifth option that always resembles
the server that is recommened in the card definition.
-
When it's time to enter the amount of video memory I select "6 Other",
because the G400 has 16MB of memory. The number to enter is "16384", as
the program asks for a value in kilobytes.
-
In the following you can enter identifiers for the vendor and model of
your video card as you did for your monitor.
-
Then you can choose a clockchip. Remember the warning from the card definition?
I choose none by pressing ENTER.
-
The program now offers to run X -probeonly to retrieve information
about the clock chip. Because of unexact measurements and programmable
clock chips this is neither necessary nor desirable for today's video cards. Since the card definition
also said not to do it, enter "n".
-
On the next page the possible and desired display resolutions for the different
color depths can be configured. The resolution displayed first is valid
upon start of the X server.
My SONY 15sf has a 15" screen, so 640x840 is not a good choice. In
addition many programs need a lot of room on the display. So 800x600 is
not the way to go either, and a sequence of e.g. 1024x768, 800x600, 640x480
sounds good. This is suitable for normal work at 16-bit color depth or
higher. For some games, however, a resolution of 640x480 at 8-bit color
depth is the optimum.
After selecting the color depth you can choose the resolutions by entering
certain values, e.g. "432" for 1024x768, 800x600, 640x480. Later you can
step through these resolutions while the X server is running by pressing
CTRL-ALT-+.
After you have entered the combination the virtual screen can be configured.
Once it is activated, you'll have a screen that is larger than that of
your monitor. The visible area can be scrolled with the mouse.
-
At last there is a security check and you have to decide whether you want
the configuration file written or not. Select "y". If you select "n", you
can specify an alternative path for the configuration file so the current
won't be overwritten.
If you have a Matrox video card it might occur that the X server only can
be started in 320x200 mode. If this happens, open the new XF86Config
file, go to the section "Server-Flags"
and add a line PCIProbe2.
That should do the trick.
7. Starting the X server
Now you can start XFree86/OS2 from a commandline via:
startx
If you prefer another color depth than the default of 8-bit, enter the
following for e.g. 16-bit:
startx -- -bpp 16
I recommened to create a program object for XFree86/OS2 on your desktop.
Enter the following for Path and filename:
Y:\XFree86\bin\startx.cmd
And for Parameters:
-- -bpp <color_depth> 2>Y:\xerror.log
with <color depth> being the bit value forthe preferred color
depth. The parameter 2>Y:\xerror.log redirects the error output
of the X server to the file Y:\xerror.log, so you can get some
hints on problems, just in case.
8. Changing the Window Manager
By default XFree86/OS2 uses twm or IceWM as Window
Manager. Since especially twm offers only very basic features, you'll
probably soon consider using another Window Manager. To activate your new
alternative, open the file XINITRC.CMD that normally resides in
Y:\XFree86\lib\X11\xinit in an editor and replace the line 'twm'
or 'icewm' by 'your_window_manager_executable', e.g.
'enlightenment'. The single quotes are not optional!
© 2000 christian.hennecke@ruhr-uni-bochum.de
Parts of this text have been taken from the README.OS2 file
contained in the XFree86/OS2 distribution, © Holger Veit.