Troubleshooting DVI problems

You'll be thrilled to know that the video BIOS, PNP, DDC, EDID, and other unintelligeable jumbles of letters have been finely tuned to assure that your video card and monitor work together perfectly. That thrill may be somewhat diminished if you're staring at a "no signal" message on your new LCD monitor. DVI is supposed to set itself up automatically but they don't call it "plug and pray" for nothing. Usually, DVI works just fine but there are plenty of things which can go wrong. Below are some things to try which may help get your video card and LCD monitor working together properly. If you don't know DVI inside-out then please read this page before continuing with this one. Below is a list of common symptoms and what sorts of things you can try to fix them. If you can't get it working (and you've got some time on your hands) then you should try running through all the possible solutions.

DVI troubleshooting: symptoms

Symptoms: corrupted screen in digital mode

DVI corruption

If you're using a digital DVI connection between your video card and monitor then you can get DVI corruption problems which usually appear as wobbly vertical lines. The left part of the image above is displayed correctly. The right part is showing DVI corruption. The severity of the corruption varies. You can see other example screenshots of DVI corruption here and here. The corruption can happen for any number of reasons including: a weak DVI transmitter in the video card, a cable which is too long for the DVI data rate, a very low-quality cable, or a weak DVI receiver in the monitor.

  • Update your display drivers - You should always do this first if you're having any problems.
  • Use reduced blanking - This reduces the pixel clock which may fix the corruption.
  • Use another DVI output - The corruption may be caused by a weak DVI transmitter in the video card. Try each DVI output on the video card because DVI transmitters on separate outputs can sometimes be very different.
  • Use a shorter cable - Shorter cables make it easier for the image data to get through the cable in good enough shape to display properly.
  • Lower the refresh rate - Lowering the screen refresh rate makes it easier for the image data to get through the cable in good enough shape to display properly.

Symptoms: BIOS and powerup screens aren't visible but monitor works fine in Windows

PCs are supposed to start up using the ancient 640 X 480 at 60 Hz video mode which was introduced with VGA. This is a very standarized set of timings which all DVI monitors are required to support. And yet, sometimes you get a blank screen running in DVI digital mode when powering up. The display drivers aren't loaded until later in the boot process so you can rule out any driver problems. The most likely cause is that the video card has decided not to use the standard ancient 640 X 480 mode when it powers up. That's more likely than the DVI monitor not being able to display it. A few techs who work for Sapphire (a manufacturer of video cards) report that their cards start up at 640 X 480 @ 50 Hz. Even though they work for Sapphire, I'm not sure that I believe them. DVI monitors are not required to support that screen mode so it would make much more sense to obey the DVI spec and use the standard 640 X 480 @ 60 Hz. But it certainly would explain the symptoms. Once Windows is loaded then you can set the screen mode to the standard 640 X 480 at 60 Hz mode to prove that the monitor can display it. Something's seriously wrong with the monitor if it can't. Since the Windows display driver can't be causing the BIOS and powerup screens to be invisible, you have limited options to try out. If Windows is visible then it's probably not a hardware problem because the old, slow VGA mode puts way less strain on the DVI transmitter, cable, and receiver than any mode you're actually using in Windows.

  • Flash the video BIOS - The video BIOS controls all of the BIOS and powerup screens. This is the only place where video card makers can add patches to try to solve compatibility problems before the operating system display driver is loaded.
  • Go analog when you need to access the BIOS - If your monitor also supports analog mode then you may be able to get away with connecting it in analog mode when you need to access the BIOS and running in digital mode the rest of the time. Lots of monitors are less picky about which display modes are visible in analog mode than in digital mode. This is a dodge rather than a solution but it will allow you to keep using the computer while you try to figure out the problem.

Symptoms: BIOS and powerup screens are visible but monitor does not display in Windows

