summaryrefslogtreecommitdiff
path: root/man/radeon.man
blob: b0a4f041dd5f5127265a1b8e93337bd04b09494d (plain)
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
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.man,v 1.0 2003/01/31 23:04:50 $
.ds q \N'34'
.TH RADEON __drivermansuffix__ __vendorversion__
.SH NAME
radeon \- ATI RADEON video driver
.SH SYNOPSIS
.nf
.B "Section \*qDevice\*q"
.BI "  Identifier \*q"  devname \*q
.B  "  Driver \*qradeon\*q"
\ \ ...
.B EndSection
.fi
.SH DESCRIPTION
.B radeon
is an __xservername__ driver for ATI RADEON based video cards.  It contains
full support for 8, 15, 16 and 24 bit pixel depths, dual-head setup,
flat panel, hardware 2D acceleration, hardware 3D acceleration
(experimental on R300 and R400 series cards), hardware cursor, XV extension,
and the Xinerama extension.
.SH SUPPORTED HARDWARE
The
.B radeon
driver supports PCI and AGP video cards based on the following ATI chips
.TP 12
.B R100
Radeon 7200
.TP 12
.B RV100
Radeon 7000(VE), M6
.TP 12
.B RS100
Radeon IGP320(M)
.TP 12
.B RV200
Radeon 7500, M7, FireGL 7800
.TP 12
.B RS200
Radeon IGP330(M)/IGP340(M)
.TP 12
.B RS250
Radeon Mobility 7000 IGP
.TP 12
.B R200
Radeon 8500, 9100, FireGL 8800/8700
.TP 12
.B RV250
Radeon 9000PRO/9000, M9
.TP 12
.B RS300
Radeon 9100 IGP
.TP 12
.B RS350
Radeon 9200 IGP
.TP 12
.B RS400
Radeon XPRESS 200/200M IGP
.TP 12
.B RV280
Radeon 9200PRO/9200/9200SE, M9+
.TP 12
.B R300
Radeon 9700PRO/9700/9500PRO/9500/9600TX, FireGL X1/Z1 (2D only)
.TP 12
.B R350
Radeon 9800PRO/9800SE/9800, FireGL X2 (2D only)
.TP 12
.B R360
Radeon 9800XT (2d only)
.TP 12
.B RV350
Radeon 9600PRO/9600SE/9600, M10/M11, FireGL T2 (2D only)
.TP 12
.B RV360 
Radeon 9600XT (2d only)
.TP 12
.B RV370
Radeon X300, M22 (2d only)
.TP 12
.B RV380
Radeon X600, M24 (2d only)
.TP 12
.B RV410
Radeon X700, M26 PCIE (2d only)
.TP 12
.B R420
Radeon X800 AGP (2d only)
.TP 12
.B R423/R430
Radeon X800, M28 PCIE (2d only)
.TP 12
.B R480/R481
Radeon X850 PCIE/AGP (2d only)

