Problem with DVI throughput

From ThinkWiki
Revision as of 00:00, 15 September 2007 by Thinker (Talk | contribs) (Status)
Jump to: navigation, search

Information about the DVI throughput problem on port replicators and docks with ThinkPads from approximately 2000.

Problem description

All ThinkPad port replicators and docking stations officially support a maximum resolution of 1280x1024 on the replicators/docks DVI port. Resolutions above were not supported in standard drivers at all for a long time and may lead to random screen corruption if used with modified or alternative drivers.

Unofficially, good DVI transmitters can support resolutions like 1600x1200 or 1920x1200 at 60Hz used in modern TFT monitors. However, not all DVI transmitters can push this resolution, due to poor signal quality from cheap manufacturing or weak TDMS transmitters.

Random screen corruption means that approximately 1 out of 5 times you will have a lot ot flickering blue and green pixels (roughly gathered to vertical stripes) on your DVI driven display. It is not entirely clear so far if the screen corruption problems are a driver or hardware problem.

You may also discover the phenomena of a blurred picture when having automatic picture expansion enabled on a higher resolution display. Switching this off should recover the picture quality.

Affected Models

  • all port replicators and docking stations for these models

Affected Operating Systems

  • Linux, all flavours
  • Windows, all flavours

Status

IBM knows about this and has included this limitation into the specs of all these docking solutions.

It is, however, possible to run higher resolutions on the DVI port. Linux supports this natively. The Windows drivers were limited in to 1280x1024 for a long time, but with the newest releases this limitation is gone for certain models. However, depending on your display you can still experience the phenoma of random screen corruption.

Success reports with high-resolution DVI modes:

  • The T42 with the ATI 9600 chip is reported to be able to drive the Dell 24" 2405FPW at 1920x1200 using DVI by using ATI Catalyst drivers for Windows.
  • Recent IBM drivers (e.g. 2005 Aug 11 release, version 8.133.2-050525a-024243C-IBM) are also known to support resolutions of 1600x1200 (T41p with NEC 2180UX) and 1920x1200 (T42p and T41p with Dell 2405FPW) at 60Hz through the dock DVI port. This has been reported to not be the case with T40, T40p, and T41 models. For these models, use alternate drivers in the 'Solutions' section.
  • The T43 with ATI Mobility Radeon X300 can drive a 1920x1200 monitor using the radeon driver.

If you experience flickering, try using a better or shorter DVI cable.

If your transmitter cannot push this resolution, try fiddling with the 'reduced blanking' option (through your video card driver) or create a custom timing (with a lower refresh rate) in PowerStrip. Note that both ways can reduce performance especially in fast refresh-sensitive work (reduced blanking less so though). For more information on TDMS transmission, see the DVI Compliance Testing article at Tom's Hardware.

Very high resolution displays like the Apple 30" Cinema Display, with a 2560x1600 resolution, requires what is known as Dual-Link DVI [1], a technique of piggybacking 2 DVI connections into one physical DVI plug. This is not to be confused with a card having 'Dual DVI', or two physical DVI ports. Very few video cards support Dual-Link DVI, and they are usually very expensive. No known PCI cards exist that support Dual-Link DVI. There is hope for users of large displays though - newer TDMS transmitters, such as the SiI 1172, can push 225MHz and above through a single link, which is enough to drive 2560x1600 at 55Hz. These transmitters have not yet made it to many video cards - only the ASUS V9999GE card is known to use one.

Solutions

Linux

Under Linux, you can in theory make use of higher resolutions, e.g., using Xorg RandR 1.2. If screen corruption should occur, you can try fixing it by changing from X to the console and back. Doing this often helps.

Windows

For certain models, the problem is solved with the newest video drivers from IBM. Just update.

For other models (T40, T40p, and T41), you must use alternate drivers to enable the higher resolutions. You can use patched ATI driver sets like DNA-ATI or OMEGA drivers, or you can download the latest drivers from www.ati.com and patch them with Patje's Mobility Modding tool found here. This tool solves the problem when used with Catalyst drivers from version 5.6.

If you experience trouble getting the ATI Control Center to come up correctly when using these patched drivers, you can make a shortcut to the CLI.EXE file (ie. \program files\ATI Technologies\ATI.ACE\CLI.EXE) to open it directly.

The remaining problem with Windows is that IBMs practical Presentation Director utility still doesn't support the higher resolution. This issue is solvable by doing some manual modifications to Presentation Directors registry entries. If you don't want to tweak your registry you can use multi-res (packaged with the OMEGA drivers) instead of Presentation Director.

If you want to use Presentation Director, follow this procedure:

  • Add a profile with VGA output and set it to 1600x1200.
  • Then you also add a profile with DVI output and set it to 1280x1024.
  • After finishing the wizard you open regedit.
  • Look for the Presentation directors key structure (HKEY_CURRENT_USER/Software/IBM/NPdirect/Data/Common/Presentation/Schemes) and
  • copy the resolution value from the VGA profile to the DVI profile. (So if your VGA profiles name is VGAprof and the DVI profiles is DVIprof, you copy the Resolution keys value from HKEY_CURRENT_USER/Software/IBM/NPdirect/Data/Common/Presentation Schemes/VGAprof/01 to ....../DVIprof/01.)
  • Close regedit (and eventually reboot) and restart Presentation Director.
  • You should be have the wanted resolution in the properties of your DVI profile.


If you have a non-standard resolution monitor (like Dell 2005FPW), you can manually calculate the correct value for the registry key. The keys look like this in hexmode: 0x0???0???. The first four numbers are the lower part of the resolution (600 in 800x600) and the last four numbers is the higher part. To calculate the correct values open up the calculator (start->run->"calc"), choose View->Scientific. This will enable you to use hexnumbers. Right below the result-area, choose "Dec" for decimal numbers. Now enter the lower part of your decired resolution. For instance in 2005FPW case, you'd enter "1050". Now choose "Hex" to convert that value to hexnumber. In our case, we'll see "41A" in the resultarea. Now you just add a zero before that number ("041A") and you have the first half of your key. Repeat this for the second part (for 2005FPW you'd enter 1680 and get 690 as result, meaning "0690" is the second part"). Now put them together and you have the complete key - "041A0690". This is the value you enter in regedit as the value of the "Resolution"-key.


You can also have Presentation Director automatically call a batch file that calls the multi-res application. The batch file will use multi-res to switch to one of the higher resolutions not supported by the Presentation Director. Mult-res can be found here.

Batch file example:

multires.exe /1920,1200,32,60 /exit

Alternate solution: Use a VGA (not DVI) cable from the docking station to the TFT display, if available. This works on the combination of T41 and Dell 2405FPW display.