~ubuntu-branches/ubuntu/saucy/xorg-docs/saucy

« back to all changes in this revision

Viewing changes to sgml/platforms/Solaris.sgml

  • Committer: Bazaar Package Importer
  • Author(s): Julien Cristau
  • Date: 2009-01-19 19:53:29 UTC
  • mfrom: (3.1.3 jaunty)
  • Revision ID: james.westby@ubuntu.com-20090119195329-yzysic30lu3pzyoy
Tags: 1:1.4-4
* Add upstream URL to the copyright file (closes: #512132).
* Upload with the upstream tarball.  For some reason this package had gone
  native.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.2//EN" [
 
2
<!ENTITY % defs SYSTEM "X11/defs.ent"> %defs;
 
3
]>
 
4
 
 
5
<Article>
 
6
 
 
7
<!-- Title information -->
 
8
<articleinfo>
 
9
 
 
10
<Title>Information for Solaris</Title>
 
11
<AUTHOR
 
12
>
 
13
<FirstName>David Holland, modified by Marc Aurele La France</FirstName>
 
14
</AUTHOR
 
15
>
 
16
<PubDate>2004 August 18
 
17
</PubDate>
 
18
 
 
19
</articleinfo>
 
20
 
 
21
<!-- Table of contents -->
 
22
 
 
23
<!-- Begin the document -->
 
24
<Sect1>
 
25
<Title>The VT-switching sub-system in Solaris x86</Title>
 
26
 
 
27
<Para>
 
28
The virtual terminal sub-system is a undocumented, and unsupported feature of
 
29
Solaris x86 releases 2.1 through 7.  It is no longer present in Solaris 8 and
 
30
later releases.
 
31
Therefore if you use virtual terminals, you do so at <Emphasis remap="bf">YOUR OWN RISK</Emphasis>.
 
32
</Para>
 
33
 
 
34
<Para>
 
35
Virtual terminals are not available in Solaris SPARC, and their availability
 
36
has been removed in Solaris8 x86.
 
37
</Para>
 
38
 
 
39
<Para>
 
40
When available, the virtual terminals of Solaris work basically the same way as
 
41
most other SVR4 VT sub-systems.
 
42
However, there are a number of limitations documented below.
 
43
</Para>
 
44
 
 
45
<Para>
 
46
First, if you are running a Solaris 2.4 x86 system, and you want VT's, you will
 
47
have to create the necessary devices first, so become root.
 
48
</Para>
 
49
 
 
50
<Para>
 
51
Verify the chanmux device driver's major number is 100:
 
52
</Para>
 
53
 
 
54
<Para>
 
55
 
 
56
<Screen>
 
57
        # grep -i chanmux /etc/name_to_major
 
58
        chanmux 100
 
59
        #
 
60
</Screen>
 
61
 
 
62
If the number after 'chanmux' is anything but 100, I would suggest you
 
63
immediately abort your attempt to create virtual terminals, and learn to live
 
64
without them.
 
65
</Para>
 
66
 
 
67
<Para>
 
68
However, if it is 100, then as root type the following commands to create the
 
69
maximum allowable number of virtual terminals.
 
70
</Para>
 
71
 
 
72
<Para>
 
73
 
 
74
<Screen>
 
75
        # cd /dev
 
76
        # mknod vt01 c 100 1
 
77
        # mknod vt02 c 100 2
 
78
        # mknod vt03 c 100 3
 
79
        # mknod vt04 c 100 4
 
80
        # mknod vt05 c 100 5
 
81
        # mknod vt06 c 100 6
 
82
        # mknod vt07 c 100 7
 
83
</Screen>
 
84
 
 
85
There is no need for a reconfiguration boot.
 
86
</Para>
 
87
 
 
88
<Para>
 
89
Secondly, for both 2.1, and 2.4 x86 systems, add a few lines to the
 
90
<Literal remap="tt">inittab</Literal> to enable logins on them.
 
91
</Para>
 
92
 
 
93
<Para>
 
94
(<Emphasis remap="bf">Note</Emphasis>, do <Emphasis remap="bf">NOT</Emphasis> make a mistake here, you could lock yourself
 
95
out of the system)
 
96
</Para>
 
97
 
 
98
<Para>
 
