Installatie van XFree86/OS2 versie 4.4.0 in het kort

>> Xfree86/OS2 Index<<

Voorbereiding

> Top <

Download het pakket van ftp://ftp.netlabs.org/pub/xfree86/4.4.0/. Het gaat om 50 MB voor alle zip bestanden! Inmiddels zijn er al weer recentere versies in de ftp://ftp.netlabs.org/pub/xfree86/!

Installeer het pakket in een map /usr op HPFS of beter JFS. Dit vanwege de grotere cache. FC/2 is hierbij handig. Installeer de fixes het laatst (dit overschrijft de oudere bestanden).

Zorg ervoor dat u de EMX bibliotheek netjes geïnstalleerd hebt. Deze is al op veel OS/2 systemen (incl. eCS) actief.

Plaats D:/usr/X11R6/bin in het PATH en D:\usr\X11R6\lib in het LIBPATH.

Pas de CONFIG.SYS waar nodig aan. Deze moet het volgende bevatten (pas hostnaam en driveletter aan). Nuttige variaties op settings heb ik met REM gemarkeerd.

REM ###### XFree86 ##########
DEVICE=D:\usr\X11R6\lib\xf86sup.sys /H2048
REM SET TERM=xterm
REM SET TERM=xterm-color
SET TERM=ansi
SET TERMCAP=D:/usr/X11R6/lib/X11/etc/xterm.termcap
SET TERMINFO=D:/usr/share/terminfo
SET ETC=C:\MPTN\ETC
SET TMP=D:\TMP
SET HOSTNAME=hostnaam
SET USE_HOSTS_FIRST=1
REM SET HOSTNAME=localhost
SET HOME=C:\home\sjoerd
SET X11ROOT=D:
SET DISPLAY=hostnaam:0.0
REM SET DISPLAY=local/hostnaam:0
REM SET DISPLAY=:0 
SET XSERVER=D:/usr/X11R6/bin/XFree86.exe
SET MANPATH=D:\usr\X11R6\man;D:\unixos2\man;D:\usr\man
SET X11SHELL=C:/OS2/CMD.EXE
REM SET X11SHELL=D:/unixos2/bin/ksh.exe
SET EMXOPT=-h256

Gebuikt u de korn shell i.p.v. cmd.exe, pas dan D:\usr\X11R6\bin\startx.cmd aan. Onder Unix wordt een schuin streepje gebruikt om een nieuwe shell te starten.

/* xinit os_shell' /c 'clientargs' -- 'serverargs */
xinit os_shell' -c 'clientargs' -- 'serverargs

Reboot om de drivers en settings te activeren.

De X server configureren

> Top <

Als volgende stap moet u de X server configureren. Dat kan automagisch of handmatig.

Het programma D:\usr\X11R6\bin\XFree86.exe maakt van de gedetecteerde PCI hardware een bestand XF86Config.new in uw HOME directory aan. U kunt dit configuratiebestand testen met de opdracht:

D:\usr\X11R6\bin\XFree86.exe -xf86config J:\home\sjoerd/XF86Config.new

De backslash is geen drukfout. Als u een gestippeld scherm ziet met een beweeglijke muisaanwijzer, dan zijn in ieder geval de video en de muis ingesteld.

XFree86.exe zoekt het configuratiebestand standaard in %ETC%\ x\F86Config. Daar zet u het vervolgens neer.

Ook het programma D:\usr\X11R6\bin\xf86config.exe maakt D:\usr\X11R6\bin\XF86Config aan. Het voordeel hiervan is dat je precies ziet wat je doet. Zo kun je prettige resoluties instellen.

Zorg ervoor dat u het handboek van videokaart en vooral van de monitor bij de hand hebt. Het gaat om de chipset en de monitor specificaties ("Designed for Windows" zegt niets, dat zegt iedereen). De uitvoer van het programma wordt in het groen weergegeven.

This program will create a basic XF86Config file, based on menu selections you make.
The XF86Config file usually resides in /usr/X11R6/etc/X11 or /etc/X11. A sample XF86Config file is supplied with XFree86; it is configured for a standard VGA card and monitor with 640x480 resolution. This program will ask for a pathname when it is ready to write the file.
You can either take the sample XF86Config as a base and edit it for your configuration, or let this program produce a base XF86Config file for your configuration and fine-tune it.
Before continuing with this program, make sure you know what video card you have, and preferably also the chipset it uses and the amount of video memory on your video card. SuperProbe may be able to help with this. 
Press enter to continue, or ctrl-c to abort.

