Improve man page formatting

More closely follow common style as described on
https://man7.org/linux/man-pages/man7/man-pages.7.html
and fix warnings raised by `mandoc -T lint` and `groff -rCHECKSTYLE=10`

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-savage/-/merge_requests/14>
This commit is contained in:
Alan Coopersmith
2025-06-08 13:43:36 -07:00
parent 09f6c06f0a
commit 678a7687ac

View File

@@ -1,8 +1,8 @@
.\" shorthand for double quote that works everywhere.
.ds q \N'34'
.TH SAVAGE __drivermansuffix__ __vendorversion__
.TH SAVAGE __drivermansuffix__ 2024-05-18 __vendorversion__
.SH NAME
savage \- S3 Savage video driver
savage \- S3 Savage video driver for Xorg
.SH SYNOPSIS
.nf
.B "Section \*qDevice\*q"
@@ -12,14 +12,16 @@ savage \- S3 Savage video driver
.B EndSection
.fi
.SH DESCRIPTION
.B savage
is an __xservername__ driver for the S3 Savage family video accelerator chips. 2D, 3D, and Xv acceleration
is supported on all chips except the Savage2000 (2D only). Dualhead operation is supported on MX, IX, and
SuperSavage chips. The
.B savage
is an Xorg driver for the S3 Savage family video accelerator chips.
2D, 3D, and Xv acceleration is supported on all chips except
the Savage2000 (2D only).
Dualhead operation is supported on MX, IX, and SuperSavage chips.
The
.B savage
driver supports PCI and AGP boards with the following chips:
.TP 16
.BI Savage3D
.B Savage3D
(8a20 and 8a21) (2D, 3D)
.TP 16
.B Savage4
@@ -58,43 +60,48 @@ driver supports PCI and AGP boards with the following chips:
.B ProSavage DDR-K
(8d04) (2D, 3D)
.SH CONFIGURATION DETAILS
Please refer to __xconfigfile__(__filemansuffix__) for general configuration
details. This section only covers configuration details specific to this
driver.
Please refer to
.BR xorg.conf (__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 \*qHWCursor\*q \*q" boolean \*q
.TP
.TQ
.BI "Option \*qSWCursor\*q \*q" boolean \*q
These two options interact to specify hardware or software cursor. If the
SWCursor option is specified, any HWCursor setting is ignored. Thus, either
\*qHWCursor off\*q or \*qSWCursor on\*q will force the use of the software
cursor. On Savage/MX and Savage/IX chips which are connected to LCDs, a
software cursor will be forced, because the Savage hardware cursor does not
These two options interact to specify hardware or software cursor.
If the SWCursor option is specified, any HWCursor setting is ignored.
Thus, either \*qHWCursor off\*q or \*qSWCursor on\*q
will force the use of the software cursor.
On Savage/MX and Savage/IX chips which are connected to LCDs,
a software cursor will be forced, because the Savage hardware cursor does not
correctly track the automatic panel expansion feature.
Default: hardware cursor.
.TP
.BI "Option \*qNoAccel\*q \*q" boolean \*q
Disable or enable acceleration. Default: acceleration is enabled.
Disable or enable acceleration.
Default: acceleration is enabled.
.TP
.BI "Option \*qAccelMethod\*q \*q" "string" \*q
Chooses between available acceleration architectures. The only valid option is
Chooses between available acceleration architectures.
The only valid option is
.BR EXA .
XAA was the traditional acceleration architecture, but support for it was
removed in Xorg 1.13.
XAA was the traditional acceleration architecture,
but support for it was removed in Xorg 1.13.
EXA is a newer acceleration architecture with better performance for
the Render and Composite extensions. The default is
the Render and Composite extensions.
The default is
.BR EXA .
.TP
.BI "Option \*qRotate\*q \*qCW\*q"
.TP
.BI "Option \*qRotate\*q \*qCCW\*q"
.B "Option \*qRotate\*q \*qCW\*q"
.TQ
.B "Option \*qRotate\*q \*qCCW\*q"
Rotate the desktop 90 degrees clockwise or counterclockwise.
This option forces the ShadowFB option on, and disables acceleration and
the RandR extension.
This option forces the ShadowFB option on,
and disables acceleration and the RandR extension.
Default: no rotation.
.TP
.BI "Option \*qShadowFB\*q \*q" boolean \*q
@@ -106,91 +113,105 @@ This option disables acceleration.
Default: off.
.TP
.BI "Option \*qLCDClock\*q \*q" frequency \*q
Override the maximum dot clock. Some LCD panels produce incorrect results if
they are driven at too fast of a frequency. If UseBIOS is on, the BIOS will
usually restrict the clock to the correct range. If not, it might be
necessary to override it here. The
Override the maximum dot clock.
Some LCD panels produce incorrect results if
they are driven at too fast of a frequency.
If UseBIOS is on, the BIOS will usually restrict the clock to the correct range.
If not, it might be necessary to override it here.
The
.B frequency
parameter may be specified as an integer in Hz (135750000), or with
standard suffixes like "k", "kHz", "M", or "MHz" (as in 135.75MHz).
parameter may be specified as an integer in Hz (135750000),
or with standard suffixes like "k", "kHz", "M", or "MHz" (as in 135.75MHz).
.TP
.BI "Option \*qCrtOnly\*q \*q" boolean \*q
This option disables output to the LCD and enables output to the CRT port only.
It is useful on laptops if you only want to use the CRT port or to force the CRT
output only on desktop cards that use mobile chips. Default: auto-detect active
outputs
.BI "Option \*qCrtOnly\*q \*q" boolean \*q
This option disables output to the LCD and enables output to the CRT port only.
It is useful on laptops if you only want to use the CRT port or to force the CRT
output only on desktop cards that use mobile chips.
Default: auto-detect active outputs
.TP
.BI "Option \*qUseBIOS\*q \*q" boolean \*q
Enable or disable use of the video BIOS to change modes. Ordinarily, the
.B savage
driver tries to use the video BIOS to do mode switches. This generally
produces the best results with the mobile chips (/MX and /IX), since the BIOS
knows how to handle the critical but unusual timing requirements of the
various LCD panels supported by the chip. To do this, the driver searches
through the BIOS mode list, looking for the mode which most closely matches
the __xconfigfile__ mode line. Some purists find this scheme objectionable. If
you would rather have the
Enable or disable use of the video BIOS to change modes.
Ordinarily, the
.B savage
driver tries to use the video BIOS to do mode switches.
This generally produces the best results with the mobile chips (/MX and /IX),
since the BIOS knows how to handle the critical but unusual timing requirements
of the various LCD panels supported by the chip.
To do this, the driver searches through the BIOS mode list,
looking for the mode which most closely matches the xorg.conf mode line.
Some purists find this scheme objectionable.
If you would rather have the
.B savage
driver use your mode line timing exactly, turn off the UseBios option.
.B Note:
Use of the BIOS is required for dualhead operation.
Use of the BIOS is required for dualhead operation.
Default: on (use the BIOS).
.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
Do not use EDID data for mode validation,
but DDC is still used for monitor detection.
This is different from the NoDDC option.
Default: off.
.TP
.BI "Option \*qShadowStatus\*q \*q" boolean \*q
Enables the use of a shadow status register. There is a chip bug in the
Savage graphics engine that can cause a bus lock when reading the engine
status register under heavy load, such as when scrolling text or dragging
windows. The bug affects about 4% of all Savage users without DRI and
a large fraction of users with DRI. If your system
hangs regularly while scrolling text or dragging windows, try turning this
option on. This uses an alternate method of reading the engine status
which is slightly more expensive, but avoids the problem. When DRI is
enabled then the default is \*qon\*q (use shadow status), otherwise
the default is \*qoff\*q (use normal status register).
Enables the use of a shadow status register.
There is a chip bug in the Savage graphics engine that can cause a bus lock
when reading the engine status register under heavy load,
such as when scrolling text or dragging windows.
The bug affects about 4% of all Savage users without DRI and
a large fraction of users with DRI.
If your system hangs regularly while scrolling text or dragging windows,
try turning this option on.
This uses an alternate method of reading the engine status
which is slightly more expensive, but avoids the problem.
When DRI is enabled then the default is \*qon\*q (use shadow status),
otherwise the default is \*qoff\*q (use normal status register).
.TP
.BI "Option \*qDisableCOB\*q \*q" boolean \*q
Disables the COB (Command Overflow Buffer) on savage4 and newer chips.
There is supposedly a HW cache coherency problem on certain savage4 and
newer chips that renders the COB useless. If you are having problems with
2D acceleration you can disable the COB, however you will lose some
performance. 3D acceleration requires the COB to work. This option only
applies to Savage4 and newer chips. Default: \*qoff\*q (use COB).
Disables the COB (Command Overflow Buffer) on savage4 and newer chips.
There is supposedly a HW cache coherency problem on certain savage4 and
newer chips that renders the COB useless.
If you are having problems with 2D acceleration you can disable the COB,
however you will lose some performance.
3D acceleration requires the COB to work.
This option only applies to Savage4 and newer chips.
Default: \*qoff\*q (use COB).
.TP
.BI "Option \*qBCIforXv\*q \*q" boolean \*q
Use the BCI to copy and reformat Xv pixel data. Using the BCI for Xv causes
graphics artifacts on some chips. This option only applies to Savage4 and
prosavage/twister chips. On some combinations of chipsets and video players,
BCI formatting might actually be slower than software formatting (\*qAGPforXv\*q
might help in this case). BCI formatting can only be used on video data with
a width that is a multiple of 16 pixels (which is the vast majority of videos).
Other widths are handled through software formatting. Default: on for prosavage
and twister (use BCI for Xv); off for savage4 (do not use the BCI for Xv).
.BI "Option \*qBCIforXv\*q \*q" boolean \*q
Use the BCI to copy and reformat Xv pixel data.
Using the BCI for Xv causes graphics artifacts on some chips.
This option only applies to Savage4 and prosavage/twister chips.
On some combinations of chipsets and video players,
BCI formatting might actually be slower than software formatting
(\*qAGPforXv\*q might help in this case).
BCI formatting can only be used on video data with
a width that is a multiple of 16 pixels (which is the vast majority of videos).
Other widths are handled through software formatting.
Default: on for prosavage and twister (use BCI for Xv);
off for savage4 (do not use the BCI for Xv).
.TP
.BI "Option \*qAGPforXv\*q \*q" boolean \*q
Instructs the BCI Xv pixel formatter to use AGP memory as a scratch buffer.
Ordinarily the BCI formatter uses a an area in framebuffer memory to hold
YV12 planar data to be converted for display. This requires a somewhat expensive
upload of YV12 data to framebuffer memory. The \*qAGPforXv\*q option causes the BCI
formatter to place the YV12 data in AGP memory instead, which can be uploaded
faster than the framebuffer. Use of this option cuts upload overhead by 25%
according to benchmarks. This option also smooths out most of the shearing
present when using BCI for pixel conversion. Currently this option is
Ordinarily the BCI formatter uses a an area in framebuffer memory to hold
YV12 planar data to be converted for display.
This requires a somewhat expensive upload of YV12 data to framebuffer memory.
The \*qAGPforXv\*q option causes the BCI formatter to place the YV12 data
in AGP memory instead, which can be uploaded faster than the framebuffer.
Use of this option cuts upload overhead by 25% according to benchmarks.
This option also smooths out most of the shearing
present when using BCI for pixel conversion.
Currently this option is
.B experimental
and is disabled by default. Video width restrictions that apply to \*qBCIforXv\*q
also apply here. Only valid when \*qDRI\*q and \*qBCIforXv\*q are both active,
and only on AGP chipsets. Default: \*qoff\*q.
.br
and is disabled by default.
Video width restrictions that apply to \*qBCIforXv\*q also apply here.
Only valid when \*qDRI\*q and \*qBCIforXv\*q are both active,
and only on AGP chipsets.
Default: \*qoff\*q.
.IP
If \*qAccelMethod\*q is set to \*qEXA\*q and \*qAGPforXv\*q is enabled, then the
driver will also attempt to reuse the AGP scratch buffer for UploadToScreen
driver will also attempt to reuse the AGP scratch buffer for UploadToScreen
acceleration.
.TP
.TP
.BI "Option \*qAGPMode\*q \*q" integer \*q
Set AGP data transfer rate.
(used only when DRI is enabled)
@@ -204,9 +225,9 @@ Set AGP data transfer rate.
others \-\- invalid
.TP
.BI "Option \*qAGPSize\*q \*q" integer \*q
The amount of AGP memory that will allocated for DMA and textures in
MB. Valid sizes are 4, 8, 16, 32, 64, 128 and 256. The default is
16MB.
The amount of AGP memory that will allocated for DMA and textures in MB.
Valid sizes are 4, 8, 16, 32, 64, 128, and 256.
The default is 16MB.
.TP
.BI "Option \*qDmaMode\*q \*q" string \*q
This option influences in which way DMA (direct memory access) is used
@@ -220,10 +241,10 @@ Vertex \-\- Only use vertex DMA or don't use DMA at all
.br
None \-\- Disable DMA
.br
Command and vertex DMA cannot be enabled at the same time. Which DMA
mode is actually used in the end also depends on the DRM version (only
>= 2.4.0 supports command DMA) and the hardware (Savage3D/MX/IX
doesn't support command DMA).
Command and vertex DMA cannot be enabled at the same time.
Which DMA mode is actually used in the end also depends on
the DRM version (only >= 2.4.0 supports command DMA) and
the hardware (Savage3D/MX/IX doesn't support command DMA).
.TP
.BI "Option \*qDmaType\*q \*q" string \*q
The type of memory that will be used by the 3D driver for DMA (direct
@@ -242,20 +263,25 @@ PCI \-\- PCI bus (default on PCI cards)
.br
AGP \-\- AGP bus (default on AGP cards)
.br
\*qAGP\*q only works if you have an AGP card. If you choose \*qPCI\*q
on an AGP card the AGP bus speed is not set and no AGP aperture is
allocated. This implies
.BI DmaType
\*qAGP\*q only works if you have an AGP card.
If you choose \*qPCI\*q on an AGP card the AGP bus speed is not set and
no AGP aperture is allocated.
This implies
.B DmaType
\*qPCI\*q.
.TP
.BI "Option \*qDRI\*q \*q" boolean \*q
Enable DRI support. This option allows you to enable or disable the DRI.
Enable DRI support.
This option allows you to enable or disable the DRI.
Default: \*qon\*q (enable DRI).
.SH FILES
savage_drv.o
.SH "SEE ALSO"
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
.BR Xorg (__appmansuffix__),
.BR xorg.conf (__filemansuffix__),
.BR Xserver (__appmansuffix__),
.BR X (__miscmansuffix__)
.SH AUTHORS
Authors include Tim Roberts (timr@probo.com) and Ani Joshi (ajoshi@unixbox.com)
for this version, and Tim Roberts and S. Marineau for the original driver from
for this version, and Tim Roberts and S. Marineau for the original driver from
which this was derived.