1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
|
<!doctype linuxdoc system>
<article>
<!-- Title information -->
<title>Information for Solaris for x86 Users
<author>David Holland
<date>13 December 1994
<!-- Table of contents -->
<toc>
<!-- Begin the document -->
<!--Contents
--------
1) What is XFree86 3.1.1
2) Solaris versions on which XFree86 has been tested.
3) The VT-switching sub-system in Solaris x86
4) Various notes for building XFree86 on Solaris x86
5) Known bugs, and work arounds.
-->
<sect>What is XFree86 3.1.1<p>
XFree86 3.1.1 is a port of X11R6 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 code, as well as
binary distributions for many architectures.
<p>
The sources for XFree86 are available by anonymous ftp from:
<quote>
<url name="ftp.XFree86.org:/pub/XFree86/current"
url="ftp://ftp.XFree86.org/pub/XFree86/current">
</quote>
Solaris binaries for XFree86 are available for anonymous ftp from:
<quote>
<url name="ftp.XFree86.org:/pub/XFree86/current/binaries/Solaris"
url="ftp://ftp.XFree86.org/pub/XFree86/current/binaries/Solaris"><p>
<url name="abode.ccd.bnl.gov:/pub/XFree86"
url="ftp://abode.ccd.bnl.gov/pub/XFree86">
</quote>
Many thanks to <bf/Jerry Whelan/ for making the space available for these
binaries.
<sect> Solaris for x86, versions on which XFree86 3.1.1 has been tested<p>
XFree86 3.1.1 has been actively tested on:
<itemize>
<item>Solaris 2.1 for x86
<item>Solaris 2.4 EA1 for x86
<item>Solaris 2.4 for x86 FCS
</itemize>
And is expected to run under:
<itemize>
<item>Solaris 2.4 EA2 for x86
</itemize>
<sect>The VT-switching sub-system in Solaris x86<p>
The virtual terminal sub-system is a undocumented, and unsupported
feature of Solaris x86. Therefore if you use Virtual Terminals, you
do so at <bf>YOUR OWN RISK</bf>.<p>
The virtual terminals of Solaris work basically the same way as
most other Intel based SVR4 VT sub-systems. However, there are a
number of limitations documented below.<p>
First, if you are running a Solaris 2.4 x86 system, and you want VT's,
you will have to create the necessary devices first, so become root.<p>
First verify the chanmux device driver's major number is 100:<p>
<tscreen><verb>
# grep -i chanmux /etc/name_to_major
chanmux 100
#
</verb></tscreen>
If the number after 'chanmux' is anything but 100, I would suggest
you immediately abort your attempt to create virtual terminals, and
learn to live without them.<p>
However, if it is 100, then as root type the following commands to
create the maximum allowable number of virtual terminals.<p>
<tscreen><verb>
# cd /dev
# mknod vt01 c 100 1
# mknod vt02 c 100 2
# mknod vt03 c 100 3
# mknod vt04 c 100 4
# mknod vt05 c 100 5
# mknod vt06 c 100 6
# mknod vt07 c 100 7
</verb></tscreen>
There is no need for a reconfiguration boot.<p>
Secondly, for both 2.1, and 2.4 x86 systems, add a few lines to the
<tt/inittab/ to enable logins on them.<p>
(<bf>Note</bf>, do <bf>NOT</bf> make a mistake here, you could
lock yourself out of the system)<p>
<verb>
--------------------->Snip Snip<-----------------------------------------------
v1:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` VT01 login: " -T AT386 -d /dev/vt01 -l console
v2:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` VT02 login: " -T AT386 -d /dev/vt02 -l console
v3:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` VT03 login: " -T AT386 -d /dev/vt03 -l console
v4:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` VT04 login: " -T AT386 -d /dev/vt04 -l console
---------------------->End Here<-----------------------------------------------
</verb>
These four lines enable four VT's on Alt-SysReq-F1 through
Alt-SysReq-F4.<p>
Then execute the command '<tt>init q</tt>' to immediately
enable the virtual
terminals.<p>
The keys used for VT switching are as follows:<p>
<quote>
<tt>Alt-SysReq-F1</tt> through <tt>Alt-SysReq-F7</tt>
enable VT screens 1-7 respectively
(if the VT is active).<p>
<tt>Alt-SysReq-n</tt> enables the next active VT screen.<p>
<tt>Alt-SysReq-p</tt> enables the previous active VT screen.<p>
<tt>Alt-SysReq-h</tt> returns to the console.<p>
</quote>
If you are using virtual terminals, you must leave at least one free
for use by the Xserver.<p>
Limitations of the virtual terminal sub-system under Solaris x86:<p>
There are only a total of 8 available VT's (7 normal VT's + 1 console)
not the usual 15. If you have all 8 allocated, and you attempt to
allocate a additional VT you will panic the system. (This bug is
worked around in the Solaris XFree86 Xserver.)<p>
From a programming stand point, they work pretty much as documented in
the AT&T Unix System V/386 Release 4 Integrated Software
Development
Guide, however a number of <tt>ioctl()</tt> calls are broken.<p>
<sect>Notes for building XFree86 on Solaris x86<p>
<enum>
<item> The majority of all modifications you will need to make are now in
<tt>~xc/config/cf/xf86site.def</tt>,
except one. You will need to set OSName,
and OSMinorVersion correctly in <tt>~xc/config/cf/sun.cf</tt>.
Under Solaris 2.1 for x86, <tt>sun.cf</tt> needs to read
(near the top of the file)
<verb> #ifdef SVR4Architecture
#ifdef i386Architecture
#define OSName SunOS 5.1 x86
XCOMM operating system: OSName
#define OSMajorVersion 5
#define OSMinorVersion 1
</verb>
Under Solaris 2.4 for x86, <tt>sun.cf</tt> needs to read
(near the top of the file)
<verb> #ifdef SVR4Architecture
#ifdef i386Architecture
#define OSName SunOS 5.4 x86
XCOMM operating system: OSName
#define OSMajorVersion 5
#define OSMinorVersion 4
</verb>
<item> Both Gcc, and ProWorks are supported by XFree86. Gcc-2.5.8 is
suggested, Gcc-2.6.0 is known not to work. You also need to set
HasGcc2 correctly in <tt>~xc/config/cf/xf86site.def</tt>, and
use CC=gcc on
your <tt>'make World'</tt> command.<p>
You will also need to either create a link from gcc to cc, or
comment out the CC=cc line in
<tt>~xc/config/imake/Makefile.ini</tt>.
<p>
<item> If your are using ProWorks to compile the XFree86 distribution, you
need to modify your PATH appropriately so the ProWorks tools are
available.<p>
<item> You <bf>MUST</bf> put <tt>/usr/ccs/bin</tt>
at the front of your PATH. There are known
problems with some GNU replacements for the utilities found there. So
the <tt>/usr/ccs/bin</tt> versions of these programs
must be found before any
other possible GNU versions. (Most notably GNU '<tt/ar/' does not work
during the build).<p>
<item> If you wish to use the "memory aperture" feature of the S3, and Mach32
servers, you need to compile, and install the Solaris x86 aperture
driver for memory mapped I/O support. This driver is <bf>REQUIRED</bf>
for the P9000 server.<p>
The source for this driver is included in
<tt>~xc/programs/Xserver/hw/xfree86/etc/apSolx86.shar</tt>.
Building, and
installing the driver is relatively straight forward. Please read
its accompanying README file.<p>
You also need to set HasSolx86apertureDrv to YES in
<tt>~xc/config/cf/xf86site.def</tt>.<p>
<item> The BOOTSTRAPCFLAGS for Solaris x86 is:<p>
<tscreen><verb>
"-Dsun -Di386 -DSVR4"
</verb></tscreen>
</enum>
<sect> Notes for running XFree86 on Solaris x86<p>
<enum>
<item> If you have not made the Virtual Terminal devices, you will need to
specify the terminal device to run the Xserver on. The correct
device is vt00 so your <tt>xinit</tt> command would look like so:<p>
<tscreen><verb>
xinit -- vt00
</verb></tscreen>
If you have made the virtual terminal devices you do not need to
specify the VT to run the Xserver on.<p>
<item> For Solaris you will probably want to set your LD_LIBRARY_PATH to
<tt>/usr/X11R6/lib:/usr/openwin/lib</tt>.
Including <tt>/usr/X11R6/lib</tt> in your
LD_LIBRARY_PATH is probably not necessary, however it doesn't hurt. :)
<p>
Including <tt>/usr/openwin/lib</tt> in the LD_LIBRARY_PATH is
recommended
because some Sun supplied binaries were not compiled with LD_RUN_PATH
set properly at compile time.<p>
<item> Xqueue is <bf>NOT</bf> supported under Solaris.
The includes necessary for
Xqueue are available, however the driver does not seem to be in the
kernel. (Go figure)<p>
<item> If you want to use xdm with Solaris, extract the files from the shar
file in <tt>/usr/X11R6/lib/X11/etc/XdmConf.svr4</tt> into a temporary
directory. The <tt>README</tt> file tells where
the individual files need to
be installed. Be sure to read through each file and make any
site-specific changes that you need.<p>
</enum>
<sect> Known bugs, and work arounds with Solaris x86<p>
<enum>
<item> Wabi tickles a obscure bug in the Mach32 hardware cursor code. The
hardware cursor shows up as a multicolored square while inside of
Wabi windows.<p>
The work around, add:
<tscreen><verb>
Option "sw_cursor"
</verb></tscreen>
to you XF86Config.<p>
<item> The Solaris 2.1 for x86 OpenWindows filemgr does not work against a
X11R5 Xserver, it probably will also not work against a X11R6
Xserver.
Attempting to 'Drag and Drop' a file causes the filemgr to abort
with a 'X error'<p>
Solaris 2.4 does not have this problem.<p>
There is no known work around.<p>
</enum>
<sect> Bug Notification<p>
Bug reports need to be sent to <bf/XFree86@Xfree86.org/, or posted to
the comp.windows.x.i386unix newsgroup. Questions or comments about
the Solaris support, or the Solaris distribution need to be made to
<it/davidh@use.com/, or <it/danson@lgc.com./<p>
<verb>
$XConsortium: SOLX86.sgml,v 1.2 95/01/16 13:17:48 kaleb Exp $
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/SOLX86.sgml,v 3.2 1995/01/15 10:34:23 dawes Exp $
</verb>
</article>
|