.SH CONFIGURATION DETAILS
Please refer to __xconfigfile__(__filemansuffix__) for general configuration
details.  This section only covers configuration details specific to this
driver.
.PP
The driver auto\-detects all device information necessary to initialize
the card.  However, if you have problems with auto\-detection, you can
specify:
.PP
.RS 4
VideoRam \- in kilobytes
.br
MemBase  \- physical address of the linear framebuffer
.br
IOBase   \- physical address of the MMIO registers
.br
ChipID   \- PCI DEVICE ID
.RE
.PP
In addition, the following driver
.B Options
are supported:
.TP
.BI "Option \*qSWcursor\*q \*q" boolean \*q
Selects software cursor.  The default is
.B off.
.TP
.BI "Option \*qNoAccel\*q \*q" boolean \*q
Enables or disables all hardware acceleration.
.br
The default is to
.B enable
hardware acceleration.
.TP
.BI "Option \*qDac6Bit\*q \*q" boolean \*q
Enables or disables the use of 6 bits per color component when in 8 bpp
mode (emulates VGA mode).  By default, all 8 bits per color component
are used.
.br
The default is
.B off.
.TP
.BI "Option \*qVideoKey\*q \*q" integer \*q
This overrides the default pixel value for the YUV video overlay key.
.br
The default value is
.B 0x1E.
.TP
.BI "Option \*qScalerWidth\*q \*q" integer \*q
This sets the overlay scaler buffer width. Accepted values range from 1024 to
2048, divisible by 64, values other than 1536 and 1920 may not make sense
though. Should be set automatically, but noone has a clue what the limit is
for which chip. If you think quality is not optimal when playing back HD video
(with horizontal resolution larger than this setting), increase this value, if
you get an empty area at the right (usually pink), decrease it. Note this only
affects the "true" overlay via xv, it won't affect things like textured video.
.br
The default value is either 1536 (for most chips) or 1920.
.TP
.BI "Option \*qUseFBDev\*q \*q" boolean \*q
Enable or disable use of an OS\-specific framebuffer device interface
(which is not supported on all OSs).  MergedFB does not work when this
option is in use.  See fbdevhw(__drivermansuffix__) for further information. 
.br
The default is
.B off.
.TP
.BI "Option \*qAGPMode\*q \*q" integer \*q
Set AGP data transfer rate.
(used only when DRI is enabled)
.br
1      \-\- 1x (before AGPv3 only)
.br
2      \-\- 2x (before AGPv3 only)
.br
4      \-\- 4x
.br
8      \-\- 8x (AGPv3 only)
.br
others \-\- invalid
.br
The default is to
.B leave it unchanged.
.TP
.BI "Option \*qAGPFastWrite\*q \*q" boolean \*q
Enable or disable AGP fast writes.  Enabling this is frequently the cause of
instability. Used only when the DRI is enabled.
.br
The default is to
.B leave it unchanged.
.TP
.BI "Option \*qBusType\*q \*q" string \*q
Used to replace previous ForcePCIMode option.
Should only be used when driver's bus detection is incorrect
or you want to force a AGP card to PCI mode. Should NEVER force
a PCI card to AGP bus.
.br
PCI    \-\- PCI bus
.br
AGP    \-\- AGP bus
.br
PCIE   \-\- PCI Express (falls back to PCI at present)
.br
(used only when DRI is enabled)
.br
The default is
.B auto detect.
.TP 
.BI "Option \*qDDCMode\*q \*q" boolean \*q
Force to use the modes queried from the connected monitor.
.br
The default is
.B off.
.TP
.BI "Option \*qDisplayPriority\*q \*q" string \*q
.br
Used to prevent flickering or tearing problem caused by display buffer underflow.
.br
AUTO   \-\- Driver calculated (default).
.br
BIOS   \-\- Remain unchanged from BIOS setting.
          Use this if the calculation is not correct
          for your card.
.br
HIGH   \-\- Force to the highest priority.
          Use this if you have problem with above options.
          This may affect performance slightly.
.br
The default value is
.B AUTO.
.TP
.BI "Option \*qMonitorLayout\*q \*q" string \*q
.br
This option is used to overwrite the detected monitor types.
This is only required when driver makes a false detection.
The possible monitor types are:
.br
NONE   \-\- Not connected
.br
CRT    \-\- Analog CRT monitor
.br
TMDS   \-\- Desktop flat panel
.br 
LVDS   \-\- Laptop flat panel
.br
This option can be used in following format:
.br
Option "MonitorLayout" "[type on primary], [type on secondary]"
.br
For example, Option "MonitorLayout" "CRT, TMDS"

Primary/Secondary head for dual\-head cards:
.br
(when only one port is used, it will be treated as the primary regardless)
.br
.B Primary head:
.br
DVI port on DVI+VGA cards
.br
LCD output on laptops
.br 
Internal TMDS port on DVI+DVI cards
.br 
.B Secondary head:
.br
VGA port on DVI+VGA cards
.br
VGA port on laptops
.br
External TMDS port on DVI+DVI cards

