--->Diese Seite gibts auch in Deutsch.

Noisy sound playback on PCs using a VIA chipset and nVidia graphic card

The Problem

Sound playback on computers using both a VIA chipset and a nVidia (as well as some other) graphic card often gets distorted if there is a heavy amount of graphic processing at the same time. Both sound playback and the graphic display works fine if used alone, though. Changing the drivers or BIOS for the chipset, the graphic chip or the soundcard does not help.

The Cause

The PCI specification was not designed focusing on devices requiring a very tight timing over a long time like soundcards: Every PCI device has a minimum slice of time in which it can transfer a block of data until another PCI device requiring the bus can get control. This time minimum time slice is determined by the PCI latency timer value given in the PCI configuration register of the device.
Increasing the latency timer value allows a device to transfer a larger block of data before the bus needs to set up for transfer to or from another device, thus speeding up the transfer at the cost of a less fluent multitasking behaviour.
Soundcards (no matter if ISA or PCI) usually have very few buffers for storing data from the bus before playback, thus they are very sensible if new data cannot be read in time and often produce more or less clicks or distortion in the sound output. On the other hand, devices like the graphic card or busmaster disk controllers transfer masses of data through the bus and benefit from transferring data blocks as large as possible.
Most problematic are the combination of a chipset using a high latency value default in its CPU-to-PCI bridge (like VIA MVP3), a soundcard playing back several memory channels through the PCI bus (like the SB Live!) instead of using local memory buffers and fast graphic chips which can lock the bus for a long time (like the nVidia Geforce).

The Solution

Setting the CPU-to-PCI bridge latency timer to 0 often helps. However, if the BIOS or new drivers did not already handle it, a small tool is required.

The Tools

The MVP3 PCI latency timer to 0 tool for NT4, Windows 2000 and XP

This tool sets the latency timer of the PCI device 0 (the CPU-PCI-Bridge) to 0. It consist of two components, the DirectNT kernel component written by Matthias Witthopf and Andreas Stiller for the German computer magazine cīt, and the initialization component which uses the services provided by DirectNT to set the PCI registers. The source of the tool is included as well as the DirectNT package. Note that this tool is made for boards using the MVP3 chipset, which is for K6 and similar CPUs, but not for P2/P3/P4 or K7 based ones.

The following files should be included in the ZIP archive:

The files marked as required are needed, otherwise you cannot get the tool to work. If you copy the tool and share it with others, it would be nice if you still keep the other files with it.

Usage

In order to install the tool you have to do the following (in Windows NT/2000/XP):

Note that since the DirectNT.sys component resides in the system directory you can put mvp3_zlt.exe everywhere you want.
IMPORTANT:
If you use some power saving features which switch the system particularly off or the hibernation feature of Windows2000, you have to run the mvp3_zlt.exe tool again after power up since the PCI configuration is set to the default values during a hardware reset or power switched off. You can also use the task planer to start it regularly in order to set the PCI setting (using it several times in a row does not cause a problem).

FAQ

Which operating systems are supported?
All based on NT4 like Windows NT4, Windows 2000 and XP.

Is there a DOS version?
No, but since hardware acceleration is usually not used under DOS the problem does not occur. However, if you really need a DOS version of the tool feel free to contact me and youīll get it.

I only get an error message: "Canīt open DirectNT.sys!"
Either you did not run the setup.exe and/or did not reboot yet.
Or you need to change the driver startup type from "automatic" to "system" (most likely under XP) so that the driver loads first before the mvp3_zlt program starts:

I get an error message: "Error in DirectNT.sys" or "Can't close DirectNT.sys!"
Should not happen. If it does, it can be that your version of DirectNT is corrupt. Try downloading and installing it again. If it doesnīt help please inform me.

Will you give me the source code?
No ;-)

Iīve installed it but do not get any message.
This is the normal behaviour if there arenīt any errors.

Does it work with other chipsets / soundcards / graphic cards?
The tool usually doesnīt have an effect on K7, PII/PIII or PVI based boards at all (However, some users reported it working successfully on such configurations as well - only testing will tell if it works for you as well). The following MVP3 configurations are reported of beeing supported as well:

If it works successfully with other chipsets and/or graphic chips please drop me a mail.

Iīve got a MVP3 chipset and Geforce, but the tool does not help although it was installed successfully
Does the noise increase with both the audio volume and graphic processing intensivity? If not, it is more likely one of the other problems like noise picked up by the analogue audio lines, an unstable power supply, problems with grounding (remove all cables and put them back again step by step and check when the noise occurs), problematic drivers and/or the inability to share interrupts. If yes, well... maybe you can solve it using TweakBIOS or WCPREdit and send me the settings youīve used and I may compile it into a special tool.

How do I uninstall the tool?

Is there a way to solve the problem under Linux?
As far as I know there arenīt any tools for this OS. But if you are using an nVidia card, try using the GART driver contained in the Linux kernel rather than the one coming along with nVidias X Server.

The tool does not help. Are there any related sites?
The tools and tips at www.georgebreese.com/net/software and www.3dnowgalaxy.de/Tips/mainb.htm may solve the problem as well.

Legal Disclaimer

The installation and use of this tool is entirely at your own risk. Neither the author of the mvp3_zlt.exe tool, nor the author of DirectNT are responsible for any possible damage caused by it. Distribution is only allowed if no commercial use is involved (unless explicitly granted by the authors).

Mail the Author: webmeister@deinmeister.de

Homepage Programming Win32Asm Downloads Software Hardware Cartoons Sitemap