~ubuntu-branches/ubuntu/precise/xorg-server/precise-updates

« back to all changes in this revision

Viewing changes to hw/dmx/Xdmx.man

Tags: 2:1.10.1-2
* Build xserver-xorg-core-udeb on hurd-i386.  Thanks, Samuel Thibault!
* Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
.\" $XFree86$
2
 
.\"
3
 
.\" Copyright 2001-2004 Red Hat Inc., Durham, North Carolina.
4
 
.\" All Rights Reserved.
5
 
.\"
6
 
.\" Permission is hereby granted, free of charge, to any person obtaining
7
 
.\" a copy of this software and associated documentation files (the
8
 
.\" "Software"), to deal in the Software without restriction, including
9
 
.\" without limitation on the rights to use, copy, modify, merge,
10
 
.\" publish, distribute, sublicense, and/or sell copies of the Software,
11
 
.\" and to permit persons to whom the Software is furnished to do so,
12
 
.\" subject to the following conditions:
13
 
.\"
14
 
.\" he above copyright notice and this permission notice (including the
15
 
.\" next paragraph) shall be included in all copies or substantial
16
 
.\" portions of the Software.
17
 
.\"
18
 
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
 
.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20
 
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21
 
.\" NON-INFRINGEMENT.  IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
22
 
.\" BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
23
 
.\" ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
24
 
.\" CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
 
.\" SOFTWARE.
26
 
.TH Xdmx 1 __vendorversion__
27
 
.SH NAME
28
 
Xdmx - Distributed Multi-head X server
29
 
.SH SYNOPSIS
30
 
.B Xdmx
31
 
[:display] [option ...]
32
 
.SH DESCRIPTION
33
 
.I Xdmx
34
 
is a proxy X server that uses one or more other X servers as its display
35
 
devices.  It provides multi-head X functionality for displays that might
36
 
be located on different machines.
37
 
.I Xdmx
38
 
functions as a front-end X server that acts as a proxy to a set of
39
 
back-end X servers.  All of the visible rendering is passed to the
40
 
back-end X servers.  Clients connect to the
41
 
.I Xdmx
42
 
front-end, and everything appears as it would in a regular multi-head
43
 
configuration.  If Xinerama is enabled (e.g., with
44
 
.B +xinerama
45
 
on the command line), the clients see a single large screen.
46
 
.PP
47
 
.I Xdmx
48
 
communicates to the back-end X servers using the standard X11 protocol,
49
 
and standard and/or commonly available X server extensions.
50
 
.SH OPTIONS
51
 
In addition to the normal X server options described in the
52
 
.I Xserver(1)
53
 
manual page,
54
 
.I Xdmx
55
 
accepts the following command line switches:
56
 
.TP 8
57
 
.BI "\-display " display-name
58
 
This specifies the name(s) of the back-end X server display(s) to connect
59
 
to.  This option may be specified multiple times to connect to more than
60
 
one back-end display.  The first is used as screen 0, the second as screen 1,
61
 
etc.  If this option is omitted, the
62
 
.B $DISPLAY
63
 
environment variable is used as the single back-end X server display.
64
 
.sp
65
 
.TP 8
66
 
.BI "\-xinput " input-source
67
 
This specifies the source to use for XInput extension devices.  The
68
 
choices are the same as for
69
 
.BR "\-input " ,
70
 
described below, except that core devices on backend servers cannot be
71
 
treated as XInput extension devices.  (Although extension devices on
72
 
backend and console servers are supported as extension devices under
73
 
.IR Xdmx ).
74
 
.sp
75
 
.TP 8
76
 
.BI "\-input " input-source
77
 
This specifies the source to use for the core input devices.  The choices are:
78
 
.RS
79
 
.TP 4
80
 
.B dummy
81
 
A set of dummy core input drivers are used.  These never generate any
82
 
input events.
83
 
.sp
84
 
.TP 4
85
 
.B local
86
 
The raw keyboard and pointer from the local computer are used.  A
87
 
comma-separated list of driver names can be appended.  For example, to
88
 
select the example Linux keyboard and PS/2 mouse driver use:
89
 
.BR "-input local,kbd,ps2" .
90
 
The following drivers have been implemented for Linux: kbd, ms (a
91
 
two-button Microsoft mouse driver), ps2 (a PS/2 mouse driver), usb-mou
92
 