The default value is
.B undefined.
.TP 
.BI "Option \*qMergedFB\*q \*q" boolean \*q
This enables merged framebuffer mode.  In this mode you have a single 
shared framebuffer with two viewports looking into it.  It is similar
to Xinerama, but has some advantages.  It is faster than Xinerama, the
DRI works on both heads, and it supports clone modes.  
.br
Merged framebuffer mode provides two linked viewports looking into a
single large shared framebuffer.  The size of the framebuffer is 
determined by the
.B Virtual
keyword defined on the
.B Screen
section of your __xconfigfile__ file.  It works just like regular virtual
desktop except you have two viewports looking into it instead of one.
.br
For example, if you wanted a desktop composed of two 1024x768 viewports
looking into a single desktop you would create a virtual desktop of 
2048x768 (left/right) or 1024x1536 (above/below), e.g.,
.br
.B Virtual 2048 768
or
.B Virtual 1024 1536
.br
The virtual desktop can be larger than larger than the size of the viewports
looking into it.  In this case the linked viewports will scroll around in the 
virtual desktop.  Viewports with different sizes are also supported (e.g., one
that is 1024x768 and one that is 640x480).  In this case the smaller viewport
will scroll relative to the larger one such that none of the virtual desktop 
is inaccessible.  If you do not define a virtual desktop the driver will create
one based on the orientation of the heads and size of the largest defined mode in 
the display section that is supported on each head.
.br
The relation of the viewports in specified by the
.B CRT2Position
Option.  The options are
.B Clone
,
.B LeftOf
,
.B RightOf
,
.B Above
, and
.B Below.  
MergedFB is enabled by default if a monitor is detected on each output.  If 
no position is given it defaults to clone mode (the old clone options are now 
deprecated, also, the option OverlayOnCRTC2 has been replaced by the Xv 
attribute XV_SWITCHCRT; the overlay can be switched to CRT1 or CRT2 on the fly 
in clone mode).
.br
The maximum framebuffer size that the 2D acceleration engine can handle is 
8192x8192.  The maximum framebuffer size that the 3D engine can handle is 
2048x2048.
.br
.B Note:
Page flipping does not work well in certain configurations with MergedFB.  If you 
see rendering errors or other strange behavior, disable page flipping. Also MergedFB
is not compatible with the 
.B UseFBDev 
option.
.br
The default value is
.B undefined.
.TP 
.BI "Option \*qCRT2HSync\*q \*q" "string" \*q
Set the horizontal sync range for the secondary  monitor. 
It is not required if a DDC\-capable monitor is connected.
.br
For example, Option "CRT2HSync" "30.0-86.0"
.br
The default value is
.B undefined.
.TP 
.BI "Option \*qCRT2VRefresh\*q \*q" "string" \*q
Set the vertical refresh range for the secondary monitor.
It is not required if a DDC\-capable monitor is connected.
.br
For example, Option "CRT2VRefresh" "50.0-120.0"
.br
The default value is
.B undefined.
.TP
.BI "Option \*qCRT2Position\*q \*q" "string" \*q
Set the relationship of CRT2 relative to CRT1. Valid options are: 
.B Clone
,
.B LeftOf
,
.B RightOf
,
.B Above
, and
.B Below
.
.br
For example, Option "CRT2Position" "RightOf"
.br
This option also supports an offset.  This is most useful when
.B MergedNonRectangular 
is enabled.  For example if you want CRT2 to be offset 100 pixels down from 
the start of CRT1, you'd type:
.br
Option "CRT2Position" "LeftOf 100"
.br
The offset is vertical for LeftOf and RightOf and horizontal for Above and 
Below.  Offsets can be positive or negative.
.br
The default value is
.B Clone.
.TP
.BI "Option \*qMetaModes\*q \*q" "string" \*q
MetaModes are mode combinations for CRT1 and CRT2.  If you are using merged
frame buffer mode and want to change modes (CTRL-ALT-+/-), these define which
modes will be switched to on CRT1 and CRT2.  The MetaModes are defined as 
CRT1Mode-CRT2Mode (800x600-1024x768).  Modes listed individually (800x600) 
define clone modes, that way you can mix clone modes with non-clone modes. 
Also some programs require "standard" modes.  If you want to add clone modes 
of different refreshes or sizes to the mix, they are defined as CRT1Mode+CRT2Mode 
(800x600+1024x768).
.br
Note:  Any mode you use in the MetaModes must be defined in the
.B Screen 
section of your __xconfigfile__ file.  Modes not defined there will be ignored when
the MetaModes are parsed since the driver uses them to make sure the monitors can 
handle those modes.  If you do not define a MetaMode the driver will create
one based on the orientation of the heads and size of the largest defined mode in 
the display section that is supported on each head.
.br
.B Modes "1024x768" "800x600" "640x480"
.br
For example, Option "MetaModes" "1024x768-1024x768 800x600-1024x768 640x480-800x600 800x600"
.br
The default value is
.B undefined.
.TP
.BI "Option \*qMergedXinerama\*q \*q" boolean \*q
Since merged framebuffer mode does not use Xinerama, apps are not able to intelligently
place windows.  Merged framebuffer mode provides its own pseudo-Xinerama.  This allows
Xinerama compliant applications to place windows appropriately.  There are some caveats.
Since merged framebuffer mode is able to change relative screen sizes and orientations on
the fly, as well has having overlapping viewports, pseudo-Xinerama, might not always 
provide the right hints.  Also many Xinerama compliant applications only query Xinerama
once at startup; if the information changes, they may not be aware of the change.  If
you are already using Xinerama (e.g., a single head card and a dualhead card providing
three heads), pseudo-Xinerama will be disabled.
.br
This option allows you turn off the driver provided pseudo-Xinerama extension.
.br
The default value is
.B TRUE.
.TP 
.BI "Option \*qMergedXineramaCRT2IsScreen0\*q \*q" boolean \*q
By default the pseudo-Xinerama provided by the driver makes the left-most or bottom
head Xinerama screen 0.  Certain Xinerama-aware applications do special things with 
screen 0.  To change that behavior, use this option.
.br
The default value is
.B undefined.
.TP
.BI "Option \*qMergedDPI\*q \*q" "string" \*q
The driver will attempt to figure out an appropriate DPI based on the DDC information
and the orientation of the heads when in merged framebuffer mode.  If this value does 
not suit you, you can manually set the DPI using this option.
.br
For example, Option "MergedDPI" "100 100"
.br
The default value is
.B undefined.
.TP
.BI "Option \*qMergedNonRectangular\*q \*q" boolean \*q
If you are using MergedFB with two modes of different sizes, turn this option on to 
keep the smaller head from scrolling within the larger virtual desktop and to keep 
the mouse from moving into that area.  Applications that are not Xinerama aware can 
potentially end up stranded in this area.
.br
The default value is
.B FALSE.
.TP
.BI "Option \*qColorTiling\*q \*q" "boolean" \*q
Frame buffer can be addressed either in linear or tiled mode. Tiled mode can provide
significant performance benefits with 3D applications, for 2D it shouldn't matter
much. Tiling will be disabled if the virtual x resolution exceeds 2048 (3968 for R300 
and above), if option
.B UseFBDev
is used, or (if DRI is enabled) the drm module is too old.
.br
If this option is enabled, a new dri driver is required for direct rendering too.
.br
Color tiling will be automatically disabled in interlaced or doublescan screen modes.
.br
The default value is
.B on.
.TP 
.BI "Option \*qIgnoreEDID\*q \*q" boolean \*q
Do not use EDID data for mode validation, but DDC is still used
for monitor detection. This is different from NoDDC option.
.br
The default value is
.B off.
.TP 
.BI "Option \*qPanelSize\*q \*q" "string" \*q
Should only be used when driver cannot detect the correct panel size.
Apply to both desktop (TMDS) and laptop (LVDS) digital panels.
When a valid panel size is specified, the timings collected from
DDC and BIOS will not be used. If you have a panel with timings 
different from that of a standard VESA mode, you have to provide
this information through the Modeline.
.br
For example, Option "PanelSize" "1400x1050"
.br
The default value is
.B none.
.TP 
.BI "Option \*qPanelOff\*q \*q" boolean \*q
Disable panel output.
.br
The default value is
.B off.
.TP
.BI "Option \*qEnablePageFlip\*q \*q" boolean \*q
Enable page flipping for 3D acceleration. This will increase performance
but not work correctly in some rare cases, hence the default is
.B off.
.TP
.BI "Option \*qForceMinDotClock\*q \*q" frequency \*q
Override minimum dot clock. Some Radeon BIOSes report a minimum dot
clock unsuitable (too high) for use with television sets even when they
actually can produce lower dot clocks. If this is the case you can
override the value here.
.B Note that using this option may damage your hardware.
You have been warned. The
.B frequency
parameter may be specified as a float value with standard suffixes like
"k", "kHz", "M", "MHz".
.TP
.BI "Option \*qRenderAccel\*q \*q" boolean \*q
Enables or disables hardware Render acceleration.  This driver does not
support component alpha (subpixel) rendering.  It is only supported on
Radeon series up to and including 9200 (9500/9700 and newer
unsupported).  The default is to
.B enable
Render acceleration.
.TP
.BI "Option \*qAccelMethod\*q \*q" "string" \*q
Chooses between available acceleration architectures.  Valid options are
.B XAA
and
.B EXA.
XAA is the traditional acceleration architecture and support for it is very
stable.  EXA is a newer acceleration architecture with better performance for
the Render and Composite extensions, but the rendering code for it is newer and
possibly unstable.  The default is
.B XAA.
.TP
.BI "Option \*qAccelDFS\*q \*q" boolean \*q
Use or don't use accelerated EXA DownloadFromScreen hook when possible (only
when Direct Rendering is enabled, e.g.).
Default:
.B off
with AGP due to issues with GPU->host transfers with some AGP bridges,
.B on
otherwise.
.TP
.BI "Option \*qFBTexPercent\*q \*q" integer \*q
Amount of video RAM to reserve for OpenGL textures, in percent. With EXA, the
remainder of video RAM is reserved for EXA offscreen management. Specifying 0
results in all offscreen video RAM being reserved for EXA and only GART memory
being available for OpenGL textures. This may improve EXA performance, but
beware that it may cause problems with OpenGL drivers from Mesa versions older
than 6.4. With XAA, specifiying lower percentage than what gets reserved without
this option has no effect, but the driver tries to increase the video RAM
reserved for textures to the amount specified roughly.
Default:
.B 50.
.TP
.BI "Option \*qDepthBits\*q \*q" integer \*q
Precision in bits per pixel of the shared depth buffer used for 3D acceleration.
Valid values are 16 and 24. When this is 24, there will also be a hardware
accelerated stencil buffer, but the combined depth/stencil buffer will take up
twice as much video RAM as when it's 16.
Default:
.B The same as the screen depth.
.TP
.BI "Option \*qDMAForXv\*q \*q" boolean \*q
Try or don't try to use DMA for Xv image transfers. This will reduce CPU
usage when playing big videos like DVDs, but may cause instabilities.
Default:
.B on.
.TP
.BI "Option \*qSubPixelOrder\*q \*q" "string" \*q
Force subpixel order to specified order.
Subpixel order is used for subpixel decimation on flat panels.
.br
NONE   \-\- No subpixel (CRT like displays)
.br
RGB    \-\- in horizontal RGB order (most flat panels)
.br
BGR    \-\- in horizontal BGR order (some flat panels)