99
 
 
100
<Screen>
 
101
---------------------&#62;Snip Snip&#60;-----------------------------------------------
 
102
v1:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` VT01 login: " -T AT386 -d /dev/vt01 -l console
 
103
v2:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` VT02 login: " -T AT386 -d /dev/vt02 -l console
 
104
v3:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` VT03 login: " -T AT386 -d /dev/vt03 -l console
 
105
v4:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` VT04 login: " -T AT386 -d /dev/vt04 -l console
 
106
----------------------&#62;End Here&#60;-----------------------------------------------
 
107
</Screen>
 
108
 
 
109
These four lines enable four VT's on Alt-SysReq-F1 through Alt-SysReq-F4.
 
110
</Para>
 
111
 
 
112
<Para>
 
113
Then execute the command '<Literal remap="tt">init q</Literal>' to immediately enable the virtual
 
114
terminals.
 
115
</Para>
 
116
 
 
117
<Para>
 
118
The keys used for VT switching are as follows:
 
119
</Para>
 
120
 
 
121
<Para>
 
122
<itemizedlist>
 
123
<listitem>
 
124
<para>
 
125
<Literal remap="tt">Alt-SysReq-F1</Literal> through <Literal remap="tt">Alt-SysReq-F7</Literal>
 
126
enable VT screens 1-7 respectively
 
127
(if the VT is active).
 
128
</para>
 
129
</listitem>
 
130
 
 
131
<listitem>
 
132
<Para>
 
133
<Literal remap="tt">Alt-SysReq-n</Literal> enables the next active VT screen.
 
134
</Para>
 
135
</listitem>
 
136
 
 
137
<listitem>
 
138
<Para>
 
139
<Literal remap="tt">Alt-SysReq-p</Literal> enables the previous active VT screen.
 
140
</Para>
 
141
</listitem>
 
142
 
 
143
<listitem>
 
144
<Para>
 
145
<Literal remap="tt">Alt-SysReq-h</Literal> returns to the console.
 
146
</Para>
 
147
</listitem>
 
148
</itemizedlist>
 
149
If you are using virtual terminals, you must leave at least one free for use by
 
150
the Xserver.
 
151
</Para>
 
152
 
 
153
<Para>
 
154
Limitations of the virtual terminal sub-system under Solaris x86:
 
155
</Para>
 
156
 
 
157
<Para>
 
158
There are only a total of 8 available VT's (7 normal VT's + 1 console) not the
 
159
usual 15.
 
160
If you have all 8 allocated, and you attempt to allocate a additional VT you
 
161
will panic the system.
 
162
(This bug is worked around in the Solaris X11R&relvers; Xserver.)
 
163
</Para>
 
164
 
 
165
<Para>
 
166
From a programming stand point, they work pretty much as documented in the
 
167
AT&amp;T Unix System V/386 Release 4 Integrated Software Development Guide,
 
168
however a number of <Literal remap="tt">ioctl()</Literal> calls are broken.
 
169
</Para>
 
170
 
 
171
</Sect1>
 
172
 
 
173
<Sect1>
 
174
<Title>Notes for building X11R&relvers; on Solaris</Title>
 
175
 
 
176
<Para>
 
177
 
 
178
<OrderedList>
 
179
<ListItem>
 
180
<Para>
 
181
Both GCC, and the Sun Studio compilers are supported by X11R&relvers;.
 
182
The minimum recommended GCC release is 2.7.2.
 
183
Some earlier GCC's are known to not work and should be avoided.
 
184
</Para>
 
185
<Para>
 