(a USB mouse driver), usb-kbd (a USB keyboard driver), and usb-oth (a
93
 
USB non-keyboard, non-mouse driver).  Additional drivers may be
94
 
implemented in the future.  Appropriate defaults will be used if no
95
 
comma-separated list is provided.
96
 
.sp
97
 
.TP 4
98
 
.I display-name
99
 
If the display-name is a back-end server, then core input events are
100
 
taken from the server specified.  Otherwise, a console window will be
101
 
opened on the specified display.
102
 
.sp
103
 
If the
104
 
.I display-name
105
 
is followed by ",xi" then XInput extension devices on the display will
106
 
be used as
107
 
.I Xdmx
108
 
XInput extension devices.  If the
109
 
.I display-name
110
 
is followed by ",noxi" then XInput extension devices on the display will
111
 
.B not
112
 
be used as
113
 
.I Xdmx
114
 
XInput extension devices.  Currently, the default is ",xi".
115
 
.sp
116
 
If the
117
 
.I display-name
118
 
is followed by ",console" and the
119
 
.I display-name
120
 
refers to a display that is used as a backend display, then a console
121
 
window will be opened on that display
122
 
.B and
123
 
that display will be treated as a backend display.  Otherwise (or if
124
 
",noconsole" is used), the display will be treated purely as a backend
125
 
or a console display, as described above.
126
 
.sp
127
 
If the
128
 
.I display-name
129
 
is followed by ",windows", then outlines of the windows on the backend
130
 
will be displayed inside the console window.  Otherwise (or if
131
 
",nowindows" is used), the console window will not display the outlines
132
 
of backend windows.  (This option only applies to console input.)
133
 
.sp
134
 
If the
135
 
.I display-name
136
 
is followed by ",xkb", then the next 1 to 3 comma-separated parameters
137
 
will specify the keycodes, symbols, and geometry of the keyboard for
138
 
this input device.  For example, ",xkb,xfree86,pc104" will specify that
139
 
the "xfree86" keycodes and the "pc104" symbols should be used to
140
 
initialize the keyboard.  For an SGI keyboard, ",xkb,sgi/indy(pc102)"
141
 
might be useful.  A list of keycodes, symbols, and geometries can be
142
 
found in
143
 
.IR /usr/X11R6/lib/X11/xkb .
144
 
If this option is not specified, the input device will be queried,
145
 
perhaps using the XKEYBOARD extension.
146
 
.RE
147
 
.sp
148
 
.RS
149
 
If this option isn't specified, the default input source is the first
150
 
back-end server (the one used for screen 0).  The console window shows
151
 
the layout of the back-end display(s) and pointer movements and key
152
 
presses within the console window will be used as core input devices.
153
 
.sp
154
 
Several special function keys are active, depending on the input
155
 
source:
156
 
.sp
157
 
.RS
158
 
.B Ctrl-Alt-q
159
 
will terminate the
160
 
.I Xdmx
161
 
server in all modes.
162
 
.sp
163
 
.B Ctrl-Alt-g
164
 
will toggle a
165
 
server grab in console mode (a special cursor, currently a spider, is
166
 
used to indicate an active server grab).
167
 
.sp
168
 
.B Ctrl-Alt-f
169
 
will toggle fine-grain motion in console mode (a special cursor,
170
 
currently a cross hair, is used to indicate this mode).  If this mode is
171
 
combined with a server grab, then the cursor will have 4 lines instead
172
 
of only 2.
173
 
.sp
174
 
.BR Ctrl-Alt-F1 " through " Ctrl-Alt-F12
175
 
will switch to another VC in local (raw) mode.
176
 
.RE
177
 
.RE
178
 
.sp
179
 
.TP 8
180
 
.BI "-shadowfb"
181
 
This option turns on (legacy) support for the shadow frame buffer.
182
 
.sp
183
 
.TP 8
184
 
.BI "-noshadowfb"
185
 
This option turns off (legacy) support for the shadow frame buffer.
186
 
Note that this option has been deprecated and will be removed in the
187
 
next release.
188
 
.sp
189
 
.TP 8
190
 
.BI "-nomulticursor"
191
 
This option turns off support for displaying multiple cursors on
192
 
overlapped back-end displays.  This option is available for testing and
193
 
benchmarking purposes.
194
 
.sp
195
 
