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
|
.\" Shorthand for double quote that works everywhere,
.\" also within other double quotes:
.ds q \N'34'
.TH VIA __drivermansuffix__ __vendorversion__
.SH NAME
via \- video driver for VIA Unichromes
.SH SYNOPSIS
.nf
.B "Section \*qDevice\*q"
.BI " Identifier \*q" string \*q
.B " Driver \*qvia\*q"
\ \ ...
.B EndSection
.fi
.SH DESCRIPTION
.B via
is an __xservername__ driver for VIA chipsets that have an integrated
Unichrome graphics engine.
.PP
The
.B via
driver supports the CLE266, KM/N400, K8M/N800, PM/N800 and CN400 chipsets
from VIA, including 2D acceleration and the Xv video overlay extensions.
Flat panel, TV, and VGA outputs are supported, depending on the hardware
configuration.
.PP
3D direct rendering is available using experimental drivers from Mesa
(www.mesa3d.org). There is also an XvMC client library for hardware
acceleration of MPEG1/MPEG2 decoding (available on the CLE266,
PM/N800, K8M/N800, and CN400 chipsets) that uses the Direct Rendering
Infrastructure (DRI). The XvMC client library implements a non-standard
"VLD" extension to the XvMC standard. The current Direct Rendering
Manager (DRM) kernel module is available at dri.sourceforge.net.
.PP
The driver supports free modes for Unichrome Pros (K8M/N800, PM/N800, and
CN400). For plain Unichromes (CLE266, KM/N400), it currently supports
only a limited number of dotclocks, so if you are using X modelines you
must make sure that the dotclock is one of those supported. Supported
dotclocks on plain Unichromes are currently (in MHz): 25.2, 25.312,
26.591, 31.5, 31.704, 32.663, 33.750, 35.5, 36.0, 39.822, 40.0, 41.164,
46.981, 49.5, 50.0, 56.3, 57.284, 64.995, 65.0, 65.028, 74.480,
75.0, 78.8, 81.613, 94.5, 108.0, 108.28, 122.0, 122.726, 135.0,
148.5, 155.8, 157.5, 161.793, 162.0, 175.5, 189.0, 202.5, 204.8,
218.3, 229.5. On top of this, bandwidth restrictions apply for both
Unichromes and Unichrome Pros.
.PP
.SH CONFIGURATION DETAILS
Please refer to __xconfigfile__(__filemansuffix__) for general configuration
details. This section only covers configuration details specific to this
driver.
.PP
The following driver
.B options
are supported:
.TP
.BI "Option \*qAccelMethod\*q \*q" string \*q
The driver supports "XAA" and "EXA" acceleration methods. The default
method is XAA, since EXA is still experimental. Contrary to XAA, EXA
implements acceleration for screen uploads and downlads (if DRI is
enabled) and for the Render/Composite extension.
.TP
.BI "Option \*qActiveDevice\*q \*q" string \*q
Specifies the active device combination. Any string containing "CRT",
"LCD", "DFP", "TV" should be possible. "CRT" represents anything that
is connected to the VGA port, "LCD" and "DFP" are for laptop panels
(not TFT screens attached to the VGA port), "TV" is self-explanatory.
The default is to use what is detected. The driver is currently unable
to use LCD and TV simultaneously, and will favour the LCD.
.TP
.BI "Option \*qAGPMem\*q \*q" integer \*q
Sets the amount of AGP memory that is allocated at X server startup.
The allocated memory will be "integer" kB. This AGP memory is used for
the AGP command buffer (if option "EnableAGPDMA" is set to "true"), for
DRI textures, and for the EXA scratch area. The driver will allocate at
least one system page of AGP memory and, if the AGP command buffer is
used, at least 2MB + one system page. If there is no room for the EXA
scratch area in AGP space, it will be allocated from VRAM. If there is
no room for DRI textures, they will be allocated from the DRI part of
VRAM (see the option "MaxDRIMem"). The default amount of AGP is
32768kB. Note that the AGP aperture set in the BIOS must be able
to accomodate the amount of AGP memory specified here. Otherwise no
AGP memory will be available. It is safe to set a very large AGP
aperture in the BIOS.
.TP
.BI "Option \*qCenter\*q \*q" boolean \*q
Enables or disables image centering on DVI displays.
.TP
.BI "Option \*qDisableIRQ\*q \*q" boolean \*q
Disables the Vblank IRQ. This is a workaround for some mainboards that
have problems with IRQs from the Unichrome engine. With IRQs disabled,
DRI clients have no way to synchronize drawing to Vblank. ( Enabled by
default on the KM400 and K8M800 Chipsets )
.TP
.BI "Option \*qDisableVQ\*q \*q" boolean \*q
Disables the use of VQ. VQ is enabled by default.
.TP
.BI "Option \*qEnableAGPDMA\*q \*q" boolean \*q
Enables the AGP DMA functionality in DRM. This requires that DRI is enabled
and will force 2D and 3D acceleration to use AGP DMA. The XvMC DRI client
will also make use of this on the CLE266 to consume much less CPU. ( This is
enabled by default on all chipsets except the K8M890 and P4M900 )
.TP
.BI "Option \*qExaNoComposite\*q \*q" boolean \*q
If EXA is enabled (using the option "AccelMethod"), this option enables
or disables acceleration of compositing. Since EXA, and in particular its
composite acceleration, is still experimental, this is a way to disable
a misbehaving composite acceleration.
.TP
.BI "Option \*qExaScratchSize\*q \*q" integer \*q
Sets the size of the EXA scratch area to "integer" kB. This area is
used by EXA as a last place to look for available space for pixmaps.
Too little space will slow compositing down. This option should be set
to the size of the largest pixmap used. If you have a screen width of
over 1024 pixels and use 24 bpp, set this to 8192. Otherwise you can
leave this at the default 4096. The space will be allocated from AGP
memory if available, otherwise from VRAM.
.TP
.BI "Option \*qHWCursor\*q \*q" boolean \*q
Enables or disables the use of hardware cursors. The default is enabled.
.TP
.BI "Option \*qLCDDualEdge\*q \*q" boolean \*q
Enables or disables the use of dual-edge mode to set the LCD.
.TP
.BI "Option \*qMaxDRIMem\*q \*q" integer \*q
Sets the maximum amount of VRAM memory allocated for DRI clients to
"integer" kB. Normally DRI clients get half the available VRAM size,
but in some cases it may make sense to limit this amount. For example,
if you are using a composite manager and you want to give as much memory
as possible to the EXA pixmap storage area.
.TP
.BI "Option \*qMigrationHeuristic\*q \*q" string \*q
Sets the heuristic for EXA pixmap migration. This is an EXA core
option, and on Xorg xserver versions after 1.1.0 this defaults to
"smart". The Openchrome driver performs best with "greedy", so you
should really add this option to your configuration file. The third
possibility is "always", which might become more useful in the future.
.TP
.BI "Option \*qNoAccel\*q \*q" boolean \*q
Disables or enables acceleration. Default: acceleration is enabled.
.TP
.BI "Option \*qNoAGPFor2D\*q \*q" boolean \*q
With this option set, 2D acceleration will not use AGP DMA even if
it is enabled.
.TP
.BI "Option \*qNoXVDMA\*q \*q" boolean \*q
If DRI is enabled, Xv normally uses PCI DMA to transfer video images
from system to frame-buffer memory. This is somewhat slower than
direct copies due to the limitations of the PCI bus, but on the other
hand it decreases CPU usage significantly, particularly on computers
with fast processors. Some video players are buggy and will display
rendering artifacts when PCI DMA is used. If you experience this,
or don't want your PCI bus to be stressed with Xv images, set this
option to "true". This option has no effect when DRI is not enabled.
.TP
.BI "Option \*qPanelSize\*q \*q" string \*q
Specifies the size (width x height) of the LCD panel attached to the
system. The sizes 640x480, 800x600, 1024x768, 1280x1024, and 1400x1050
are supported.
.TP
.BI "Option \*qRotate\*q \*q" string \*q
Rotates the display either clockwise ("CW") or counterclockwise ("CCW").
Rotation is only supported unaccelerated.
.TP
.BI "Option \*qShadowFB\*q \*q" boolean \*q
Uses a shadow frame buffer. This is required when rotating the display,
but otherwise defaults to disabled.
.TP
.BI "Option \*qSWCursor\*q \*q" boolean \*q
Enables or disables the use of a software cursor. The default is disabled.
.TP
.BI "Option \*qTVDeflicker\*q \*q" integer \*q
Specifies the deflicker setting for TV output. Valid values are "0", "1",
and "2". 0) No deflicker, 1) 1:1:1 deflicker, 2) 1:2:1 deflicker.
.TP
.BI "Option \*qTVDotCrawl\*q \*q" boolean \*q
Enables or disables dotcrawl.
.TP
.BI "Option \*qTVOutput\*q \*q" string \*q
Specifies which TV output to use. The driver supports "S-Video",
"Composite", "SC", "RGB" and "YCbCr" outputs. Note that on some
EPIA boards the compositer-video port is shared with audio-out and
is selected via a jumper.
.TP
.BI "Option \*qTVType\*q \*q" string \*q
Specifies TV output format. The driver currently supports "NTSC" and
"PAL" timings only.
.TP
.BI "Option \*qVBEModes\*q \*q" boolean \*q
Uses the VBE BIOS calls to set the display mode. This mimics the
behaviour of the vesa video driver but still provides acceleration and
other features. This option may be used if your hardware works with
the vesa driver but not with the Openchrome driver. It may not work
on 64-bit systems. Using "VBEModes" may speed up driver acceleration
significantly due to a more aggressive hardware setting, particularly
on systems with low memory bandwidth. Your refresh rate may be limited
to 60 Hz on some systems.
.TP
.BI "Option \*qVBESaveRestore\*q \*q" boolean \*q
Uses the VBE BIOS calls to save and restore the display state when the
X server is launched. This can be extremely slow on some hardware, and
the system may appear to have locked for 10 seconds or so. The default
is to use the driver builtin function. This option only works if option
"VBEModes" is enabled.
.TP
.BI "Option \*qVideoRAM\*q \*q" integer \*q
Overrides the VideoRAM autodetection. This should never be needed.
.PP
.SH "TV ENCODERS"
Unichromes tend to be paired with several different TV encoders.
.TP
.BI "VIA Technologies VT1621"
Still untested, as no combination with a Unichrome is known or available.
Supports the following normal modes: "640x480" and "800x600". Use
"640x480Over" and "800x600Over" for vertical overscan. These modes
are made available by the driver; modelines provided in __xconfigfile__
will be ignored.
.TP
.BI "VIA Technologies VT1622, VT1622A, VT1623"
Supports the following modes: "640x480", "800x600", "1024x768",
"848x480", "720x480" (NTSC only) and "720x576" (PAL only). Use
"640x480Over", "800x600Over", "1024x768Over", "848x480Over",
"720x480Over" (NTSC) and "720x576Over" (PAL) for vertical overscan.
The modes "720x480Noscale" (NTSC) and "720x576Noscale" (PAL) (available
on VT1622 only) provide cleaner TV output (unscaled with only minimal
overscan). These modes are made available by the driver; modelines
provided in __xconfigfile__ will be ignored.
.SH "SEE ALSO"
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
.SH AUTHORS
Authors include: ...
|