This means that the Windows display driver is setting a screen mode that the monitor can't display. It could be a nonsupported resolution and refresh rate. It's also possible that the display driver is confused and has tried to diplay an analog screen mode when you only have a digital cable or vice versa. The EDID data in the monitor tells the display driver which screen modes it can support so this should never happen. And yet, it does.

  • Update your display drivers - It could just be a display driver bug so update to the latest drivers to get any fixes.
  • Go analog - As a last resort you can try to run in analog mode if you're currently in digital mode. Analog mode is often less picky about which screen modes it will display than digital mode.
  • Rewrite the EDID data - If your monitor's EDID data has a mistake or has been corrupted then the display driver may try to set a mode which the monitor can't display.
  • Turn the monitor on after Windows boots - Sometimes the BIOS and powerup screens display properly because the video BIOS correctly chooses between analog and digital and then Windows chooses incorrectly. This has been known to happen with monitors which have DVI-I inputs and video cards which have DVI-I outputs. Delaying when you turn on the monitor can apparently affect whether the Windows display driver selects analog or digital in some systems.
  • Stop using a DVI-I cable - A DVI-I cable used with a DVI-I video card can cause drivers to have a hard time selecting between analog and digital screen modes.
  • Use the monitor's on-screen-display to manually select analog or digital - This forces the monitor to run either as analog or digital rather than make the choice automatically. You can use this to try to make sure that the video BIOS and the display driver both make the same choice between analog and digital display modes.
  • Install a monitor .INF file - This is in case the video card can't read the EDID data from the monitor.

Symptoms: monitor never displays at all

This could be caused by many things including a dead monitor, dead video card output, or a dead cable. You can troubleshoot those by swapping in known-good parts. But there's other things to check before you resort to swapping hardware.

  • Use another DVI output - If you've got two DVI outputs then give the other one a try. You may just have a bad DVI transmitter.
  • Go analog - If you're running in digital mode and you've never gotten the monitor to work at all then try analog mode.
  • Use a shorter cable - A long DVI cable can prevent some video cards from reading the EDID data from the monitor. If it's bad enough that the data can't be read at all then the video card thinks that no monitor is connected.
  • Flash the video BIOS - There may be a compatibility problem with the combination of video card and monitor. If you can't even see the BIOS and powerup screens then the video BIOS is one of the few places that they can fix it.
  • Check your DVI cable type - Check your cable to make sure you don't have a monitor accepting digital only while using an analog only cable or vice versa.

Symptoms: sometimes the monitor starts up in analog mode and other times it starts up in digital mode

This has been known to happen with some monitors which use DVI-I inputs when connected to a video card with a DVI-I output by a DVI-I cable. This is usually the monitor's fault because it has to decide whether to return a digital EDID or an analog EDID. Some monitors seem to be inconsistent when making that choice.

DVI troubleshooting: solutions

Solutions: update your display drivers

The "update your display drivers" dance is popular for a reason: it often works. If there's a problem with a particular video card and monitor then the display driver is the easiest place to fix it. Updating monitor code is usually not possible and updating the video BIOS is a bit of a pain. But updating display drivers is a time-honored tradition. If you're having a problem then you should always try this first because it's the easiest fix. You should always uninstall your old display driver before installing a new one. This page gives detailed instructions on how to uninstall your display driver and this page tells you how to get a new display driver and install it.

Solutions: use reduced blanking

Reducing the DVI pixel clock makes it much easier to transmit the digital image through the cable. If you have a corrupted image then using reduced blanking reduces the pixel clock without reducing the screen resolution or refresh rate. LCD monitors usually support reduced blanking for modes which require pixel clocks anywhere close to the 165 MHz limit. There's really no point in not using reduced blanking all the time. Display drivers are usually pretty good about selecting reduced blanking automatically when it makes sense. If you're having a digital image quality problem then you can force reduced blanking to be sure. This page explains how to do that.

Solutions: use another DVI output

If you're having some kind of hardware problem and your video card has more than one DVI output, then try using another output. Some DVI outputs use a DVI transmitter integrated into the GPU. Other DVI outputs use a DVI transmitter in an external chip. One DVI transmitter is often better than the other so you should try all of the DVI outputs. One of them may be able to handle a much higher pixel clock than the other. And there's always the possibility that one of your outputs is just broken. Most video cards have two outputs but most people only use one of them. It's a good idea to try both of them.

Solutions: use a shorter cable

This can solve a lot of different problems. When running in analog mode, the longer a cable gets, the more it degrades the image quality. Long analog cables won't prevent the image from being displayed. They just make it look smeary. When running in digital mode, the quality of the digital signals in the cable also get worse as the cable lengthens but the the image quality stays perfect until it hits a certain length. That's because the digital data only has to be above a certain quality level to be correctly received. Once it goes below that level the image quality deteriorates rapidly and you end up with a corrupted screen.