.TP 8
196
 
.BI "-fontpath"
197
 
This option sets the
198
 
.I Xdmx
199
 
server's default font path.  This option can be specified multiple times
200
 
to accommodate multiple font paths.  See the
201
 
.B "FONT PATHS"
202
 
section below for very important information regarding setting the
203
 
default font path.
204
 
.sp
205
 
.TP 8
206
 
.BI "-configfile " filename
207
 
Specify the configuration file that should be read.  Note that if the
208
 
.B \-display
209
 
command-line option is used, then the configuration file will be
210
 
ignored.
211
 
.sp
212
 
.TP 8
213
 
.BI "-config " name
214
 
Specify a configuration to use.  The
215
 
.I name
216
 
will be the name following the
217
 
.B virtual
218
 
keyword in the configuration file.
219
 
.sp
220
 
.TP 8
221
 
.BI "-stat " "interval screens"
222
 
This option enables the display of performance statistics.  The interval
223
 
is in seconds.  The screens is a count of the number of back-end screens
224
 
for which data is printed each interval.  Specifying 0 for screens will
225
 
display data for all screens.
226
 
.sp
227
 
For each screen, the following information is printed: the screen
228
 
number, an absolute count of the number of XSync() calls made
229
 
(SyncCount), the rate of these calls during the previous interval
230
 
(Sync/s), the average round-trip time (in microseconds) of the last 10
231
 
XSync() calls (avSync), the maximum round-trip time (in microseconds) of
232
 
the last 10 XSync calls (mxSync), the average number of XSync() requests
233
 
that were pending but not yet processed for each of the last 10
234
 
processed XSync() calls, the maximum number of XSync() requests that
235
 
were pending but not yet processed for each of the last 10 processed
236
 
XSync() calls, and a histogram showing the distribution of the times of
237
 
all of the XSync() calls that were made during the previous interval.
238
 
.sp
239
 
(The length of the moving average and the number and value of histogram
240
 
bins are configurable at compile time in the
241
 
.B dmxstat.h
242
 
header file.)
243
 
.sp
244
 
.TP 8
245
 
.BI "-syncbatch " interval
246
 
This option sets the
247
 
.I interval
248
 
in milliseconds for XSync() batching.  An
249
 
.I interval
250
 
less than or equal to 0 will disable XSync() batching.  The default
251
 
.I interval
252
 
is 100 ms.
253
 
.sp
254
 
.TP 8
255
 
.BI "-nooffscreenopt"
256
 
This option disables the offscreen optimization.  Since the lazy window
257
 
creation optimization requires the offscreen optimization to be enabled,
258
 
this option will also disable the lazy window creation optimization.
259
 
.sp
260
 
.TP 8
261
 
.BI "-nowindowopt"
262
 
This option disables the lazy window creation optimization.
263
 
.sp
264
 
.TP 8
265
 
.BI "-nosubdivprims"
266
 
This option disables the primitive subdivision optimization.
267
 
.sp
268
 
.TP 8
269
 
.BI "-noxkb"
270
 
Disable use of the XKB extension for communication with the back end
271
 
displays.  (Combine with
272
 
.B "-kb"
273
 
to disable all use of XKB.)
274
 
.sp
275
 
.TP 8
276
 
.BI "-depth " int
277
 
This option sets the root window's default depth.  When choosing a
278
 
default visual from those available on the back-end X server, the first
279
 
visual with that matches the depth specified is used.
280
 
.sp
281
 
This option can be combined with the
282
 
.BI "-cc"
283
 
option, which specifies the default color visual class, to force the use
284
 
of a specific depth and color class for the root window.
285
 
.sp
286
 
.TP 8
287
 
.BI "-norender"
288
 
This option disables the RENDER extension.
289
 
.sp
290
 
.TP 8
291
 
.BI "-noglxproxy"
292
 
This option disables GLX proxy -- the build-in GLX extension
293
 
implementation that is DMX aware.
294
 
.sp
295
 
.TP 8
296
 
.BI "-noglxswapgroup"
297
 
This option disables the swap group and swap barrier extensions in GLX
298
 
proxy.
299
 
.sp
300
 
.TP 8
301
 
.BI "-glxsyncswap"
302
 
This option enables synchronization after a swap buffers call by waiting
303
 
until all X protocol has been processed.  When a client issues a
304
 
