1181 lines
53 KiB
Plaintext
1181 lines
53 KiB
Plaintext
|
Information for Chips and Technologies Users
|
|||
|
David Bateman ( <dbateman@club-internet.fr>), Egbert Eich (
|
|||
|
<eich@freedesktop.org>)
|
|||
|
1st January 2001
|
|||
|
____________________________________________________________
|
|||
|
|
|||
|
Table of Contents
|
|||
|
|
|||
|
|
|||
|
1. Introduction
|
|||
|
2. Supported Chips
|
|||
|
2.1 Basic architecture
|
|||
|
2.2 WinGine architecture
|
|||
|
2.3 HiQV Architecture
|
|||
|
|
|||
|
3. xorg.conf Options
|
|||
|
4. Modelines
|
|||
|
5. Dual Display Channel
|
|||
|
6. The Full Story on Clock Limitations
|
|||
|
7. Troubleshooting
|
|||
|
8. Disclaimer
|
|||
|
9. Acknowledgement
|
|||
|
10. Authors
|
|||
|
|
|||
|
|
|||
|
______________________________________________________________________
|
|||
|
|
|||
|
[1m1. Introduction[0m
|
|||
|
|
|||
|
|
|||
|
The Chips and Technologies driver release in X11R6.8 came from XFree86
|
|||
|
4.4 rc2; this document was originally included in that release and has
|
|||
|
been updated modestly to reflect differences between X11R6.8 and
|
|||
|
XFree86 4.4 rc2.
|
|||
|
|
|||
|
With the release of XFree86 version 4.0, the Chips and Technologies
|
|||
|
driver has been extensively rewritten and contains many new features.
|
|||
|
This driver must be considered work in progress, and those users
|
|||
|
wanting stability are encouraged to use the older XFree86 3.3.x
|
|||
|
versions. However this version of the Chips and Technologies driver
|
|||
|
has many new features and bug fixes that might make users prefer to
|
|||
|
use this version. These features include
|
|||
|
|
|||
|
|
|||
|
+o The long standing black/blue screen problem that some people have
|
|||
|
had should be fixed.
|
|||
|
|
|||
|
+o Hardware/Software cursor switching on the fly, that should fix many
|
|||
|
of the known hardware cursor problems.
|
|||
|
|
|||
|
+o Gamma correction at all depths and DirectColor visuals for depths
|
|||
|
of 15 or greater with the HiQV series of chipsets.
|
|||
|
|
|||
|
+o Supports PsuedoColor overlays on 16bpp TrueColor screens for HiQV.
|
|||
|
|
|||
|
+o Supports YUV colour space conversion with the XVideo extension.
|
|||
|
|
|||
|
+o 32bpp pixmaps while using a framebuffer in 24bpp packed pixel mode.
|
|||
|
|
|||
|
+o Heaps more acceleration.
|
|||
|
|
|||
|
+o 1/4bpp support.
|
|||
|
|
|||
|
+o Multihead
|
|||
|
|
|||
|
|
|||
|
+o Much more...
|
|||
|
|
|||
|
This document attempts to discuss the features of this driver, the
|
|||
|
options useful in configuring it and the known problems. Most of the
|
|||
|
Chips and Technologies chipsets are supported by this driver to some
|
|||
|
degree.
|
|||
|
|
|||
|
|
|||
|
[1m2. Supported Chips[0m
|
|||
|
|
|||
|
|
|||
|
The Chips and Technologies chipsets supported by this driver have one
|
|||
|
of three basic architectures. A basic architecture, the WinGine
|
|||
|
architecture which is a modification on this basic architecture and a
|
|||
|
completely new HiQV architecture.
|
|||
|
|
|||
|
|
|||
|
[1m2.1. Basic architecture[0m
|
|||
|
|
|||
|
|
|||
|
[1mct65520[0m
|
|||
|
(Max Ram: 1Mb, Max Dclk: 68MHz@5V)
|
|||
|
|
|||
|
[1mct65525[0m
|
|||
|
This chip is basically identical to the 65530. It has the same
|
|||
|
ID and is identified as a 65530 when probed. See ct65530 for
|
|||
|
details.
|
|||
|
|
|||
|
[1mct65530[0m
|
|||
|
This is a very similar chip to the 65520. However it
|
|||
|
additionally has the ability for mixed 5V and 3.3V operation and
|
|||
|
linear addressing of the video memory. (Max Ram: 1Mb, Max Dclk:
|
|||
|
56MHz@3.3V, 68MHz@5V)
|
|||
|
|
|||
|
[1mct65535[0m
|
|||
|
This is the first chip of the ct655xx series to support fully
|
|||
|
programmable clocks. Otherwise it has the the same properties as
|
|||
|
the 65530.
|
|||
|
|
|||
|
[1mct65540[0m
|
|||
|
This is the first version of the of the ct655xx that was capable
|
|||
|
of supporting Hi-Color and True-Color. It also includes a fully
|
|||
|
programmable dot clock and supports all types of flat panels.
|
|||
|
(Max Ram: 1Mb, Max Dclk: 56MHz@3.3V, 68MHz@5V)
|
|||
|
|
|||
|
[1mct65545[0m
|
|||
|
The chip is very similar to the 65540, with the addition of H/W
|
|||
|
cursor, pop-menu acceleration, BitBLT and support of PCI Buses.
|
|||
|
PCI version also allow all the BitBLT and H/W cursor registers
|
|||
|
to be memory mapped 2Mb above the Base Address. (Max Ram: 1Mb,
|
|||
|
Max Dclk: 56MHz@3.3V,68MHz@5V)
|
|||
|
|
|||
|
[1mct65546[0m
|
|||
|
This chip is specially manufactured for Toshiba, and so
|
|||
|
documentation is not widely available. It is believed that this
|
|||
|
is really just a 65545 with a higher maximum dot-clock of 80MHz.
|
|||
|
(Max Ram: 1Mb?, Max Dclk: 80MHz?)
|
|||
|
|
|||
|
[1mct65548[0m
|
|||
|
This chip is similar to the 65545, but it also includes XRAM
|
|||
|
support and supports the higher dot clocks of the 65546. (Max
|
|||
|
Ram: 1Mb, Max Dclk: 80MHz)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
[1m2.2. WinGine architecture[0m
|
|||
|
|
|||
|
|
|||
|
[1mct64200[0m
|
|||
|
This chip, also known as the WinGine, is used in video cards for
|
|||
|
desktop systems. It often uses external DAC's and programmable
|
|||
|
clock chips to supply additional functionally. None of these are
|
|||
|
currently supported within the driver itself, so many cards will
|
|||
|
only have limited support. Linear addressing is not supported
|
|||
|
for this card in the driver. (Max Ram: 2Mb, Max Dclk: 80MHz)
|
|||
|
|
|||
|
[1mct64300[0m
|
|||
|
This is a more advanced version of the WinGine chip, with
|
|||
|
specification very similar to the 6554x series of chips. However
|
|||
|
there are many differences at a register level. A similar level
|
|||
|
of acceleration to the 65545 is included for this driver. (Max
|
|||
|
Ram: 2Mb, Max Dclk: 80MHz)
|
|||
|
|
|||
|
|
|||
|
[1m2.3. HiQV Architecture[0m
|
|||
|
|
|||
|
|
|||
|
[1mct65550[0m
|
|||
|
This chip includes many new features, including improved BitBLT
|
|||
|
support (24bpp colour expansion, wider maximum pitch, etc),
|
|||
|
Multimedia unit (video capture, zoom video port, etc) and 24bpp
|
|||
|
uncompressed true colour (i.e 32bpp mode). Also memory mapped
|
|||
|
I/O is possible on all bus configurations. (Max Ram: 2Mb, Max
|
|||
|
Dclk: 80MHz@3.3V,100MHz@5V)
|
|||
|
|
|||
|
[1mct65554[0m
|
|||
|
This chip is similar to the 65550 but has a 64bit memory bus as
|
|||
|
opposed to a 32bit bus. It also has higher limits on the maximum
|
|||
|
memory and pixel clocks (Max Ram: 4Mb, Max Dclk: 100MHz@3.3V)
|
|||
|
|
|||
|
[1mct65555[0m
|
|||
|
Similar to the 65554 but has yet higher maximum memory and pixel
|
|||
|
clocks. It also includes a new DSTN dithering scheme that
|
|||
|
improves the performance of DSTN screens. (Max Ram: 4Mb, Max
|
|||
|
Dclk: 110MHz@3.3V)
|
|||
|
|
|||
|
[1mct68554[0m
|
|||
|
Similar to the 65555 but also incorporates "PanelLink" drivers.
|
|||
|
This serial link allows an LCD screens to be located up to 100m
|
|||
|
from the video processor. Expect to see this chip soon in LCD
|
|||
|
desktop machines (Max Ram: 4Mb, Max Dclk: 110MHz@3.3V)
|
|||
|
|
|||
|
[1mct69000[0m
|
|||
|
Similar to the 65555 but incorporates 2Mbytes of SGRAM on chip.
|
|||
|
It is the first Chips and Technologies chipset where all of the
|
|||
|
registers are accessible through MMIO, rather than just the
|
|||
|
BitBlt registers. (Max Ram: 2Mb Only, Max Dclk: 130MHz@3.3V)
|
|||
|
|
|||
|
[1mct69030[0m
|
|||
|
Similar to the 69000 but incorporates 4Mbytes of SGRAM on chip
|
|||
|
and has faster memory and pixel clock limits. Also includes a
|
|||
|
second display channel so that the CRT can display independently
|
|||
|
of the LCD. (Max Ram: 4Mb Only, Max Dclk: 170MHz@3.3V)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
[1m3. xorg.conf Options[0m
|
|||
|
|
|||
|
|
|||
|
The following options are of particular interest to the Chips and
|
|||
|
Technologies driver. It should be noted that the options are case
|
|||
|
insensitive, and that white space and "_" characters are ignored.
|
|||
|
There are therefore a wide variety of possible forms for all options.
|
|||
|
The forms given below are the preferred forms.
|
|||
|
|
|||
|
Options related to drivers can be present in the Screen, Device and
|
|||
|
Monitor sections and the Display subsections. The order of precedence
|
|||
|
is Display, Screen, Monitor, Device.
|
|||
|
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
This option will disable the use of any accelerated functions.
|
|||
|
This is likely to help with some problems related to DRAM
|
|||
|
timing, high dot clocks, and bugs in accelerated functions, at
|
|||
|
the cost of performance (which will still be reasonable on
|
|||
|
VLB/PCI).
|
|||
|
|
|||
|
[1mVideoRam 1024 (or another value)[0m
|
|||
|
This option will override the detected amount of video memory,
|
|||
|
and pretend the given amount of memory is present on the card.
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
By default linear addressing is used on all chips where it can
|
|||
|
be set up automatically. The exception is for depths of 1 or
|
|||
|
4bpp where linear addressing is turned off by default. It is
|
|||
|
possible to turn the linear addressing off with this option.
|
|||
|
Note that H/W acceleration is only supported with linear
|
|||
|
addressing.
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
When the chipset is capable of linear addressing and it has been
|
|||
|
turned off by default, this option can be used to turn it back
|
|||
|
on. This is useful for the 65530 chipset where the base address
|
|||
|
of the linear framebuffer must be supplied by the user, or at
|
|||
|
depths 1 and 4bpp. Note that linear addressing at 1 and 4bpp is
|
|||
|
not guaranteed to work correctly.
|
|||
|
|
|||
|
[1mMemBase 0x03b00000 (or a different address)[0m
|
|||
|
This sets the physical memory base address of the linear
|
|||
|
framebuffer. Typically this is probed correctly, but if you
|
|||
|
believe it to be mis-probed, this option might help. Also for
|
|||
|
non PCI machines specifying this force the linear base address
|
|||
|
to be this value, reprogramming the video processor to suit.
|
|||
|
Note that for the 65530 this is required as the base address
|
|||
|
can't be correctly probed.
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
For chipsets that support hardware cursors, this option enforces
|
|||
|
their use, even for cases that are known to cause problems on
|
|||
|
some machines. Note that it is overridden by the "SWcursor"
|
|||
|
option. Hardware cursors effectively speeds all graphics
|
|||
|
operations as the job of ensuring that the cursor remains on top
|
|||
|
is now given to the hardware. It also reduces the effect of
|
|||
|
cursor flashing during graphics operations.
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
This disables use of the hardware cursor provided by the chip.
|
|||
|
Try this if the cursor seems to have problems.
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
The server is unable to differentiate between SS STN and TFT
|
|||
|
displays. This forces it to identify the display as a SS STN
|
|||
|
rather than a TFT.
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
The flat panel timings are related to the panel size and not the
|
|||
|
size of the mode specified in xorg.conf. For this reason the
|
|||
|
default behaviour of the server is to use the panel timings
|
|||
|
already installed in the chip. The user can force the panel
|
|||
|
timings to be recalculated from the modeline with this option.
|
|||
|
However the panel size will still be probed.
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
For some machines the LCD panel size is incorrectly probed from
|
|||
|
the registers. This option forces the LCD panel size to be
|
|||
|
overridden by the modeline display sizes. This will prevent the
|
|||
|
use of a mode that is a different size than the panel. Before
|
|||
|
using this check that the server reports an incorrect panel
|
|||
|
size. This option can be used in conjunction with the option
|
|||
|
"UseModeline" to program all the panel timings using the
|
|||
|
modeline values.
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
When the size of the mode used is less than the panel size, the
|
|||
|
default behaviour of the server is to stretch the mode in an
|
|||
|
attempt to fill the screen. A "letterbox" effect with no
|
|||
|
stretching can be achieved using this option.
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
When the size of the mode used is less than the panel size, the
|
|||
|
default behaviour of the server is to align the left hand edge
|
|||
|
of the display with the left hand edge of the screen. Using this
|
|||
|
option the mode can be centered in the screen. This option is
|
|||
|
reported to have problems with some machines at 16/24/32bpp, the
|
|||
|
effect of which is that the right-hand edge of the mode will be
|
|||
|
pushed off the screen.
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
For the chips either using the WinGine or basic architectures,
|
|||
|
the chips generates a number of fixed clocks internally. With
|
|||
|
the chips 65535 and later or the 64300, the default is to use
|
|||
|
the programmable clock for all clocks. It is possible to use the
|
|||
|
fixed clocks supported by the chip instead by using this option.
|
|||
|
Typically this will give you some or all of the clocks 25.175,
|
|||
|
28.322, 31.000 and 36.000MHz. The current programmable clock
|
|||
|
will be given as the last clock in the list. On a cold-booted
|
|||
|
system this might be the appropriate value to use at the text
|
|||
|
console (see the "TextClockFreq" option), as many flat panels
|
|||
|
will need a dot clock different than the default to synchronise.
|
|||
|
The programmable clock makes this option obsolete and so it's
|
|||
|
use isn't recommended. It is completely ignored for HiQV
|
|||
|
chipsets.
|
|||
|
|
|||
|
[1mTextClockFreq 25.175[0m
|
|||
|
Except for the HiQV chipsets, it is impossible for the server to
|
|||
|
read the value of the currently used frequency for the text
|
|||
|
console when using programmable clocks. Therefore the server
|
|||
|
uses a default value of 25.175MHz as the text console clock. For
|
|||
|
some LCDs, in particular DSTN screens, this clock will be wrong.
|
|||
|
This allows the user to select a different clock for the server
|
|||
|
to use when returning to the text console.
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
Option "FPClock16" "65.0MHz" Option "FPClock24" "65.0MHz"
|
|||
|
Option "FPClock32" "65.0MHz"" In general the LCD panel clock
|
|||
|
should be set independently of the modelines supplied. Normally
|
|||
|
the chips BIOS set the flat panel clock correctly and so the
|
|||
|
default behaviour with HiQV chipset is to leave the flat panel
|
|||
|
clock alone, or force it to be 90% of the maximum allowable
|
|||
|
clock if the current panel clock exceeds the dotclock limitation
|
|||
|
due to a depth change. This option allows the user to force the
|
|||
|
server the reprogram the flat panel clock independently of the
|
|||
|
modeline with HiQV chipset. The four options are for 8bpp or
|
|||
|
less, 16, 24 or 32bpp LCD panel clocks, where the options above
|
|||
|
set the clocks to 65MHz.
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
Option "FPClkIndx" "1"" The HiQV series of chips have three
|
|||
|
programmable clocks. The first two are usually loaded with
|
|||
|
25.175 and 28.322MHz for VGA backward compatibility, and the
|
|||
|
third is used as a fully programmable clock. On at least one
|
|||
|
system (the Inside 686 LCD/S single board computer) the third
|
|||
|
clock is unusable. These options can be used to force a
|
|||
|
particular clock index to be used
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
This has a different effect depending on the hardware on which
|
|||
|
it is used. For the 6554x machines MMIO is only used to talk to
|
|||
|
the BitBLT engine and is only usable with PCI buses. It is
|
|||
|
enabled by default for 65545 machines since the blitter can not
|
|||
|
be used otherwise. The HiQV series of chipsets must use MMIO
|
|||
|
with their BitBLT engines, and so this is enabled by default.
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
The 690xx chipsets can use MMIO for all communications with the
|
|||
|
video processor. So using this option on a 690xx chipset forces
|
|||
|
them to use MMIO for all communications. This only makes sense
|
|||
|
when the 690xx is on a PCI bus so that normal PIO can be
|
|||
|
disabled.
|
|||
|
|
|||
|
[1mOption[0m
|
|||
|
This option sets the centering and stretching to the BIOS
|
|||
|
default values. This can fix suspend/resume problems on some
|
|||
|
machines. It overrides the options "LcdCenter" and "NoStretch".
|
|||
|
|
|||
|
[1mOption [22mFor 24bpp on TFT screens, the server assumes that
|
|||
|
a 24bit bus is being used. This can result in a
|
|||
|
reddish tint to 24bpp mode. This option, selects
|
|||
|
an 18 bit TFT bus. For other depths this option
|
|||
|
has no effect.
|
|||
|
|
|||
|
[1mChipset [22mIt is possible that the chip could be
|
|||
|
misidentified, particular due to interactions
|
|||
|
with other drivers in the server. It is possible
|
|||
|
to force the server to identify a particular chip
|
|||
|
with this option.
|
|||
|
|
|||
|
[1mOption [22mComposite sync on green. Possibly useful if you
|
|||
|
wish to use an old workstation monitor. The HiQV
|
|||
|
internal RAMDAC's supports this mode of
|
|||
|
operation, but whether a particular machine does
|
|||
|
depends on the manufacturer.
|
|||
|
|
|||
|
[1mDacSpeed 80.000 [22mThe server will limit the maximum dotclock to a
|
|||
|
value as specified by the manufacturer. This
|
|||
|
might make certain modes impossible to obtain
|
|||
|
with a reasonable refresh rate. Using this option
|
|||
|
the user can override the maximum dot-clock and
|
|||
|
specify any value they prefer. Use caution with
|
|||
|
this option, as driving the video processor
|
|||
|
beyond its specifications might cause damage.
|
|||
|
|
|||
|
[1mOption [22mOption "SetMClk" "38000kHz"" This option sets the
|
|||
|
internal memory clock (MCLK) registers of HiQV
|
|||
|
chipsets to 38MHz or some other value. Use
|
|||
|
caution as excess heat generated by the video
|
|||
|
processor if its specifications are exceeded
|
|||
|
might cause damage. However careful use of this
|
|||
|
option might boost performance. This option might
|
|||
|
also be used to reduce the speed of the memory
|
|||
|
clock to preserve power in modes that don't need
|
|||
|
the full speed of the memory to work correctly.
|
|||
|
This option might also be needed to reduce the
|
|||
|
speed of the memory clock with the "Overlay"
|
|||
|
option.
|
|||
|
|
|||
|
[1mOption [22mBy default it is assumed that there are 6
|
|||
|
significant bits in the RGB representation of the
|
|||
|
colours in 4bpp and above. If the colours seem
|
|||
|
darker than they should be, perhaps your ramdac
|
|||
|
is has 8 significant bits. This option forces the
|
|||
|
server to assume that there are 8 significant
|
|||
|
bits.
|
|||
|
|
|||
|
[1mOption [22mThis is a debugging option and general users have
|
|||
|
no need of it. Using this option, when the
|
|||
|
virtual desktop is scrolled away from the zero
|
|||
|
position, the pixmap cache becomes visible. This
|
|||
|
is useful to see that pixmaps, tiles, etc have
|
|||
|
been properly cached.
|
|||
|
|
|||
|
[1mOption [22mThis option is only useful when acceleration
|
|||
|
can't be used and linear addressing can be used.
|
|||
|
With this option all of the graphics are rendered
|
|||
|
into a copy of the framebuffer that is keep in
|
|||
|
the main memory of the computer, and the screen
|
|||
|
is updated from this copy. In this way the
|
|||
|
expensive operation of reading back to contents
|
|||
|
of the screen is never performed and the
|
|||
|
performance is improved. Because the rendering is
|
|||
|
all done into a virtual framebuffer acceleration
|
|||
|
can not be used.
|
|||
|
|
|||
|
[1mOption [22mThe new TMED DSTN dithering scheme available on
|
|||
|
recent HiQV chipsets gives improved performance.
|
|||
|
However, some machines appear to have this
|
|||
|
feature incorrectly setup. If you have snow on
|
|||
|
your DSTN LCD, try using this option. This option
|
|||
|
is only relevant for chipsets more recent than
|
|||
|
the ct65555 and only when used with a DSTN LCD.
|
|||
|
|
|||
|
[1mOption [22mThe HiQV chipsets contain a multimedia engine
|
|||
|
that allow a 16bpp window to be overlayed on the
|
|||
|
screen. This driver uses this capability to
|
|||
|
include a 16bpp framebuffer on top of an 8bpp
|
|||
|
framebuffer. In this way PseudoColor and
|
|||
|
TrueColor visuals can be used on the same screen.
|
|||
|
XFree86 believes that the 8bpp framebuffer is
|
|||
|
overlayed on the 16bpp framebuffer. Therefore to
|
|||
|
use this option the server must be started in
|
|||
|
either 15 or 16bpp depth. Also the maximum size
|
|||
|
of the desktop with this option is 1024x1024, as
|
|||
|
this is the largest window that the HiQV
|
|||
|
multimedia engine can display. Note that this
|
|||
|
option using the multimedia engine to its limit,
|
|||
|
and some manufacturers have set a default memory
|
|||
|
clock that will cause pixel errors with this
|
|||
|
option. If you get pixel error with this option
|
|||
|
try using the "SetMClk" option to slow the memory
|
|||
|
clock. It should also be noted that the XVideo
|
|||
|
extension uses the same capabilities of the HiQV
|
|||
|
chipsets as the Overlays. So using this option
|
|||
|
disables the XVideo extension.
|
|||
|
|
|||
|
|
|||
|
[1mOption [22mNormally the colour transparency key for the
|
|||
|
overlay is the 8bpp lookup table entry 255. This
|
|||
|
might cause troubles with some applications, and
|
|||
|
so this option allows the colour transparency key
|
|||
|
to be set to some other value. Legal values are 2
|
|||
|
to 255 inclusive.
|
|||
|
|
|||
|
[1mOption [22mThis sets the default pixel value for the YUV
|
|||
|
video overlay key. Legal values for this key are
|
|||
|
depth dependent. That is from 0 to 255 for 8bit
|
|||
|
depth, 0 to 32,767 for 15bit depth, etc. This
|
|||
|
option might be used if the default video overlay
|
|||
|
key causes problems.
|
|||
|
|
|||
|
[1mOption [22mThe 69030 chipset has independent display
|
|||
|
channels, that can be configured to support
|
|||
|
independent refresh rates on the flat panel and
|
|||
|
on the CRT. The default behaviour is to have both
|
|||
|
the flat panel and the CRT use the same display
|
|||
|
channel and thus the same refresh rate. This
|
|||
|
option forces the two display channels to be
|
|||
|
used, giving independent refresh rates.
|
|||
|
|
|||
|
[1mOption [22mThe ct69030 supports dual-head display. By
|
|||
|
default the two display share equally the
|
|||
|
available memory. This option forces the second
|
|||
|
display to take a particular amount of memory.
|
|||
|
Please read the section below about dual-head
|
|||
|
display.
|
|||
|
|
|||
|
[1mOption [22mOption "XaaNoSolidFillRect", Option "XaaNoSolid-
|
|||
|
HorVertLine", Option "XaaNoMono8x8PatternFill-
|
|||
|
Rect", Option "XaaNoColor8x8PatternFillRect",
|
|||
|
Option "XaaNoCPUToScreenColorExpandFill", Option
|
|||
|
"XaaNoScreenToScreenColorExpandFill", Option
|
|||
|
"XaaNoImageWriteRect", Option "XaaNoImageRead-
|
|||
|
Rect", Option "XaaNoPixmapCache", Option
|
|||
|
"XaaNoOffscreenPixmaps" " These option
|
|||
|
individually disable the features of the XAA
|
|||
|
acceleration code that the Chips and Technologies
|
|||
|
driver uses. If you have a problem with the
|
|||
|
acceleration and these options will allow you to
|
|||
|
isolation the problem. This information will be
|
|||
|
invaluable in debugging any problems.
|
|||
|
|
|||
|
|
|||
|
[1m4. Modelines[0m
|
|||
|
|
|||
|
|
|||
|
When constructing a modeline for use with the Chips and Technologies
|
|||
|
driver you'll needed to considered several points
|
|||
|
|
|||
|
|
|||
|
[1m* Virtual Screen Size[0m
|
|||
|
It is the virtual screen size that determines the amount of
|
|||
|
memory used by a mode. So if you have a virtual screen size set
|
|||
|
to 1024x768 using a 800x600 at 8bpp, you use 768kB for the mode.
|
|||
|
Further to this some of the XAA acceleration requires that the
|
|||
|
display pitch is a multiple of 64 pixels. So the driver will
|
|||
|
attempt to round-up the virtual X dimension to a multiple of 64,
|
|||
|
but leave the virtual resolution untouched. This might further
|
|||
|
reduce the available memory.
|
|||
|
|
|||
|
[1m* 16/24/32 Bits Per Pixel[0m
|
|||
|
Hi-Color and True-Color modes are implemented in the server. The
|
|||
|
clocks in the 6554x series of chips are internally divided by 2
|
|||
|
for 16bpp and 3 for 24bpp, allowing one modeline to be used at
|
|||
|
all depths. The effect of this is that the maximum dot clock
|
|||
|
visible to the user is a half or a third of the value at 8bpp.
|
|||
|
The HiQV series of chips doesn't need to use additional clock
|
|||
|
cycles to display higher depths, and so the same modeline can be
|
|||
|
used at all depths, without needing to divide the clocks. Also
|
|||
|
16/24/32 bpp modes will need 2 , 3 or 4 times respectively more
|
|||
|
video ram.
|
|||
|
|
|||
|
[1m* Frame Acceleration[0m
|
|||
|
Many DSTN screens use frame acceleration to improve the
|
|||
|
performance of the screen. This can be done by using an external
|
|||
|
frame buffer, or incorporating the framebuffer at the top of
|
|||
|
video ram depending on the particular implementation. The
|
|||
|
Xserver assumes that the framebuffer, if used, will be at the
|
|||
|
top of video ram. The amount of ram required for the
|
|||
|
framebuffer will vary depending on the size of the screen, and
|
|||
|
will reduce the amount of video ram available to the modes.
|
|||
|
Typical values for the size of the framebuffer will be 61440
|
|||
|
bytes (640x480 panel), 96000 bytes (800x600 panel) and 157287
|
|||
|
bytes (1024x768 panel).
|
|||
|
|
|||
|
[1m* H/W Acceleration[0m
|
|||
|
The H/W cursor will need 1kB for the 6554x and 4kb for the
|
|||
|
65550. On the 64300 chips the H/W cursor is stored in registers
|
|||
|
and so no allowance is needed for the H/W cursor. In addition to
|
|||
|
this many graphics operations are speeded up using a "pixmap
|
|||
|
cache". Leaving too little memory available for the cache will
|
|||
|
only have a detrimental effect on the graphics performance.
|
|||
|
|
|||
|
[1m* PseudoColor Overlay[0m
|
|||
|
If you use the "overlay" option, then there are actually two
|
|||
|
framebuffers in the video memory. An 8bpp one and a 16bpp one.
|
|||
|
The total memory requirements in this mode of operation is
|
|||
|
therefore similar to a 24bpp mode. The overlay consumes memory
|
|||
|
bandwidth, so that the maximum dotclock will be similar to a
|
|||
|
24bpp mode.
|
|||
|
|
|||
|
[1m* XVideo extension*[0m
|
|||
|
Like the overlays, the Xvideo extension uses a part of the video
|
|||
|
memory for a second framebuffer. In this case enough memory
|
|||
|
needs to be left for the largest unscaled video window that will
|
|||
|
be displayed.
|
|||
|
|
|||
|
[1m* VESA like modes[0m
|
|||
|
We recommend that you try and pick a mode that is similar to a
|
|||
|
standard VESA mode. If you don't a suspend/resume or LCD/CRT
|
|||
|
switch might mess up the screen. This is a problem with the
|
|||
|
video BIOS not knowing about all the funny modes that might be
|
|||
|
selected.
|
|||
|
|
|||
|
[1m* Dot Clock[0m
|
|||
|
For LCD screens, the lowest clock that gives acceptable contrast
|
|||
|
and flicker is usually the best one. This also gives more memory
|
|||
|
bandwidth for use in the drawing operations. Some users prefer
|
|||
|
to use clocks that are defined by their BIOS. This has the
|
|||
|
advantage that the BIOS will probably restore the clock they
|
|||
|
specified after a suspend/resume or LCD/CRT switch. For a
|
|||
|
complete discussion on the dot clock limitations, see the next
|
|||
|
section.
|
|||
|
|
|||
|
[1m* Dual-head display[0m
|
|||
|
Dual-head display has two effects on the modelines. Firstly, the
|
|||
|
memory requirements of both heads must fit in the available
|
|||
|
memory. Secondly, the memory bandwidth of the video processor is
|
|||
|
shared between the two heads. Hence the maximum dot-clock might
|
|||
|
need to be limited.
|
|||
|
|
|||
|
The driver is capable of driving both a CRT and a flat panel display.
|
|||
|
In fact the timing for the flat panel are dependent on the
|
|||
|
specification of the panel itself and are independent of the
|
|||
|
particular mode chosen. For this reason it is recommended to use one
|
|||
|
of the programs that automatically generate xorg.conf files, such as
|
|||
|
"xorgconfig".
|
|||
|
|
|||
|
However there are many older machines, particularly those with 800x600
|
|||
|
screen or larger, that need to reprogram the panel timings. The reason
|
|||
|
for this is that the manufacturer has used the panel timings to get a
|
|||
|
standard EGA mode to work on flat panel, and these same timings don't
|
|||
|
work for an SVGA mode. For these machines the "UseModeline" and/or
|
|||
|
possibly the "FixPanelSize" option might be needed. Some machines that
|
|||
|
are known to need these options include.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Modeline "640x480@8bpp" 25.175 640 672 728 816 480 489 501 526
|
|||
|
Modeline "640x480@16bpp" 25.175 640 672 728 816 480 489 501 526
|
|||
|
Options: "UseModeline"
|
|||
|
Tested on a Prostar 8200, (640x480, 65548, 1Mbyte)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Modeline "800x600@8bpp" 28.322 800 808 848 936 600 600 604 628
|
|||
|
Options: "FixPanelSize", "UseModeline"
|
|||
|
Tested on a HP OmniBook 5000CTS (800x600 TFT, 65548, 1Mbyte)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Modeline "800x600@8bpp" 30.150 800 896 960 1056 600 600 604 628
|
|||
|
Options: "FixPanelSize", "UseModeline"
|
|||
|
Tested on a Zeos Meridan 850c (800x600 DSTN, 65545, 1Mbyte)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
The IBM PC110 works best with a 15MHz clock (Thanks to Alan Cox):
|
|||
|
|
|||
|
|
|||
|
Modeline "640x480" 15.00 640 672 728 816 480 489 496 526
|
|||
|
Options: "TextClockFreq" "15.00"
|
|||
|
IBM PC110 (65535, Citizen L6481L-FF DSTN)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
The NEC Versa 4080 just needs the "FixPanelSize" option. To the best
|
|||
|
of my knowledge no machine with a HiQV needs the "UseModeline" or
|
|||
|
"FixPanelSize" options.
|
|||
|
|
|||
|
|
|||
|
[1m5. Dual Display Channel[0m
|
|||
|
|
|||
|
|
|||
|
XFree86 releases later than 4.1.0 and X.Org releases later than 6.7.0
|
|||
|
support dual-channel display on the ct69030. This support can be used
|
|||
|
to give a single display image on two screen with different refresh
|
|||
|
rates, or entirely different images on the two displays.
|
|||
|
|
|||
|
Dual refresh rate display can be selected with the "DualRefresh"
|
|||
|
option described above. However to use the dual-head support is
|
|||
|
slightly more complex. Firstly, the ct69030 chipset must be installed
|
|||
|
on a PCI bus. This is a driver limitation that might be relaxed in the
|
|||
|
future. In addition the device, screen and layout sections of the
|
|||
|
"xorg.conf" must be correctly configured. A sample of an incomplete
|
|||
|
"xorg.conf" is given below
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Section "Device"
|
|||
|
Identifier "Chips and Technologies - Pipe A"
|
|||
|
Driver "chips"
|
|||
|
BusID "PCI:0:20:0"
|
|||
|
Screen 0
|
|||
|
EndSection
|
|||
|
|
|||
|
Section "Device"
|
|||
|
Identifier "Chips and Technologies - Pipe B"
|
|||
|
Driver "chips"
|
|||
|
BusID "PCI:0:20:0"
|
|||
|
Screen 1
|
|||
|
EndSection
|
|||
|
|
|||
|
Section "Screen"
|
|||
|
Identifier "Screen 0"
|
|||
|
Device "Chips and Technologies - Pipe A"
|
|||
|
Monitor "generic LCD"
|
|||
|
|
|||
|
SubSection "Display"
|
|||
|
Depth 16
|
|||
|
Modes "1024x768"
|
|||
|
EndSubsection
|
|||
|
EndSection
|
|||
|
|
|||
|
Section "Screen"
|
|||
|
Identifier "Screen 1"
|
|||
|
Device "Chips and Technologies - Pipe B"
|
|||
|
Monitor "generic CRT"
|
|||
|
|
|||
|
SubSection "Display"
|
|||
|
Depth 16
|
|||
|
Modes "1024x768"
|
|||
|
EndSubsection
|
|||
|
EndSection
|
|||
|
|
|||
|
Section "ServerLayout"
|
|||
|
Identifier "Main Layout"
|
|||
|
Screen "Screen 0"
|
|||
|
Screen "Screen 1" RightOf "Screen 0"
|
|||
|
InputDevice "Mouse1" "CorePointer"
|
|||
|
InputDevice "Keyboard1" "CoreKeyboard"
|
|||
|
EndSection
|
|||
|
|
|||
|
|
|||
|
|
|||
|
The device section must include the PCI BusID. This can be found from
|
|||
|
the log file of a working single-head installation. For instance, the
|
|||
|
line
|
|||
|
|
|||
|
|
|||
|
|
|||
|
(--) PCI:*(0:20:0) C&T 69030 rev 97, Mem @ 0xed000000/24
|
|||
|
|
|||
|
|
|||
|
|
|||
|
appears for the case above. Additionally, the "Screen" option must
|
|||
|
appear in the device section. It should be noted that if a flat panel
|
|||
|
is used, this it must be allocated to "Screen 0".
|
|||
|
|
|||
|
The server can then be started with the "+xinerama" option as follows
|
|||
|
|
|||
|
|
|||
|
|
|||
|
startx -- +xinerama
|
|||
|
|
|||
|
|
|||
|
|
|||
|
For more information, read the Xinerama documentation.
|
|||
|
|
|||
|
It should be noted that the dual channel display options of the 69030
|
|||
|
require the use of additional memory bandwidth, as each display
|
|||
|
channel independently accesses the video memory. For this reason, the
|
|||
|
maximum colour depth and resolution that can be supported in a dual
|
|||
|
channel mode will be reduced compared to a single display channel
|
|||
|
mode. However, as the driver does not prevent you from using a mode
|
|||
|
that will exceed the memory bandwidth of the 69030, but a warning like
|
|||
|
|
|||
|
|
|||
|
|
|||
|
(WW) Memory bandwidth requirements exceeded by dual-channel
|
|||
|
(WW) mode. Display might be corrupted!!!
|
|||
|
|
|||
|
|
|||
|
|
|||
|
If you see such display corruption, and you have this warning, your
|
|||
|
choices are to reduce the refresh rate, colour depth or resolution, or
|
|||
|
increase the speed of the memory clock with the the "SetMClk" option
|
|||
|
described above. Note that increasing the memory clock also has its
|
|||
|
own problems as described above.
|
|||
|
|
|||
|
|
|||
|
[1m6. The Full Story on Clock Limitations[0m
|
|||
|
|
|||
|
|
|||
|
There has been much confusion about exactly what the clock limitations
|
|||
|
of the Chips and Technologies chipsets are. Hence I hope that this
|
|||
|
section will clear up the misunderstandings.
|
|||
|
|
|||
|
In general there are two factors determining the maximum dotclock.
|
|||
|
There is the limit of the maximum dotclock the video processor can
|
|||
|
handle, and there is another limitation of the available memory
|
|||
|
bandwidth. The memory bandwidth is determined by the clock used for
|
|||
|
the video memory. For chipsets incapable of colour depths greater
|
|||
|
that 8bpp like the 65535, the dotclock limit is solely determined by
|
|||
|
the highest dotclock the video processor is capable of handling. So
|
|||
|
this limit will be either 56MHz or 68MHz for the 655xx chipsets,
|
|||
|
depending on what voltage they are driven with, or 80MHz for the 64200
|
|||
|
WinGine machines.
|
|||
|
|
|||
|
The 6554x and 64300 WinGine chipsets are capable of colour depths of
|
|||
|
16 or 24bpp. However there is no reliable way of probing the memory
|
|||
|
clock used in these chipsets, and so a conservative limit must be
|
|||
|
taken for the dotclock limit. In this case the driver divides the
|
|||
|
video processors dotclock limitation by the number of bytes per pixel,
|
|||
|
so that the limitations for the various colour depths are
|
|||
|
|
|||
|
|
|||
|
8bpp 16bpp 24bpp
|
|||
|
64300 85 42.5 28.33
|
|||
|
65540/65545 3.3v 56 28 18.67
|
|||
|
65540/65545 5v 68 34 22.67
|
|||
|
65546/65548 80 40 26.67
|
|||
|
|
|||
|
|
|||
|
|
|||
|
For a CRT or TFT screen these limitations are conservative and the
|
|||
|
user might safely override them with the "DacSpeed" option to some
|
|||
|
extent. However these numbers take no account of the extra bandwidth
|
|||
|
needed for DSTN screens.
|
|||
|
|
|||
|
For the HiQV series of chips, the memory clock can be successfully
|
|||
|
probed. Hence you will see a line like
|
|||
|
|
|||
|
|
|||
|
(--) CHIPS(0): Probed memory clock of 40.090 MHz
|
|||
|
|
|||
|
|
|||
|
|
|||
|
in your startx log file. Note that many chips are capable of higher
|
|||
|
memory clocks than actually set by BIOS. You can use the "SetMClk"
|
|||
|
option in your xorg.conf file to get a higher MClk. However some video
|
|||
|
ram, particularly EDO, might not be fast enough to handle this,
|
|||
|
resulting in drawing errors on the screen. The formula to determine
|
|||
|
the maximum usable dotclock on the HiQV series of chips is
|
|||
|
|
|||
|
|
|||
|
Max dotclock = min(MaxDClk, 0.70 * 8 * MemoryClk / (BytesPerPixel +
|
|||
|
(isDSTN == TRUE ? 1 : 0)))
|
|||
|
|
|||
|
|
|||
|
|
|||
|
if you chips is a 69030 or 69000 or
|
|||
|
|
|||
|
|
|||
|
Max dotclock = min(MaxDClk, 0.70 * 4 * MemoryClk / (BytesPerPixel +
|
|||
|
(isDSTN == TRUE ? 1 : 0)))
|
|||
|
|
|||
|
|
|||
|
|
|||
|
otherwise. This effectively means that there are two limits on the
|
|||
|
dotclock. One the overall maximum, and another due to the available
|
|||
|
memory bandwidth of the chip. The 69030 and 69000 have a 64bit memory
|
|||
|
bus and thus transfer 8 bytes every clock thus (hence the 8), while
|
|||
|
the other HiQV chipsets are 32bit and transfer 4 bytes per clock cycle
|
|||
|
(hence the 4). However, after accounting for the RAS/CAS signaling
|
|||
|
only about 70% of the bandwidth is available. The whole thing is
|
|||
|
divided by the bytes per pixel, plus an extra byte if you are using a
|
|||
|
DSTN. The extra byte with DSTN screens is used for the frame
|
|||
|
buffering/acceleration in these screens. So for the various Chips and
|
|||
|
Technologies chips the maximum specifications are
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Max DClk MHz Max Mem Clk MHz
|
|||
|
65550 rev A 3.3v 80 38
|
|||
|
65550 rev A 5v 110 38
|
|||
|
65550 rev B 95 50
|
|||
|
65554 94.5 55
|
|||
|
65555 110 55
|
|||
|
68554 110 55
|
|||
|
69000 135 83
|
|||
|
69030 170 100
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Note that all of the chips except the 65550 rev A are 3.3v only. Which
|
|||
|
is the reason for the drop in the dot clock. Now the maximum memory
|
|||
|
clock is just the maximum supported by the video processor, not the
|
|||
|
maximum supported by the video memory. So the value actually used for
|
|||
|
the memory clock might be significantly less than this maximum value.
|
|||
|
But assuming your memory clock is programmed to these maximum values
|
|||
|
the various maximum dot clocks for the chips are
|
|||
|
|
|||
|
|
|||
|
------CRT/TFT------- --------DSTN--------
|
|||
|
8bpp 16bpp 24bpp 8bpp 16bpp 24bpp
|
|||
|
65550 rev A 3.3v 80 53.2 35.47 53.2 35.47 26.6
|
|||
|
65550 rev A 5v 106.2 53.2 35.47 53.2 35.47 26.6
|
|||
|
65550 rev B 95 70 46.67 70 46.67 35.0
|
|||
|
65554 94.5 77 51.33 77 51.33 38.5
|
|||
|
65555 110 77 51.33 77 51.33 38.5
|
|||
|
68554 110 77 51.33 77 51.33 38.5
|
|||
|
69000 135 135 135 135 135 116.2
|
|||
|
69030 170 170 170 170 170 140
|
|||
|
|
|||
|
|
|||
|
|
|||
|
If you exceed the maximum set by the memory clock, you'll get
|
|||
|
corruption on the screen during graphics operations, as you will be
|
|||
|
starving the HW BitBlt engine of clock cycles. If you are driving the
|
|||
|
video memory too fast (too high a MemClk) you'll get pixel corruption
|
|||
|
as the data actually written to the video memory is corrupted by
|
|||
|
driving the memory too fast. You can probably get away with exceeding
|
|||
|
the Max DClk at 8bpp on TFT's or CRT's by up to 10% or so without
|
|||
|
problems, it will just generate more heat, since the 8bpp clocks
|
|||
|
aren't limited by the available memory bandwidth.
|
|||
|
|
|||
|
If you find you truly can't achieve the mode you are after with the
|
|||
|
default clock limitations, look at the options "DacSpeed" and
|
|||
|
"SetMClk". Using these should give you all the capabilities you'll
|
|||
|
need in the server to get a particular mode to work. However use
|
|||
|
caution with these options, because there is no guarantee that driving
|
|||
|
the video processor beyond it capabilities won't cause damage.
|
|||
|
|
|||
|
|
|||
|
[1m7. Troubleshooting[0m
|
|||
|
|
|||
|
|
|||
|
|
|||
|
[1mThe cursor appears as a white box, after switching modes[0m
|
|||
|
There is a known bug in the H/W cursor, that sometimes causes
|
|||
|
the cursor to be redrawn as a white box, when the mode is
|
|||
|
changed. This can be fixed by moving the cursor to a different
|
|||
|
region, switching to the console and back again, or if it is too
|
|||
|
annoying the H/W cursor can be disabled by removing the
|
|||
|
"HWcursor" option.
|
|||
|
|
|||
|
[1mThe cursor hot-spot isn't at the same point as the cursor[0m
|
|||
|
With modes on the 6555x machines that are stretched to fill the
|
|||
|
flat panel, the H/W cursor is not correspondingly stretched.
|
|||
|
This is a small and long-standing bug in the current server. You
|
|||
|
can avoid this by either using the "NoStretch" option or
|
|||
|
removing the HWcursor" option.
|
|||
|
|
|||
|
[1mThe lower part of the screen is corrupted[0m
|
|||
|
Many DSTN screens use the top of video ram to implement a frame
|
|||
|
accelerator. This reduces the amount of video ram available to
|
|||
|
the modes. The server doesn't prevent the user from specifying a
|
|||
|
mode that will use this memory, it prints a warning on the
|
|||
|
console. The effect of this problem will be that the lower part
|
|||
|
of the screen will reside in the same memory as the frame
|
|||
|
accelerator and will therefore be corrupt. Try reducing the
|
|||
|
amount of memory consumed by the mode.
|
|||
|
|
|||
|
[1mThere is a video signal, but the screen doesn't sync.[0m
|
|||
|
You are using a mode that your screen cannot handle. If it is a
|
|||
|
non-standard mode, maybe you need to tweak the timings a bit. If
|
|||
|
it is a standard mode and frequency that your screen should be
|
|||
|
able to handle, try to find different timings for a similar mode
|
|||
|
and frequency combination. For LCD modes, it is possible that
|
|||
|
your LCD panel requires different panel timings at the text
|
|||
|
console than with a graphics mode. In this case you will need
|
|||
|
the "UseModeline" and perhaps also the "FixPanelSize" options to
|
|||
|
reprogram the LCD panel timings to sensible values.
|
|||
|
|
|||
|
[1m`Wavy' screen.[0m
|
|||
|
Horizontal waving or jittering of the whole screen, continuously
|
|||
|
(independent from drawing operations). You are probably using a
|
|||
|
dot clock that is too high (or too low); it is also possible
|
|||
|
that there is interference with a close MCLK. Try a lower dot
|
|||
|
clock. For CRT's you can also try to tweak the mode timings;
|
|||
|
try increasing the second horizontal value somewhat.
|
|||
|
|
|||
|
[1mCrash or hang after start-up (probably with a black screen).[0m
|
|||
|
Try the "NoAccel" or one of the XAA acceleration options
|
|||
|
discussed above. Check that the BIOS settings are OK; in
|
|||
|
particular, disable caching of 0xa0000-0xaffff. Disabling hidden
|
|||
|
DRAM refresh may also help.
|
|||
|
|
|||
|
[1mHang as the first text is appearing on the screen on SVR4[0m
|
|||
|
[1mmachines.[0m
|
|||
|
This problem has been reported under UnixWare 1.x, but not
|
|||
|
tracked down. It doesn't occur under UnixWare 2.x and only
|
|||
|
occurs on the HiQV series of chips. It might affect some other
|
|||
|
SVR4 operating systems as well. The workaround is to turn off
|
|||
|
the use of CPU to screen acceleration with the
|
|||
|
"XaaNoCPUToScreenColorExapndFill" option.
|
|||
|
|
|||
|
[1mCrash, hang, or trash on the screen after a graphics operation.[0m
|
|||
|
This may be related to a bug in one of the accelerated
|
|||
|
functions, or a problem with the BitBLT engine. Try the
|
|||
|
"NoAccel" or one of the XAA acceleration options discussed
|
|||
|
above. Also check the BIOS settings. It is also possible that
|
|||
|
with a high dot clock and depth on a large screen there is very
|
|||
|
little bandwidth left for using the BitBLT engine. Try reducing
|
|||
|
the clock.
|
|||
|
|
|||
|
[1mChipset is not detected.[0m
|
|||
|
Try forcing the chipset to a type that is most similar to what
|
|||
|
you have.
|
|||
|
|
|||
|
[1mThe screen is blank when starting X[0m
|
|||
|
One possible cause of this problem with older linux kernels is
|
|||
|
that the "APM_DISPLAY_BLANK" option didn't work correct. Either
|
|||
|
upgrade your kernel or rebuild it with the "APM_DISPLAY_BLANK"
|
|||
|
option disabled. If the problem remains, or you aren't using
|
|||
|
linux, a CRT/LCD or switch to and from the virtual console will
|
|||
|
often fix it.
|
|||
|
|
|||
|
[1mTextmode is not properly restored[0m
|
|||
|
This has been reported on some configurations. Many laptops use
|
|||
|
the programmable clock of the 6554x chips at the console. It is
|
|||
|
not always possible to find out the setting that is used for
|
|||
|
this clock if BIOS has written the MClk after the VClk. Hence
|
|||
|
the server assumes a 25.175MHz clock at the console. This is
|
|||
|
correct for most modes, but can cause some problems. Usually
|
|||
|
this is fixed by switching between the LCD and CRT.
|
|||
|
Alternatively the user can use the "TextClockFreq" option
|
|||
|
described above to select a different clock for the text
|
|||
|
console. Another possible cause of this problem is if linux
|
|||
|
kernels are compiled with the "APM_DISPLAY_BLANK" option. As
|
|||
|
mentioned before, try disabling this option.
|
|||
|
|
|||
|
[1mI can't display 640x480 on my 800x600 LCD[0m
|
|||
|
The problem here is that the flat panel needs timings that are
|
|||
|
related to the panel size, and not the mode size. There is no
|
|||
|
facility in the current Xservers to specify these values, and so
|
|||
|
the server attempts to read the panel size from the chip. If the
|
|||
|
user has used the "UseModeline" or "FixPanelSize" options the
|
|||
|
panel timings are derived from the mode, which can be different
|
|||
|
than the panel size. Try deleting theses options from xorg.conf
|
|||
|
or using an LCD/CRT switch.
|
|||
|
|
|||
|
[1mI can't get a 320x240 mode to occupy the whole 640x480 LCD[0m
|
|||
|
There is a bug in the 6554x's H/W cursor for modes that are
|
|||
|
doubled vertically. The lower half of the screen is not
|
|||
|
accessible. The servers solution to this problem is not to do
|
|||
|
doubling vertically. Which results in the 320x240 mode only
|
|||
|
expanded to 640x360. If this is a problem, a work around is to
|
|||
|
remove the "HWcursor" option. The server will then allow the
|
|||
|
mode to occupy the whole 640x480 LCD.
|
|||
|
|
|||
|
[1mAfter a suspend/resume my screen is messed up[0m
|
|||
|
During a suspend/resume, the BIOS controls what is read and
|
|||
|
written back to the registers. If the screen is using a mode
|
|||
|
that BIOS doesn't know about, then there is no guarantee that it
|
|||
|
will be resumed correctly. For this reason a mode that is as
|
|||
|
close to VESA like as possible should be selected. It is also
|
|||
|
possible that the VGA palette can be affected by a
|
|||
|
suspend/resume. Using an 8bpp, the colour will then be
|
|||
|
displayed incorrectly. This shouldn't affect higher depths, and
|
|||
|
is fixable with a switch to the virtual console and back.
|
|||
|
|
|||
|
[1mThe right hand edge of the mode isn't visible on the LCD[0m
|
|||
|
This is usually due to a problem with the "LcdCenter" option. If
|
|||
|
this option is removed form xorg.conf, then the problem might go
|
|||
|
away. Alternatively the manufacturer could have incorrectly
|
|||
|
programmed the panel size in the EGA console mode. The
|
|||
|
"FixPanelSize" can be used to force the modeline values into the
|
|||
|
panel size registers. Two machines that are known to have this
|
|||
|
problem are the "HP OmniBook 5000" and the "NEC Versa 4080".
|
|||
|
|
|||
|
[1mMy TFT screen has a reddish tint in 24bpp mode[0m
|
|||
|
For 6554x chipsets the server assumes that the TFT bus width is
|
|||
|
24bits. If this is not true then the screen will appear to have
|
|||
|
a reddish tint. This can be fixed by using the "18BitBus"
|
|||
|
option. Note that the reverse is also true. If the "18BitBus" is
|
|||
|
used and the TFT bus width is 24bpp, then the screen will appear
|
|||
|
reddish. Note that this option only has an effect on TFT
|
|||
|
screens.
|
|||
|
|
|||
|
[1mSuperProbe won't work with my chipset[0m
|
|||
|
At least one non-PCI bus system with a HiQV chipset has been
|
|||
|
found to require the "-no_bios" option for SuperProbe to
|
|||
|
correctly detect the chipset with the factory default BIOS
|
|||
|
settings. The server itself can correctly detect the chip in the
|
|||
|
same situation.
|
|||
|
|
|||
|
[1mMy 690xx machine lockups when using the[0m
|
|||
|
The 690xx MMIO mode has been implemented entirely from the
|
|||
|
manual as I don't have the hardware to test it on. At this point
|
|||
|
no testing has been done and it is entirely possible that the
|
|||
|
"MMIO option will lockup your machine. You have been warned!
|
|||
|
However if you do try this option and are willing to debug it,
|
|||
|
I'd like to hear from you.
|
|||
|
|
|||
|
[1mMy TrueColor windows are corrupted when using the[0m
|
|||
|
Chips and Technologies specify that the memory clock used with
|
|||
|
the multimedia engine running should be lower than that used
|
|||
|
without. As use of the HiQV chipsets multimedia engine was
|
|||
|
supposed to be for things like zoomed video overlays, its use
|
|||
|
was supposed to be occasional and so most machines have their
|
|||
|
memory clock set to a value that is too high for use with the
|
|||
|
"Overlay" option. So with the "Overlay" option, using the
|
|||
|
"SetMClk" option to reduce the speed of the memory clock is
|
|||
|
recommended.
|
|||
|
|
|||
|
[1mThe mpeg video playing with the XVideo extension has corrupted[0m
|
|||
|
[1mcolours[0m
|
|||
|
The XVideo extension has only recently been added to the chips
|
|||
|
driver. Some YUV to RGB colour have been noted at 15 and 16 bit
|
|||
|
colour depths. However, 8 and 24 bit colour depths seem to work
|
|||
|
fine.
|
|||
|
|
|||
|
[1mMy ct69030 machine locks up when starting X[0m
|
|||
|
The ct69030 chipset introduced a new dual channel architecture.
|
|||
|
In its current form, X can not take advantage of this second
|
|||
|
display channel. In fact if the video BIOS on the machine sets
|
|||
|
the ct69030 to a dual channel mode by default, X will lockup
|
|||
|
hard at this point. The solution is to use the BIOS setup to
|
|||
|
change to a single display channel mode, ensuring that both the
|
|||
|
IOSS and MSS registers are set to a single channel mode. Work is
|
|||
|
underway to fix this.
|
|||
|
|
|||
|
[1mI can't start X-windows with 16, 24 or 32bpp[0m
|
|||
|
Firstly, is your machine capable of 16/24/32bpp with the mode
|
|||
|
specified. Many LCD displays are incapable of using a 24bpp
|
|||
|
mode. Also you need at least a 65540 to use 16/24bpp and at
|
|||
|
least a 65550 for 32bpp. The amount of memory used by the mode
|
|||
|
will be doubled/tripled/quadrupled. The correct options to start
|
|||
|
the server with these modes are
|
|||
|
|
|||
|
|
|||
|
startx -- -depth 16 5-6-5 RGB ('64K color', XGA)
|
|||
|
startx -- -depth 15 5-5-5 RGB ('Hicolor')
|
|||
|
startx -- -depth 24 8-8-8 RGB truecolor
|
|||
|
|
|||
|
|
|||
|
or with the HiQV series of chips you might try
|
|||
|
|
|||
|
startx -- -depth 24 -fbbpp 32 8-8-8 RGB truecolor
|
|||
|
|
|||
|
|
|||
|
however as X11R6.8 allows 32bpp pixmaps to be used with frame-
|
|||
|
buffers operating in 24bpp, this mode of operating will cost per-
|
|||
|
formance for no gain in functionality.
|
|||
|
|
|||
|
Note that the "-bpp" option has been removed and replaced with a
|
|||
|
"-depth" and "-fbbpp" option because of the confusion between the
|
|||
|
depth and number of bits per pixel used to represent to framebuffer
|
|||
|
and the pixmaps in the screens memory.
|
|||
|
|
|||
|
A general problem with the server that can manifested in many way such
|
|||
|
as drawing errors, wavy screens, etc is related to the programmable
|
|||
|
clock. Many potential programmable clock register setting are
|
|||
|
unstable. However luckily there are many different clock register
|
|||
|
setting that can give the same or very similar clocks. The clock code
|
|||
|
can be fooled into giving a different and perhaps more stable clock by
|
|||
|
simply changing the clock value slightly. For example 65.00MHz might
|
|||
|
be unstable while 65.10MHz is not. So for unexplained problems not
|
|||
|
addressed above, please try to alter the clock you are using slightly,
|
|||
|
say in steps of 0.05MHz and see if the problem goes away.
|
|||
|
Alternatively, using the "CRTClkIndx" or "FPClkIndx" option with HiQV
|
|||
|
chips might also help.
|
|||
|
|
|||
|
|
|||
|
For other screen drawing related problems, try the "NoAccel" or one of
|
|||
|
the XAA acceleration options discussed above. A useful trick for all
|
|||
|
laptop computers is to switch between LCD/CRT (usually with something
|
|||
|
like Fn-F5), if the screen is having problems.
|
|||
|
|
|||
|
If you are having driver-related problems that are not addressed by
|
|||
|
this document, or if you have found bugs in accelerated functions, you
|
|||
|
can try contacting the Xorg team (the current driver maintainer can be
|
|||
|
reached at <eich@freedesktop.org>).
|
|||
|
|
|||
|
|
|||
|
[1m8. Disclaimer[0m
|
|||
|
|
|||
|
|
|||
|
The Xorg X server, allows the user to do damage to their hardware with
|
|||
|
software with old monitors which may not tolerate bad display
|
|||
|
settings. Although the authors of this software have tried to prevent
|
|||
|
this, they disclaim all responsibility for any damage caused by the
|
|||
|
software. Use caution, if you think the X server is frying your
|
|||
|
screen, TURN THE COMPUTER OFF!!
|
|||
|
|
|||
|
|
|||
|
[1m9. Acknowledgement[0m
|
|||
|
|
|||
|
|
|||
|
The authors of this software wish to acknowledge the support supplied
|
|||
|
by Chips and Technologies during the development of this software.
|
|||
|
|
|||
|
|
|||
|
[1m10. Authors[0m
|
|||
|
|
|||
|
|
|||
|
Major Contributors (In no particular order)
|
|||
|
|
|||
|
+o Nozomi Ytow
|
|||
|
|
|||
|
+o Egbert Eich
|
|||
|
|
|||
|
+o David Bateman
|
|||
|
|
|||
|
+o Xavier Ducoin
|
|||
|
|
|||
|
Contributors (In no particular order)
|
|||
|
|
|||
|
+o Ken Raeburn
|
|||
|
|
|||
|
|
|||
|
+o Shigehiro Nomura
|
|||
|
|
|||
|
+o Marc de Courville
|
|||
|
|
|||
|
+o Adam Sulmicki
|
|||
|
|
|||
|
+o Jens Maurer
|
|||
|
|
|||
|
We also thank the many people on the net who have contributed by
|
|||
|
reporting bugs and extensively testing this server.
|
|||
|
|
|||
|
|
|||
|
|