Oftewel: maakt u een fout, dan mag u het na Ctrl-c opnieuw proberen. Welkom in Unix.

Eerst wordt het toetsenbord geselecteerd:

Please select one of the following keyboard types that is the better
description of your keyboard. If nothing really matches,
choose 1 (Generic 101-key PC)

  1  Generic 101-key PC
  2  Generic 102-key (Intl) PC
  3  Generic 104-key PC
  4  Generic 105-key (Intl) PC
  5  Dell 101-key PC
  6  Everex STEPnote
  7  Keytronic FlexPro
  8  Microsoft Natural
  9  Northgate OmniKey 101
 10  Winbook Model XP5
 11  Japanese 106-key
 12  PC-98xx Series
 13  Brazilian ABNT2
 14  Acer AirKey V
 15  ACPI Standard
 16  Azona RF2300 wireless Internet Keyboard

Enter a number to choose the keyboard.

Press enter for the next page

1 kan niet misgaan, maar ik koos voor 4.

Daarna de taal van het toetsenbord.

  1  U.S. English
  2  U.S. English w/ ISO9995-3
  3  U.S. English w/ deadkeys
  4  Albanian
  5  Arabic
  6  Armenian
  7  Azerbaijani
  8  Belarusian
  9  Belgian
 10  Bengali
 11  Bosnian
 12  Brazilian
 13  Bulgarian
 14  Burmese
 15  Canadian
 16  French Canadian
 17  Croatian
 18  Croatian (US)

Enter a number to choose the country.
Press enter for the next page

Hier koos ik voor 3 . In Nederland worden meestal US toetsenborden gebruikt.

Please enter a variant name for 'us_intl' layout. Or just press enter for default variant

De standaard US International layout voldoet. Enter.

Please answer the following question with either 'y' or 'n'.
Do you want to select additional XKB options (group switcher, group indicator, etc.)?

Nee. Enter.

Hier komen we bij de monitor settings. Als het goed is bewaarde u de specificaties ervan.

Now we want to set the specifications of the monitor. The two critical parameters are the vertical refresh rate, which is the rate at which the the whole screen is refreshed, and most importantly the horizontal sync rate, which is the rate at which scanlines are displayed.

The valid range for horizontal sync and vertical sync should be documented in the manual of your monitor. If in doubt, check the monitor database /usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there.
Press enter to continue, or ctrl-c to abort.

Enter om door te gaan.

You must indicate the horizontal sync range of your monitor. You can either select one of the predefined ranges below that correspond to industry- standard monitor types, or give a specific range.

It is VERY IMPORTANT that you do not specify a monitor type with a horizontal sync range that is beyond the capabilities of your monitor. If in doubt, choose a conservative setting.

    hsync in kHz; monitor type with characteristic modes
 1  31.5; Standard VGA, 640x480 @ 60 Hz
 2  31.5 - 35.1; Super VGA, 800x600 @ 56 Hz
 3  31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)
 4  31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz
 5  31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz
 6  31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz
 7  31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz
 8  31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz
 9  31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz
10  31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz
11  Enter your own horizontal sync range

Enter your choice (1-11):

De monitoren zijn in categorieën onderverdeeld. Ik stel het hier met de hand in. Het eerder genoemde bestand d:/usr/X11R6/lib/X11/doc/Monitors

Enter your choice (1-11): 11

Please enter the horizontal sync range of your monitor, in the format used
in the table of monitor types above. You can either specify one or more
continuous ranges (e.g. 15-25, 30-50), or one or more fixed sync frequencies.

Horizontal sync range: 30-107

You must indicate the vertical sync range of your monitor. You can either
select one of the predefined ranges below that correspond to industry-
standard monitor types, or give a specific range. For interlaced modes,
the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).

 1  50-70
 2  50-90
 3  50-100
 4  40-150
 5  Enter your own vertical sync range

Enter your choice: 5