186
You should also make certain your version of GCC predefines `sun'.
 
187
If needed edit <Literal remap="tt">/usr/local/lib/gcc-lib/*/*/specs</Literal>, and modify the
 
188
<Literal remap="tt">*predefines:</Literal> line.
 
189
</Para>
 
190
 
 
191
<Para>
 
192
On SPARCs, regardless of the compiler you use, ensure it generates 32-bit
 
193
binaries.
 
194
At this time, 64-bit binaries will probably not work.
 
195
</Para>
 
196
</ListItem>
 
197
<ListItem>
 
198
<Para>
 
199
Also on SPARCs, you may be able to build the old deprecated Xsun* servers for
 
200
older cg* graphics devices by adding "&num;define XsunServer YES" or "&num;define 
 
201
Xsun24Server YES" or "&num;define XsunMonoServer YES" to &nbsp;xc/config/cf/host.def.
 
202
These servers are no longer maintained nor supported and may not build in
 
203
this release.
 
204
</Para>
 
205
</ListItem>
 
206
<ListItem>
 
207
<Para>
 
208
A Threaded Xlib compiled with GCC has subtle problems.
 
209
It'll work 98&percnt; of the time, however clients will occasionally exhibit
 
210
strange hangs.
 
211
Most notably image viewers such as xv-3.10 exhibit this problem.
 
212
</Para>
 
213
<Para>
 
214
It is recommended that you set ThreadedX in <Literal remap="tt">&tilde;xc/config/cf/host.def</Literal> to
 
215
NO, if you are using GCC.
 
216
Sun's compilers do not have this problem.
 
217
Whether this behaviour still exists with newer GCC's has not been verified.
 
218
</Para>
 
219
</ListItem>
 
220
<ListItem>
 
221
<Para>
 
222
To build X11R&relvers; with GCC you need gcc and (optionally) c++filt from GNU
 
223
binutils.
 
224
Don't install gas or ld from GNU binutils, use the one provided by Sun.
 
225
</Para>
 
226
<Para>
 
227
You might need to setup a /opt/SUNWspro/bin directory containing symbolic links
 
228
named <Literal remap="tt">cc</Literal>, <Literal remap="tt">CC</Literal>, and <Literal remap="tt">c++filt</Literal> pointing respectively to the actual
 
229
<Literal remap="tt">gcc</Literal>, <Literal remap="tt">g++</Literal> and <Literal remap="tt">c++filt</Literal> commands.
 
230
</Para>
 
231
</ListItem>
 
232
<ListItem>
 
233
<Para>
 
234
If you are using Sun compilers to compile the X11R&relvers; distribution, you need to
 
235
modify your PATH appropriately so the Sun compiler tools are available.
 
236
Normally, they should be in <Literal remap="tt">/opt/SUNWspro/bin</Literal>
 
237
</Para>
 
238
</ListItem>
 
239
<ListItem>
 
240
<Para>
 
241
You <Emphasis remap="bf">MUST</Emphasis> put <Literal remap="tt">/usr/ccs/bin</Literal> at the front of your PATH.
 
242
There are known problems with some GNU replacements for the utilities found
 
243
there.
 
244
So the <Literal remap="tt">/usr/ccs/bin</Literal> versions of these programs must be found before
 
245
any possible GNU versions.
 
246
(Most notably GNU '<Literal remap="tt">ar</Literal>' does not work during the build).
 
247
</Para>
 
248
</ListItem>
 
249
 
 
250
</OrderedList>
 
251
 
 
252
</Para>
 
253
 
 
254
</Sect1>
 
255
 
 
256
<Sect1>
 
257
<Title>Notes for running Xorg on Solaris</Title>
 
258
 
 
259
<Para>
 
260
 
 
261
<OrderedList>
 
262
<ListItem>
 
263
<Para>
 
264
Depending on the release or architecture of Solaris you are running, you might
 
265
need to install an OS driver for an aperture device.
 
266
</Para>
 
267
<Para>
 
268
Under Solaris x86 2.5 and later, there's a system driver (<Literal remap="tt">/dev/xsvc</Literal>)
 
269
that provides this functionality.
 
270
It will be detected automatically by the server, so you don't need to install
 
271
the aperture driver.
 
272
</Para>
 
273
 
 
274
<Para>
 
275
For older Solaris x86 and for Solaris SPARC releases, the source for this
 
276
driver is included in
 
277
<Literal remap="tt">xc/programs/Xserver/hw/xfree86/etc/apSolaris.shar</Literal> of the source
 
278
distribution.
 
279
This file can usually also be found in the <Literal remap="tt">/usr/X11R6/lib/X11/etc</Literal>
 
280
directory when Xorg is installed.
 
281
Building, and installing the driver is relatively straight forward. Please read
 
282
its accompanying README file.
 
283
</Para>
 
284
</ListItem>
 
285
<ListItem>
 
286
<Para>
 
287
If you have not made the Virtual Terminal devices, you will need to specify the
 
288
terminal device to run the Xserver on.
 
289
The correct device is vt00 so your <Literal remap="tt">xinit</Literal> command would look like
 
290
so:
 
291
<InformalExample>
 
292
 
 
293
<Screen>
 
294
        xinit -- vt00
 
295
</Screen>
 
296
</InformalExample>
 
297
If you have made the virtual terminal devices you do not need to specify the VT
 
298
to run the Xserver on.
 
299
</Para>
 
300
</ListItem>
 
301
<ListItem>
 
302
<Para>
 
303
For old releases of Solaris you will probably want to set your LD&lowbar;LIBRARY&lowbar;PATH to
 
304
<Literal remap="tt">/usr/X11R6/lib:/usr/openwin/lib:/usr/dt/lib</Literal>.
 
305
Including <Literal remap="tt">/usr/X11R6/lib</Literal> in your LD&lowbar;LIBRARY&lowbar;PATH is probably not
 
306
necessary, however it doesn't hurt. :)
 
307
</Para>
 
308
<Para>
 
309
Including <Literal remap="tt">/usr/openwin/lib</Literal> in the LD&lowbar;LIBRARY&lowbar;PATH is recommended
 
310
on older releases because some Sun supplied binaries were not compiled with LD&lowbar;RUN&lowbar;PATH set
 
311
properly at compile time.
 
312
</Para>
 
313
 
 
314
<Para>
 
315
Motif and CDE applications may require <Literal remap="tt">/usr/dt/lib</Literal> in your
 
316
LD&lowbar;LIBRARY&lowbar;PATH too.
 
317
</Para>
 
318
</ListItem>
 
319
<ListItem>
 
320
<Para>
 
321
Xqueue is <Emphasis remap="bf">NOT</Emphasis> supported under Solaris.
 
322
The includes necessary for Xqueue are available, however the driver does not
 
323
seem to be in the kernel.
 
324
(Go figure)
 
325
</Para>
 
326
</ListItem>
 
327
<ListItem>
 
328
<Para>
 
329
If you want to use xdm with Solaris, extract the files from the shar file in
 
330
<Literal remap="tt">/usr/X11R6/lib/X11/etc/XdmConf.svr4</Literal> into a temporary directory.
 
331
The <Literal remap="tt">README</Literal> file tells where the individual files need to be installed.
 
332
Be sure to read through each file and make any site-specific changes that you
 
333
need.
 
334
</Para>
 
335
</ListItem>
 
336
 
 
337
</OrderedList>
 
338
 
 
339
</Para>
 
340
 
 
341
</Sect1>
 
342
 
 
343
<Sect1>
 
344
<Title>Known bugs, and work arounds with Solaris</Title>
 
345
 
 
346
<Para>
 
347
 
 
348
<OrderedList>
 
349
<ListItem>
 
350
<Para>
 
351
The Solaris 2.1 for x86 OpenWindows filemgr does not work against a X11R5
 
352
Xserver, it probably will also not work against a X11R6 Xserver.
 
353
Attempting to 'Drag and Drop' a file causes the filemgr to abort with an
 
354
'X error'
 
355
</Para>
 
356
<Para>
 
357
Solaris x86 2.4 does not have this problem.
 
358
</Para>
 
359
 
 
360
<Para>
 
361
There is no known work around.
 
362
</Para>
 
363
</ListItem>
 
364
<ListItem>
 
365
<Para>
 
366
The SPARC port is still quite new, so instability is to be expected (and
 
367
reported!).
 
368
It might even have broken some aspects of the x86 port.
 
369
</Para>
 
370
</ListItem>
 
371
 
 
372
</OrderedList>
 
373
 
 
374
</Para>
 
375
 
 
376
</Sect1>
 
377
 
 
378
<Sect1>
 
379
<Title>Bug Notification</Title>
 
380
 
 
381
<Para>
 
382
Bug reports should be reported at bugs.freedesktop.org using the 
 
383
xorg product or sent to <EMAIL
 
384
>xorg@lists.freedesktop.org</EMAIL
 
385
>.
 
386
</Para>
 
387
 
 
388
</Sect1>
 
389
 
 
390
</Article>