glXSwapBuffers request, Xdmx relays that request to each back-end X
305
 
server, and those requests are buffered along with all other protocol
306
 
requests.  However, in systems that have large network buffers, this
307
 
buffering can lead to the set of back-end X servers handling the swap
308
 
buffers request asynchronously.  With this option, an XSync() request is
309
 
issued to each back-end X server after sending the swap buffers request.
310
 
The XSync() requests will flush all buffered protocol (including the
311
 
swap buffers requests) and wait until the back-end X servers have
312
 
processed those requests before continuing.  This option does not wait
313
 
until all GL commands have been processed so there might be previously
314
 
issued commands that are still being processed in the GL pipe when the
315
 
XSync() request returns.  See the
316
 
.BI "-glxfinishswap"
317
 
option below if Xdmx should wait until the GL commands have been
318
 
processed.
319
 
.sp
320
 
.TP 8
321
 
.BI "-glxfinishswap"
322
 
This option enables synchronization after a swap buffers call by waiting
323
 
until all GL commands have been completed.  It is similar to the
324
 
.BI "-glxsyncswap"
325
 
option above; however, instead of issuing an XSync(), it issues a
326
 
glFinish() request to each back-end X server after sending the swap
327
 
buffers requests.  The glFinish() request will flush all buffered
328
 
protocol requests, process both X and GL requests, and wait until all
329
 
previously called GL commands are complete before returning.
330
 
.sp
331
 
.TP 8
332
 
.BI "-ignorebadfontpaths"
333
 
This option ignores font paths that are not available on all back-end
334
 
servers by removing the bad font path(s) from the default font path
335
 
list.  If no valid font paths are left after removing the bad paths, an
336
 
error to that effect is printed in the log.
337
 
.sp
338
 
.TP 8
339
 
.BI "-addremovescreens"
340
 
This option enables the dynamic addition and removal of screens, which
341
 
is disabled by default.  Note that GLXProxy and Render do not yet
342
 
support dynamic addition and removal of screens, and must be disabled
343
 
via the
344
 
.BI "-noglxproxy"
345
 
and
346
 
.BI "-norender"
347
 
command line options described above.
348
 
.sp
349
 
.TP 8
350
 
.BI "-param"
351
 
This option specifies parameters on the command line.  Currently, only
352
 
parameters dealing with XKEYBOARD configuration are supported.  These
353
 
parameters apply only to the core keyboard.  Parameter values are
354
 
installation-dependent.  Please see
355
 
.I /usr/X11R6/lib/X11/xkb
356
 
or a similar directory for complete information.
357
 
.RS
358
 
.TP 8
359
 
.B XkbRules
360
 
Defaults to "xfree86".  Other values may include "sgi" and "sun".
361
 
.sp
362
 
.TP 8
363
 
.B XkbModel
364
 
Defaults to "pc101".  When used with "xfree86" rules, other values may
365
 
include "pc102", "pc104", "pc105", "microsoft", and many others.  When
366
 
used with "sun" rules, other values may include "type4" and "type5".
367
 
.sp
368
 
.TP 8
369
 
.B XkbLayout
370
 
Defaults to "us".  Other country codes and "dvorak" are usually
371
 
available.
372
 
.sp
373
 
.TP 8
374
 
.B XkbVariant
375
 
Defaults to "".
376
 
.sp
377
 
.TP 8
378
 
.B XkbOptions
379
 
Defaults to "".
380
 
.RE
381
 
.SH "CONFIGURATION FILE GRAMMAR"
382
 
The following words and tokens are reserved:
383
 
.RS
384
 
.B virtual
385
 
.B display
386
 
.B wall
387
 
.B option
388
 
.B param
389
 
.B {
390
 
.B }
391
 
.B ;
392
 
.B #
393
 
.RE
394
 
.PP
395
 
Comments start with a
396
 
.B #
397
 
mark and extend to the end of the line.  They may appear anywhere.  If a
398
 
configuration file is read into
399
 
.BR xdmxconfig ,
400
 
the comments in that file will be preserved, but will not be editable.
401
 
.PP
402
 
The grammar is as follows:
403
 
.RS
404
 
virtual-list ::= [ virtual-list ] | virtual
405
 
 
406
 
virtual ::=
407
 
.B virtual
408
 
[ name ] [ dim ]
409
 