Vul in (voor een 21" Triniton Compaq P110):

Vertical sync range: 48-160

You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names.

The strings are free-form, spaces are allowed.
Enter an identifier for your monitor definition: P110

Nu gaat het om de videokaart.

Now we must configure video card specific settings. At this point you can choose to make a selection out of a database of video card definitions.
Because there can be variation in Ramdacs and clock generators even between cards of the same model, it is not sensible to blindly copy the settings (e.g. a Device section). For this reason, after you make a
selection, you will still be asked about the components of the card, with the settings from the chosen database entry presented as a strong hint.

The database entries include information about the chipset, what driver to run, the Ramdac and ClockChip, and comments that will be included in the Device section. However, a lot of definitions only hint about what driver to run (based on the chipset the card uses) and are untested.

If you can't find your card in the database, there's nothing to worry about.
You should only choose a database entry that is exactly the same model as your card; choosing one that looks similar is just a bad idea (e.g. a GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of hardware as can be).

Do you want to look at the card database? y

Altijd doen!

  0  * Generic VESA compatible                         -
  1  * Generic VGA compatible                          -
  2  * Unsupported VGA compatible                      -
  3  ** 3DLabs, TI (generic)               [glint]     -
  4  ** 3Dfx (generic)                     [tdfx]      -
  5  ** ATI (generic)                      [ati]       -
  6  ** ATI Radeon (generic)               [radeon]    -
  7  ** ATI Rage 128 based (generic)       [r128]      -
  8  ** Alliance Pro Motion (generic)      [apm]       -
  9  ** Ark Logic (generic)                [ark]       -
 10  ** Chips and Technologies (generic)   [chips]     -
 11  ** Cirrus Logic (generic)             [cirrus]    -
 12  ** Cyrix MediaGX (generic)            [cyrix]     -
 13  ** DEC TGA (generic)                  [tga]       -
 14  ** Intel i740 (generic)               [i740]      -
 15  ** Intel i810 (generic)               [i810]      -
 16  ** Linux framebuffer (generic)        [fbdev]     -
 17  ** Matrox Graphics (generic)          [mga]       -

Enter a number to choose the corresponding card definition.
Press enter for the next page, q to continue configuration.

Mijn Matrox kaart staat al op de eerste pagina, anders toetst u Enter totdat uw videokaart vind.

17

Your selected card definition:

Identifier: ** Matrox Graphics (generic)          [mga]
Chipset:    -
Driver:     mga

Press enter to continue, or ctrl-c to abort.

Now you must give information about your video card. This will be used for
the "Device" section of your video card in XF86Config.

It is probably a good idea to use the same approximate amount as that detected
by the server you intend to use. If you encounter problems that are due to the
used server not supporting the amount memory you have, specify the maximum
amount supported by the server.

How much video memory do you have on your video card:

 1  256K
 2  512K
 3  1024K
 4  2048K
 5  4096K
 6  8192K
 7  16384K
 8  32768K
 9  65536K
10  131072K
11  262144K
12  Other

Enter your choice: 8

Te weinig opgeven mag, teveel videogeheugen opgeven is vragen om problemen.

You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names (possibly from a card definition).
Your card definition is ** Matrox Graphics (generic)          [mga].
The strings are free-form, spaces are allowed.
Enter an identifier for your video card definition: G400

In de naamgeving (hier G400) bent u vrij.

For each depth, a list of modes (resolutions) is defined. The default resolution that the server will start-up with will be the first listed mode that can be supported by the monitor and card.
Currently it is set to:

"1280x1024" "1024x768" "800x600" "640x480" for 8-bit
"1280x1024" "1024x768" "800x600" "640x480" for 16-bit
"1280x1024" "1024x768" "800x600" "640x480" for 24-bit

Modes that cannot be supported due to monitor or clock constraints will be automatically skipped by the server.

 1  Change the modes for 8-bit (256 colors)
 2  Change the modes for 16-bit (32K/64K colors)
 3  Change the modes for 24-bit (24-bit color)
 4  The modes are OK, continue.

Enter your choice: 4

Op zich ziet dit voorstel er goed uit. Het andere configuratieprogramma (xf86cfg.exe) geeft doorgaans zulke hoge resoluties op dat ik een loep nodig heb. Met Ctrl+ en Ctrl- kunt u op het X scherm van resolutie wisselen.

Kiest u voor 1 :
Enter your choice: 1

Select modes from the following list:

 1  "640x400"
 2  "640x480"
 3  "800x600"
 4  "1024x768"
 5  "1280x1024"
 6  "320x200"
 7  "320x240"
 8  "400x300"
 9  "1152x864"
 a  "1600x1200"
 b  "1800x1400"
 c  "512x384"
 d  "1400x1050"

Please type the digits corresponding to the modes that you want to select.
For example, 432 selects "1024x768" "800x600" "640x480", with a
default mode of 1024x768.

Which modes?

Which modes? 43

Deze monitor kan zeer hoge resoluties aan, maar omdat ik via het netwerk werk en een hekel heb aan kleine fonts kies ik voor "1024x768" "800x600" .

You can have a virtual screen (desktop), which is screen area that is larger
than the physical screen and which is panned by moving the mouse to the edge
of the screen. If you don't want virtual desktop at a certain resolution,
you cannot have modes listed that are larger. Each color depth can have a
differently-sized virtual screen

Please answer the following question with either 'y' or 'n'.
Do you want a virtual screen that is larger than the physical screen?n

Persoonlijk vindt ik deze verschuivende schermen maar lastig. Geef mij het overzicht van XPager maar.

For each depth, a list of modes (resolutions) is defined. The default
resolution that the server will start-up with will be the first listed
mode that can be supported by the monitor and card.
Currently it is set to:

"1024x768" "800x600" for 8-bit
"1024x768" "800x600" for 16-bit
"1024x768" "800x600" for 24-bit

Modes that cannot be supported due to monitor or clock constraints will
be automatically skipped by the server.

 1  Change the modes for 8-bit (256 colors)
 2  Change the modes for 16-bit (32K/64K colors)
 3  Change the modes for 24-bit (24-bit color)
 4  The modes are OK, continue.

Enter your choice: 

4

Please specify which color depth you want to use by default:

  1  1 bit (monochrome)
  2  4 bits (16 colors)
  3  8 bits (256 colors)
  4  16 bits (65536 colors)
  5  24 bits (16 million colors)

Enter a number to choose the default depth.

Ik koos nu wel voor 4.

I am going to write the XF86Config file now. Make sure you don't accidently overwrite a previously configured one.

Please answer the following question with either 'y' or 'n'.
Shall I write it to the default location, drive:/XFree86/lib/X11/XConfig?

Doe dit niet: onder Xfree86 v.4 bestaat deze map niet!

Bedenk dat als u Xfree in d:\usr\X11R6 installeerde (de default, u moet dit zelfs doen) de "oude" versie 3 map /XFree86/lib/X11/ niet bestaat. En dan krijgt u een foutmelding; die u waarschijnlijk niet eens ziet als u u het programma vanuit de WPS start omdat het programma met "close Prgram on exit" al afsluit voordat u de foutmelding gelezen hebt...

I am going to write the XF86Config file now. Make sure you don't accidently overwrite a previously configured one.

Please answer the following question with either 'y' or 'n'.
Shall I write it to the default location, drive:/XFree86/lib/X11/XConfig? n

Do you want it written to the current directory as 'XF86Config'? n

Please give a filename to write to: d:/XF86config

Ik gaf d:/XF86config op.

Please give a filename to write to: d:/XF86config

File has been written. Take a look at it before running 'startx'. Note that
the XF86Config file must be in one of the directories searched by the server
(e.g. /etc/X11) in order to be used. Within the server press
ctrl, alt and '+' simultaneously to cycle video resolutions. Pressing ctrl,
alt and backspace simultaneously immediately exits the server (use if
the monitor doesn't sync for a particular mode).

For further configuration, refer to the XF86Config(5) manual page.

Kopieer D:\XF86Config naar \usr\X11R6\lib\X11\XF86Config.

Het bestand heeft nog een aanpassing nodig, Verander in de sectie InputDevice "OSMOUSE" in "OS2MOUSE"! Anders zal de server crashen. De muis heeft nu dezelfde eigenschappen als de PM muis.

Section "InputDevice"

# Identifier and driver

    Identifier  "Mouse1"
    Driver      "mouse"
    Option "Protocol"    "OS2MOUSE"

Met startx start u de server op. Met Ctr-Alt-Backspace sluit u hem af. Via Ctrl-Esc komt in OS/2.

Een monitor en videokaart die goed is ingesteld levert een ruisachtig gespikkeld TV beeld op. Ideaal zit u daar ook het twm menu als u op de rechter muisknop klikt.



Fouten in de X server opsporen

> Top <

Op het scherm zijn de foutmeldingen meestal niet te volgen: die voert u uit naar een error.log.

d:\usr\X11R6\bin\startx.cmd 2>> d:\xerror.log

Dit gaf een crash met het volgende log. De zinnen waar het om ging (waar de X server blijken de volgende zin op crashte) zijn hier vet aangegeven.

XFree86 Version 4.4.0
Release Date: 29 February 2004
X Protocol Version 11, Revision 0, Release 6.6
Build Operating System: OS/2 IBM
Build Date: 01 March 2004
Changelog Date: 29 February 2004
        Before reporting problems, check http://www.XFree86.Org/
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/usr/adm/XFree86.0.log", Time: Tue Sep  7 22:28:22 2004
(==) Using config file: "/etc/X11/XF86Config"
(EE) MGA: Failed to load module "mga_hal" (module does not exist, 0)
Could not init font path element D:/usr/X11R6/lib/X11/fonts/TTF/, removing from list!
Could not init font path element D:/usr/X11R6/lib/X11/fonts/CID/, removing from list!
D:/unixos2/bin/ksh.exe: /c: Permission denied
waiting for X server to shut down 
Could not init font path element D:/usr/X11R6/lib/X11/fonts/TTF/, removing from list!
Could not init font path element D:/usr/X11R6/lib/X11/fonts/CID/, removing from list!

Hier werd de van het UnixOS/2 Project gebruikte korn shell gebruikt (SET X11SHELL=D:/unixos2/bin/ksh.exe), zonder dat ik startcmd had aangepast (http://www.os2world.com/os2files/xfree86/installation_v4.html):

xinit = x11root'\usr\X11R6\bin\xinit'
/* xinit os_shell' /c 'clientargs' -- 'serverargs 
de /c geldt voor CMD.exe. Gebruik -c voor de korn shell */
xinit os_shell' -c 'clientargs' -- 'serverargs

De eerder vermelde foutmeldingen over niet geladen font bibliotheken en de mga_hal versneller driver hielden de X server niet op. Ze gingen zelfs door tijdens en vlak na de "gentle" shutdown (na "waiting for X server to shut down") blijkens de later nog optredende foutmeldingen over niet gevonden fontpaden. Zoek de oorzaak van de problemen dus (net als met een CONFIG.SYS fout) in de regels voorafgaand op de vastloper. Of die nu "shutdown" of "fatal error" heet. Oftewel: lees een logbestand altijd van achteren naar voren.

Hier een voorbeeld van een logbestand van een fataal crashende X server. De crash is fataal omdat het core devices betreft (drivers). Na die foutmelding houdt het alles op.

XFree86 Version 4.4.0
Release Date: 29 February 2004
X Protocol Version 11, Revision 0, Release 6.6
Build Operating System: OS/2 IBM
Build Date: 01 March 2004
Changelog Date: 29 February 2004
        Before reporting problems, check http://www.XFree86.Org/
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/usr/adm/XFree86.0.log", Time: Thu Sep  9 22:56:58 2004
(==) Using config file: "/usr/X11R6/lib/X11/XF86Config"
(EE) MGA: Failed to load module "mga_hal" (module does not exist, 0)
(EE) Mouse1: Unknown protocol "OSMOUSE"
(EE) PreInit failed for input device "Mouse1"
No core pointer
Fatal server error:
failed to initialize core devices

De zinnen waar het om gaat zijn opnieuw vet aangeven. Het "No core pointer" heeft betrekking op de afwezigheid van het pointing device oftewel de muisaanwijzer. De regels ervoor geven aan hoe dat komt. Hier werd het juiste muisprotocol niet gebruikt:

Section "InputDevice"

# Identifier and driver

    Identifier  "Mouse1"
    Driver      "mouse"
    Option "Protocol"    "OSMOUSE"

De laatste moet echt "OS2MOUSE" zijn!



> Top <