.br
This option is intended to be used in following cases:
.br
1. The default subpixel order is incorrect for your panel.
.br
2. Enable subpixel decimation on analog panels.
.br
3. Adjust to one display type in dual-head clone mode setup.
.br
4. Get better performance with Render acceleration on 
digital panels (use NONE setting).
.br
The default is 
.B NONE 
for CRT, 
.B RGB 
for digital panels
.TP
.BI "Option \*qDynamicClocks\*q \*q" boolean \*q
Enable dynamic clock scaling.  The on-chip clocks will scale dynamically 
based on usage. This can help reduce heat and increase battery 
life by reducing power usage.  Some users report reduced 3D performance
with this enabled.  The default is
.B off.
.TP
.BI "Option \*qBIOSHotkeys\*q \*q" boolean \*q
Enable BIOS hotkey output switching. This allows the BIOS to toggle outputs
using hotkeys (e.g., fn-f7, etc.).  Since the driver does not support ACPI, 
there is no way to validate modes on an output switch and the BIOS can 
potentially change things behind the driver's back.  The default is
.B off.
.TP
.BI "Option \*qVGAAccess\*q \*q" boolean \*q
Tell the driver if it can do legacy VGA IOs to the card. This is
necessary for properly resuming consoles when in VGA text mode, but
shouldn't be if the console is using radeonfb or some other graphic
mode driver. Some platforms like PowerPC have issues with those, and they aren't
necessary unless you have a real text mode in console. The default is
.B off
on PowerPC and
.B on
on other architectures.
.TP
.BI "Option \*qReverseDDC\*q \*q" boolean \*q
When BIOS connector informations aren't available, use this option to
reverse the mapping of the 2 main DDC ports. Use this if the X serve
obviously detects the wrong display for each connector. This is
typically needed on the Radeon 9600 cards bundled with Apple G5s. The
default is
.B off.
.TP
.BI "Option \*qLVDSProbePLL\*q \*q" boolean \*q
When BIOS panel informations aren't available (like on PowerBooks), it
may still be necessary to use the firmware provided PLL values for the
panel or flickering will happen. This option will force probing of
the current value programmed in the chip when X is launched in that
case.  This is only useful for LVDS panels (laptop internal panels).
The default is
.B on.
.TP

.SH SEE ALSO
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
.SH AUTHORS
.nf
Authors include:
Rickard E. (Rik) Faith   \fIfaith@precisioninsight.com\fP
Kevin E. Martin          \fIkem@freedesktop.org\fP
Alan Hourihane           \fIalanh@fairlite.demon.co.uk\fP
Marc Aurele La France    \fItsi@xfree86.org\fP
Benjamin Herrenschmidt   \fIbenh@kernel.crashing.org\fP
Michel Dänzer            \fImichel@tungstengraphics.com\fP
Alex Deucher             \fIalexdeucher@gmail.com\fP
Bogdan D.                \fIbogdand@users.sourceforge.net\fP
Eric Anholt              \fIeric@anholt.net\fP