.B {
410
 
dw-list
411
 
.B }
412
 
 
413
 
dw-list ::= [ dw-list ] | dw
414
 
 
415
 
dw ::= display | wall | option
416
 
 
417
 
display ::=
418
 
.B display
419
 
name [ geometry ] [ / geometry ] [ origin ]
420
 
.B ;
421
 
 
422
 
wall ::=
423
 
.B wall
424
 
[ dim ] [ dim ] name-list
425
 
.B ;
426
 
 
427
 
option ::=
428
 
.B option
429
 
name-list
430
 
.B ;
431
 
 
432
 
param ::=
433
 
.B param
434
 
name-list
435
 
.B ;
436
 
 
437
 
param ::=
438
 
.B param {
439
 
param-list
440
 
.B }
441
 
 
442
 
param-list ::= [ param-list ] | name-list
443
 
.B ;
444
 
 
445
 
name-list ::= [ name-list ] | name
446
 
 
447
 
name ::= string | double-quoted-string
448
 
 
449
 
dim ::= integer
450
 
.B x
451
 
integer
452
 
 
453
 
geometry ::= [ integer
454
 
.B x
455
 
integer ] [ signed-integer signed-integer ]
456
 
 
457
 
origin ::=
458
 
.B @
459
 
integer
460
 
.B x
461
 
integer
462
 
.RE
463
 
.PP
464
 
The name following
465
 
.B virtual
466
 
is used as an identifier for the configuration, and may be passed to
467
 
.B Xdmx
468
 
using the
469
 
.B \-config
470
 
command line option.  The name of a display should be standard X display
471
 
name, although no checking is performed (e.g., "machine:0").
472
 
.PP
473
 
For names, double quotes are optional unless the name is reserved or
474
 
contains spaces.
475
 
.PP
476
 
The first dimension following
477
 
.B wall
478
 
is the dimension for tiling (e.g., 2x4 or 4x4).  The second dimension
479
 
following
480
 
.B wall
481
 
is the dimension of each display in the wall (e.g., 1280x1024).
482
 
.PP
483
 
The first geometry following
484
 
.B display
485
 
is the geometry of the screen window on the backend server.  The second
486
 
geometry, which is always preceeded by a slash, is the geometry of the
487
 
root window.  By default, the root window has the same geometry as the
488
 
screen window.
489
 
.PP
490
 
The
491
 
.B option
492
 
line can be used to specify any command-line options (e.g.,
493
 
.BR \-input ).
494
 
(It cannot be used to specify the name of the front-end display.)  The
495
 
option line is processed once at server startup, just line command line
496
 
options.  This behavior may be unexpected.
497
 
.SH "CONFIGURATION FILE EXAMPLES"
498
 
Two displays being used for a desktop may be specified in any of the
499
 
following formats:
500
 
.RS
501
 
.nf
502
 
virtual example0 {
503
 
    display d0:0 1280x1024 @0x0;
504
 
    display d1:0 1280x1024 @1280x0;
505
 
}
506
 
.sp
507
 
virtual example1 {
508
 
    display d0:0 1280x1024;
509
 
    display d1:0 @1280x0;
510
 
}
511
 
.sp
512
 
virtual example2 {
513
 
    display "d0:0";
514
 
    display "d1:0" @1280x0;
515
 
}
516
 
.sp
517
 
virtual example3 { wall 2x1 d0:0 d1:0; }
518
 
.fi
519
 
.RE
520
 
A 4x4 wall of 16 total displays could be specified as follows (if no
521
 
tiling dimension is specified, an approximate square is used):
522
 
.RS
523
 
.nf
524
 
virtual example4 {
525
 
    wall d0:0 d1:0 d2:0 d3:0
526
 
         d4:0 d5:0 d6:0 d7:0
527
 
         d8:0 d9:0 da:0 db:0
528
 
         dc:0 dd:0 de:0 df:0;
529
 
}
530
 
.fi
531
 
.RE
532
 
.SH "FONT PATHS"
533
 
The font path used by the
534
 
.I Xdmx
535
 
front-end server will be propagated to each back-end server,which
536
 
requires that each back-end server have access to the exact same font
537
 
paths as the front-end server.  This can be most easily handled by
538
 
either using a font server (e.g., xfs) or by remotely mounting the font
539
 
paths on each back-end server, and then setting the
540
 
