Comment 8 for bug 377598

Revision history for this message
In , Jacob-hart+xorg (jacob-hart+xorg) wrote :

Disabling LVDS output causes corruption of the output on TMDS-1. When this occurs the image generated on TMDS-1 looks like it's rolling or tearing, like a CRT does when it's set to a refresh rate it can't handle (see http://www.phoronix.net/image.php?id=intel_uxa&image=intel_uxa_corrupt1 for an example).

Some modes cause the corruption and others don't. To reproduce the problem, I set TMDS-1 to an appropriate mode from the list below and then disable LVDS at the command line using "xrandr --output LVDS --off"

Modes that cause corruption are:

  1920x1200 (0x40) 154.0MHz +HSync -VSync *current +preferred
        h: width 1920 start 1968 end 2000 total 2080 skew 0 clock 74.0KHz
        v: height 1200 start 1203 end 1209 total 1235 clock 60.0Hz
  1600x1200 (0x41) 162.0MHz +HSync +VSync
        h: width 1600 start 1664 end 1856 total 2160 skew 0 clock 75.0KHz
        v: height 1200 start 1201 end 1204 total 1250 clock 60.0Hz
  1680x1050 (0x42) 119.0MHz +HSync -VSync
        h: width 1680 start 1728 end 1760 total 1840 skew 0 clock 64.7KHz
        v: height 1050 start 1053 end 1059 total 1080 clock 59.9Hz
  1280x1024 (0x43) 135.0MHz +HSync +VSync
        h: width 1280 start 1296 end 1440 total 1688 skew 0 clock 80.0KHz
        v: height 1024 start 1025 end 1028 total 1066 clock 75.0Hz
  1280x1024 (0x44) 108.0MHz +HSync +VSync
        h: width 1280 start 1328 end 1440 total 1688 skew 0 clock 64.0KHz
        v: height 1024 start 1025 end 1028 total 1066 clock 60.0Hz
  1152x864 (0x47) 108.0MHz +HSync +VSync
        h: width 1152 start 1216 end 1344 total 1600 skew 0 clock 67.5KHz
        v: height 864 start 865 end 868 total 900 clock 75.0Hz

The remaining modes are ok:

  1440x900 (0x45) 88.8MHz +HSync -VSync
        h: width 1440 start 1488 end 1520 total 1600 skew 0 clock 55.5KHz
        v: height 900 start 903 end 909 total 926 clock 59.9Hz
  1280x800 (0x46) 71.0MHz +HSync -VSync
        h: width 1280 start 1328 end 1360 total 1440 skew 0 clock 49.3KHz
        v: height 800 start 803 end 809 total 823 clock 59.9Hz
  1152x720 (0x48) 67.3MHz -HSync +VSync
        h: width 1152 start 1208 end 1328 total 1504 skew 0 clock 44.8KHz
        v: height 720 start 721 end 724 total 746 clock 60.0Hz
  1024x768 (0x49) 78.8MHz +HSync +VSync
        h: width 1024 start 1040 end 1136 total 1312 skew 0 clock 60.0KHz
        v: height 768 start 769 end 772 total 800 clock 75.0Hz
  1024x768 (0x4a) 65.0MHz -HSync -VSync
        h: width 1024 start 1048 end 1184 total 1344 skew 0 clock 48.4KHz
        v: height 768 start 771 end 777 total 806 clock 60.0Hz
  832x624 (0x4b) 57.3MHz -HSync -VSync
        h: width 832 start 864 end 928 total 1152 skew 0 clock 49.7KHz
        v: height 624 start 625 end 628 total 667 clock 74.6Hz
  800x600 (0x4c) 49.5MHz +HSync +VSync
        h: width 800 start 816 end 896 total 1056 skew 0 clock 46.9KHz
        v: height 600 start 601 end 604 total 625 clock 75.0Hz
  800x600 (0x4d) 40.0MHz +HSync +VSync
        h: width 800 start 840 end 968 total 1056 skew 0 clock 37.9KHz
        v: height 600 start 601 end 605 total 628 clock 60.3Hz
  640x480 (0x4e) 31.5MHz -HSync -VSync
        h: width 640 start 656 end 720 total 840 skew 0 clock 37.5KHz
        v: height 480 start 481 end 484 total 500 clock 75.0Hz
  640x480 (0x4f) 25.2MHz -HSync -VSync
        h: width 640 start 656 end 752 total 800 skew 0 clock 31.5KHz
        v: height 480 start 490 end 492 total 525 clock 59.9Hz
  720x400 (0x50) 28.3MHz -HSync +VSync
        h: width 720 start 738 end 846 total 900 skew 0 clock 31.5KHz
        v: height 400 start 412 end 414 total 449 clock 70.1Hz

The output corruption is accompanied by underruns reported in the log file with many lines like the following:

(EE) intel(0): underrun on pipe A!

My system is Ubuntu 9.04 with intel driver reverted to 2.4.1 (I had poor compositing performance with the stock driver from Jaunty, which also exhibits the described behaviour). I have also tried the latest version in xorg-edgers ppa 2.7.99.901+git20090611 and can confirm the problem occurs in this version as well.