First of all, make sure that the default modes selected from your
XF86Config
are supported by your monitor, i.e. make sure the horizontal sync limit is
correct. It is best to start with standard 640x480x256 with a 25.175 MHz
clock (by specifying a single horizontal sync of 31.5) to make sure the
driver works on your configuration. The default mode used will always be
the first mode listed in the modes line, with the highest dot clock listed
for that resolution in the timing section.
Some general hints:
XF86_SVGA
.Note that some VESA standard mode timings may give problems on some monitors (try increasing the horizontal sync pulse, i.e. the difference between the middle two horizontal timing values, or try multiples of 16 or 32 for all of the horizontal timing parameters).
You are using a mode that your monitor 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 monitor should be able to handle, try to find different timings for a similar mode and frequency combination.
This problem shows up especially when drawing operations such as
scrolling or blitting are in progress. There is currently no easy
fix for this, You can try the "fast_dram"
option, or use a
lower dot clock. If that is not sufficient, the "noaccel"
option will almost always help (it leaves more bandwidth for the
RAMDAC). In most cases, this is caused by the video memory not being
able to provide pixel data to the RAMDAC fast enough, so it gets fed
with garbage.
Horizontal waving or jittering of the whole screen, continuously (independent from drawing operations). You are probably using a dot clock that is too high; it is also possible that there is interference with a close MCLK. Try a lower dot clock (sometimes even dropping it by 0.5 MHz may work). You can also try to tweak the mode timings; try increasing the second horizontal value somewhat. Here's a 65 MHz dot clock 1024x768 mode (about 60 Hz) that might help:
"1024x768" 65 1024 1116 1228 1328 768 783 789 818
Try the "noaccel"
option. Check that the BIOS settings are
OK; in particular, disable caching of 0xa0000-0xaffff. Disabling
hidden DRAM refresh may also help.
On Linux systems, if "APM" (power management) support is enabled in the kernel, the server may start up in power-save mode or with a black screen. Rebuild your kernel with APM support disabled.
This may be related to a bug in one of the accelerated functions, or
a problem with the BitBLT engine. Try the "noaccel"
option.
Also check the BIOS settings.
Same as for the above entry. However, on some systems, the problem will not go away no matter what you do. It may be related to the operating system you use (it has only been seen on Linux systems, and even then it depends on the kernel versions). Sometimes, choosing another MemBase may help.
Probably related to MCLK setting that is too high (can happen with linear addressing even though banked mode runs OK). Most (if not all) ET6000 cards are sold with the MCLK slightly over clocked for performance (the current norm is 90 or 92 MHz), which may cause these problems. There is currently no fix for this. If the pixel dust is only temporary (it disappears as soon as nothing moves on the screen anymore), then memory bandwidth is probably the cause. The only solution is to disable acceleration, or, if that doesn't help, using a lower pixel clock.
This has been reported on some configurations. Sometimes a Chipset
line will fix this. Normally you should be able to restore the
textmode font using a utility that sets it (setfont
,
runx
, restorefont
on Linux).
If you are seeing a mostly black or blue screen, with only a few icons (pixmaps) displayed, this section applies to you.
There can be several causes for this.
One is if the amount of memory is not detected (or specified) correctly. If the
server's autodetection mechanism detects too much memory,
accelerated features will not work. Define the amount of memory in
the XF86Config
file. This seems to happen sometimes on some
2.25 MB ET6000 cards, where the server detects 2.5 MB instead (add
videoram "2304"
in this particular case).
If that doesn't help, disabling acceleration (option
"noaccel"
) is the only solution.
On some systems, the accelerated server will interfere with other hardware that uses ISA DMA. Most notably is the PC floppy controller and sound cards. The floppy interface cannot cope with inordinately long bus-holds, which may occur during large accelerated operations. The Linux-ftape module for example (a floppy-tape driver) will generate lots of "write error" messages when running a backup or restore operation while the X-server is in use. These errors should not be fatal, but that all depends on how well the operating system handles these conditions. Linux seems to cope.
There are two possible solutions: disable acceleration using the
"noaccel"
option, or disable PCI-retry (which is causing
the large bus delays) by removing the "pci_retry"
option.
This will cause a very small slowdown of accelerated operations.
The "pci_retry"
option applies not only to the PCI bus
systems, but has a similar effect on other busses.
If this error occurs, the server was unable to properly initialize
the RAMDAC, and tries to restore a default color map. On some
unsupported RAMDACs, this will have the adverse effect of removing
all color altogether, leaving you with a bunch of weird colors, or
with a completely black screen. If that happens, add the ramdac
"normal"
statement to the Device section in your
XF86Config
file. In most cases, this will solve the color
problem.
For ET4000W32p cards at 8bpp, some modes using a clock over 75 MHz (e.g. a 1152x910 mode with 95 MHz pixel clock) will produce the following message in the Xserver output:
(--) SVGA: Mode "1152x910" will use pixel multiplexing
And later, when the accepted modelines are reported:
(**) SVGA: Mode "1152x910": mode clock = 47.500
This is normal, because with pixel multiplexing, only half the clock is needed as two pixels are sent to the RAMDAC per clock pulse.
"noaccel"
option.
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 XFree86 team.
In fact, reports (success or failure) are very welcome, especially on configurations that have not been tested. You can do this via the BetaReport form (mail it to report@XFree86.org). You may want to keep an eye on forthcoming beta releases at www.xfree86.org.