One rather unusual problem with long cables relates to the EDID data. With certain video cards, long cables can prevent the EDID data from being received correctly. This prevents the video card from reading the capabilities of the monitor. It can get bad enough that a video card can't even recognize the presence of the monitor at all. Shortening the cable can solve this problem. For those of you who know some electronics, I'll explain why this happens. The rest of you can just skip the rest of this paragraph. The EDID data is sent over the DDC bus. It's based on an I²C bus which uses open collector lines. Chips connected to open collector lines only drive the line low. A pullup resistor pulls the line high if nothing is driving the line low. The capacitance of a cable increases as it gets longer. So you've got an RC circuit pulling the open collector line high with the pullup resistor and the cable capacitance determining how fast the line goes from low to high. The problem is that some video cards have used too high a pullup resistor value to pull the clock line high fast enough on a long cable. With some video cards the open collector clock line looks more like a sawtooth pattern than a digital signal. If it gets bad enough then the monitor doesn't receive the clock signal at all and the EDID read fails. Reducing the cable length can reduce the capacitance enough to make the EDID readable. But, of course, the proper solution is for the video card makers to use a lower valued resistor. If you have a digital storage scope laying around then it's easy to check if you have this problem. It can be solved by adding a lower valued resistor in parallel with the improperly-selected pullup resistor. Some pullup resistors are bad enough that the DDC bus fails long before the TMDS part of the cable at a given length. It's a shame to have cable length limited by something as easy to implement as an I²C bus rather than the difficult to implement TMDS connection.

Solutions: lower the refresh rate

Lowering the screen refresh rate lowers the DVI pixel clock which makes it much easier to transmit the digital image through the cable. If you're having image corruption in digital mode then you may be able to solve it by lowering the screen refresh rate. LCD monitors do not flicker like CRTs when using slower refresh rates so you won't have eyestrain problems if you do it. Most LCDs default to a screen refresh rate of 60 Hz which is the slowest rate supported in digital mode so they're already running as slowly as possible. But if you're running higher than 60 Hz then you can try reducing it to see if your problem goes away.

Solutions: go analog

This is more of a dodge than a solution. If you're having problems running DVI in digital mode and your video card and monitor support analog, then give analog a try. The standard response to that suggestion is something like, "I've got a digital monitor and I'm going to run it in digital mode!!!". Well guess what? Analog mode is actually extremely good these days. In the older LCD monitors you could run into pixel jitter problems in analog mode. But most modern LCDs have excellent automatic synchronization which allows them to be just as sharp in analog mode as in digital. Most people can't even tell the difference. There may be a small reduction in color accuracy but it's usually not noticeable. Don't assume that because it's not working in digital mode that it will also fail in analog mode. I've seen lots of people (who are usually angry about it) with new LCD monitors which work perfectly in analog mode but show blank screens in digital. Analog mode has more benefits than just being almost guaranteed to work. Many video cards and monitors support higher screen refresh rates in analog mode than they can support in single link digital mode. That's because analog signal transmission doesn't have the 165 MHz speed limit of digital DVI. You can continue to push the analog signal very fast if you're willing to tolerate a little image quality degradation. If you have a card with a slower DVI transmitter (like many older NVIDIA cards) then analog mode can be much quicker than digital mode. Quite often gamers feel they get better performance running with a higher analog screen refresh rate rather than a slower digital refresh rate. Give analog mode a try. You might be perfectly satisfied with it. Analog is definitely better than staring at a blank screen.

Solutions: flash the video BIOS

The video BIOS is a program built into the video card which allows it to provide basic video functions before an operating system display driver is loaded. The powerup screens and initial Windows screens are all displayed before the Windows display driver is loaded. The video BIOS is responsible for making that work. If you're trying to solve a problem which happens before Windows loads its display driver, then the only kind of video driver you can update is the video BIOS. The code is built into a chip on the video card. You can update that code by flashing the video BIOS. You need to be careful because a mistake while flashing the video BIOS will render the video card inoperative.

Solutions: rewrite the EDID data

The video card reads the EDID data from the monitor to get the capabilities of the monitor. Unfortunately, some monitors have less-than-stellar EDID data. Some LCD-TVs which are supposed to be compatible with computers through a DVI connection understate their maximum resolution in the EDID data. It doesn't make sense, but it has happened. In some cases, you can update the EDID data in the monitor by running a program on your computer. Most monitors can't do this but it's worth checking the monitor manufacturer's web site to see if they have any EDID patches for your monitor. These usually affect the maximum resolution which can be displayed but can sometimes solve other problems as well. If you know quite a bit about your monitor specifications then you can check your EDID data to make sure it matches what you know about the monitor. ViewSonic provides a handy program called EDID.EXE which can read your EDID data and display it in a readable format. You don't need a ViewSonic monitor to use it.

Solutions: turn the monitor on after Windows boots