.I Xdmx
541
 
server's default font path with the
542
 
-I "-fontpath"
543
 
command line option described above.
544
 
.PP
545
 
For example, if you specify a font path with the following command line:
546
 
.RS
547
 
Xdmx :1 -display d0:0 -fontpath /usr/fonts/75dpi/ -fontpath /usr/fonts/Type1/ +xinerama
548
 
.RE
549
 
Then, /usr/fonts/75dpi/ and /usr/fonts/Type1/ must be valid font paths
550
 
on the
551
 
.I Xdmx
552
 
server and all back-end server, which is d0 in this example.
553
 
.PP
554
 
Font servers can also be specified with the
555
 
.I "-fontpath"
556
 
option.  For example, let's assume that a properly configured font
557
 
server is running on host d0.  Then, the following command line
558
 
.RS
559
 
Xdmx :1 -display d0:0 -display d1:0 -fontpath tcp/d0:7100 +xinerama
560
 
.RE
561
 
will initialize the front-end
562
 
.I Xdmx
563
 
server and each of the back-end servers to use the font server on d0.
564
 
.PP
565
 
Some fonts might not be supported by either the front-end or the
566
 
back-end servers.  For example, let's assume the front-end
567
 
.I Xdmx
568
 
server includes support Type1 fonts, but one of the back-end servers
569
 
does not.  Let's also assume that the default font path for
570
 
.I Xdmx
571
 
includes Type1 fonts in its font path.  Then, when
572
 
.I Xdmx
573
 
initializes the default font path to load the default font, the font
574
 
path that includes Type1 fonts (along with the other default font paths
575
 
that are used by the
576
 
.I Xdmx
577
 
server) is sent to the back-end server that cannot handle Type1 fonts.
578
 
That back-end server then rejects the font path and sends an error back
579
 
to the
580
 
.I Xdmx
581
 
server.
582
 
.I Xdmx
583
 
then prints an error message and exits because it failed to set the
584
 
default font path and was unable load the default font.
585
 
.PP
586
 
To fix this error, the offending font path must be removed from the
587
 
default font path by using a different
588
 
.I "-fontpath"
589
 
command line option.
590
 
.PP
591
 
The
592
 
.I "-fontpath"
593
 
option can also be added to the configuration file as described above.
594
 
.SH "COMMAND-LINE EXAMPLES"
595
 
The back-end machines are d0 and d1, core input is from the pointer and
596
 
keyboard attached to d0, clients will refer to :1 when opening windows:
597
 
.RS
598
 
Xdmx :1 -display d0:0 -display d1:0 +xinerama
599
 
.RE
600
 
.PP
601
 
As above, except with core input from d1:
602
 
.RS
603
 
Xdmx :1 -display d0:0 -display d1:0 -input d1:0 +xinerama
604
 
.RE
605
 
.PP
606
 
As above, except with core input from a console window on the local
607
 
display:
608
 
.RS
609
 
Xdmx :1 -display d0:0 -display d1:0 -input :0 +xinerama
610
 
.RE
611
 
.PP
612
 
As above, except with core input from the local keyboard and mouse:
613
 
.RS
614
 
Xdmx :1 -display d0:0 -display d1:0 -input local,kbd,ps2 +xinerama
615
 
.RE
616
 
Note that local input can be used under Linux while another X session is
617
 
running on :0 (assuming the user can access the Linux console tty and
618
 
mouse devices): a new (blank) VC will be used for keyboard input on the
619
 
local machine and the Ctrl-Alt-F* sequence will be available to change
620
 
to another VC (possibly back to another X session running on the local
621
 
machine).  Using Ctrl-Alt-Backspace on the blank VC will terminate the
622
 
Xdmx session and return to the original VC.
623
 
.PP
624
 
This example uses the configuration file shown in the previous section:
625
 
.RS
626
 
Xdmx :1 -input :0 +xinerama -configfile filename -config example2
627
 
.RE
628
 
With this configuration file line:
629
 
.RS
630
 
option -input :0 +xinerama;
631
 
.RE
632
 
the command line can be shortened to:
633
 
.RS
634
 
Xdmx :1 -configfile filename -config example2
635
 
.RE
636
 
.SH "USING THE USB DEVICE DRIVERS"
637
 
.P
638
 
The USB device drivers use the devices called
639
 