If you're getting no display on your monitor then you may be able to get it working by leaving your monitor off until after Windows boots. This solution doesn't sound like it makes any sense but it has worked for a number of people. It apparently affects how the monitor is recognized by the display driver. When Windows boots, it reads the EDID data from the monitor to find its capabilities. As I read the specification, the EDID data can be read whether the monitor is on or off because the video card provides the power to the monitor circuitry which provides the EDID. However, the monitor returns different sets of EDID data depending on whether it is to display in digital or analog mode. Having the monitor off may affect whether the monitor returns the analog or digital version of the EDID data for monitors which have a DVI-I input. This document describes the analog/digital confusion issue with DVI-I monitors. In some monitors, turning the monitor off may force it to return the digital version of the EDID. Or, it may be something completely different. I've never seen a good explanation of why this sometimes works but it's an easy one to try. Of course, you won't be able to get to the BIOS this way but at least you can use Windows to try to figure out the problem.

Solutions: stop using a DVI-I cable

The video card reads the EDID data from the monitor to find its capabilities. The monitor returns different sets of EDID data depending on whether it is to display in digital or analog mode. If you have a monitor which can display in both digital and analog mode, then it may have a VGA connector for analog mode and a DVI-D connector for digital mode. When the video card reads the EDID data from the VGA connector the monitor returns the analog version. When it reads from the DVI-D connector it returns the digital version. Things aren't so simple if you have a video card with a DVI-I output, a DVI-I cable, and a DVI-I monitor. There's only one set of wires in the DVI-I connector for both its analog and digital sections so the monitor has to figure out whether to return the analog or digital version. This document describes the analog/digital confusion issue with DVI-I monitors. In some monitors, all that is required to force the monitor to return the digital EDID is to use a DVI-D cable. In other monitors, it doesn't help. The only way to be sure is to try. Using an analog cable (DVI-A or a VGA cable) may force the monitor to return the analog EDID if you want to run in analog mode.

Solutions: use monitor's on-screen-display to manually select analog or digital

Some blank screen problems can happen when the video card outputs analog video data when using a digital cable or when it outputs digital video data when using an analog cable. In theory it should never happen. But in theory you should never get a black screen either. Many monitors with DVI-I inputs have a way to force them to operate only in digital mode or analog mode. You can access that option using the on-screen-display for the monitor. Some DVI-I monitors support an "auto" option which allows the monitor to automatically decide whether to be analog or digital. If you have persistent black screens then it can be useful to force the monitor to work one way or the other so you are 100% sure exactly what mode it is using.

Solutions: check your DVI cable type

This may sound silly but have you checked your DVI cable to make sure you have the right kind? It's easy to think you're using a DVI-D cable when in fact you're using a DVI-I or vice versa. If your video card is outputing analog video then you must use a cable which implements the analog signals. The same goes for digital cables. Take a look and make sure you're using the right kind. DVI-I cables can cause more problems than DVI-Ds so make sure which one you're running. Another cabling problem you can have is if Windows is set up to use a screen mode which requires dual link but you are using a single link cable. If you have a dual link video card, a dual link monitor, and a single link cable, then the single link video modes will work properly and the dual link modes may give you a blank screen (I don't have the hardware to try it myself). If Windows is giving you a blank screen then you can try to boot in VGA mode and then set a new screen mode. If the single link modes work and the dual link modes fail then it may be the cable. If you've used the on-screen-display to configure your monitor to display only analog or only digital then make sure you have the right kind of cable. Telling your monitor to work as digital only and then using a DVI-A or VGA cable is a sure way to a blank screen. The same goes for a monitor set up as analog only using a DVI-D cable.

Solutions: install a monitor .INF file

All modern monitors can provide EDID data to the video card which describes the capabilities of the monitor. When Windows says that a "plug and play monitor" is installed, it means that it is using the EDID data's description of the monitor. But older monitors can't provide EDID. In that case, Windows depends on the monitor's .INF file for basic info about what the monitor can do. If the video card fails to get the EDID data from the monitor then Windows may (I'm not 100% sure) fall back on the .INF file which is currently selected. I've seen people in Internet forums get their brand new LCD monitors (which clearly support EDID) working properly by installing the .INF file for their monitors. It's possible that there's another explanation for what solved their problem but falling back to the old .INF file when you can't read the EDID properly makes sense. If you've got a blank screen in Windows that you can't seem to get rid of then it's probably worth your trouble to try to track down a .INF file for your monitor and install it. Not all LCDs come with them but your best chance of finding one is on the monitor manufacturer's web site. Install the .INF and then be sure to select that monitor. You know you've gotten it right when the name of your monitor shows up in the display manager instead of "plug and play monitor".