.IR /dev/input/event0 ", " /dev/input/event1 ", etc."
640
 
under Linux.  These devices are driven using the
641
 
.I evdev
642
 
Linux kernel module, which is part of the hid suite.  Please note that
643
 
if you load the
644
 
.I mousedev
645
 
or
646
 
.I kbddev
647
 
Linux kernel modules, then USB devices will appear as core Linux input
648
 
devices and you will not be able to select between using the device only
649
 
as an
650
 
.I Xdmx
651
 
core device or an
652
 
.I Xdmx
653
 
XInput extension device.  Further, you may be unable to unload the
654
 
.I mousedev
655
 
Linux kernel module if
656
 
.I XFree86
657
 
is configured to use
658
 
.I /dev/input/mice
659
 
as an input device (this is quite helpful for laptop users and is set up
660
 
by default under some Linux distributions, but should be changed if USB
661
 
devices are to be used with
662
 
.IR Xdmx ).
663
 
.PP
664
 
The USB device drivers search through the Linux devices for the first
665
 
mouse, keyboard, or non-mouse-non-keyboard Linux device and use that
666
 
device.
667
 
.SH "KEYBOARD INITIALIZATION"
668
 
.PP
669
 
If
670
 
.I Xdmx
671
 
was invoked with
672
 
.I \-xkb
673
 
or was
674
 
.B not
675
 
compiled to use the XKEYBOARD extension, then a keyboard on a backend or
676
 
console will be initialized using the map that the host X server
677
 
provides.
678
 
.PP
679
 
If the XKEYBOARD extension is used for both
680
 
.I Xdmx
681
 
and the host X server for the keyboard (i.e., the backend or console X
682
 
server), then the type of the keyboard will
683
 
be obtained from the host X server and the keyboard under
684
 
.I Xdmx
685
 
will be initialized with that information.  Otherwise, the default type
686
 
of keyboard will be initialized.  In both cases, the map from the host X
687
 
server will
688
 
.B not
689
 
be used.  This means that different initial behavior may be noted with
690
 
and without XKEYBOARD.  Consistent and expected results will be obtained
691
 
by running XKEYBOARD on all servers and by avoiding the use of
692
 
.I xmodmap
693
 
on the backend or console X servers prior to starting
694
 
.IR Xdmx .
695
 
.PP
696
 
If
697
 
.I \-xkbmap
698
 
is specified on the
699
 
.I Xdmx
700
 
command line, then that map will currently be used for all keyboards.
701
 
.SH "MULTIPLE CORE KEYBOARDS"
702
 
X was not designed to support multiple core keyboards.  However,
703
 
.I Xdmx
704
 
provides some support for multiple core keyboards.  Best results will be
705
 
obtained if all of the keyboards are of the same type and are using the
706
 
same keyboard map.  Because the X server passes raw key code information
707
 
to the X client, key symbols for keyboards with different key maps would
708
 
be different if the key code for each keyboard was sent without
709
 
translation to the client.  Therefore,
710
 
.I Xdmx
711
 
will attempt to translate the key code from a core keyboard to the key
712
 
code for the key with the same key symbol of the
713
 
.B first
714
 
core keyboard that was loaded.  If the key symbol appears in both maps,
715
 
the results will be expected.  Otherwise, the second core keyboard will
716
 
return a NoSymbol key symbol for some keys that would have been
717
 
translated if it was the first core keyboard.
718
 
.ig
719
 
.SH ENVIRONMENT
720
 
..
721
 
.ig
722
 
.SH FILES
723
 
..
724
 
.SH "SEE ALSO"
725
 
.BR DMX "(3X), " X "(__miscmansuffix__), " Xserver "(1), " xdmxconfig "(1), "
726
 
.BR vdltodmx "(1), " xfs "(1), " xkbcomp (1)
727
 
.SH AUTHORS
728
 
Kevin E. Martin
729
 
.I <kem@redhat.com>,
730
 
David H. Dawes
731
 
.I <dawes@xfree86.org>,
732
 
and
733
 
Rickard E. (Rik) Faith
734
 
.IR <faith@redhat.com> .
735
 
.PP
736
 
Portions of
737
 
.I Xdmx
738
 
are based on code from The XFree86 Project
739
 
.RI ( http://www.xfree86.org )
740
 
and X.Org
741
 
.RI ( http://www.x.org ).