View Single Post
Old 05-17-10, 04:02 PM   #8
NVIDIA Corporation
danix's Avatar
Join Date: Feb 2010
Location: Santa Clara, CA
Posts: 237
Default Re: intermittent failure to detect both screens on fx4800 with recent drivers

Hi Luke,

This is a complex issue and we're still root-causing it. Certain combinations of hardware appear to lead to situations where display hardware won't be detected when X starts, and under the right circumstances, detection will continue to fail on subsequent attempts. These situations appear to be the result of interactions between the display, the passive DP-DVI dongle, and the DP controller on our GPU boards.

From what we understand so far, the hot plug detection probe that is performed by some displays will shut off DDC on some passive DP-DVI dongles momentarily. If the DP controller on the GPU board tries to initialize that display at just the right moment, DDC reads will fail, and the display won't come up. Simply restarting the X server will usually clear this up at first, but eventually, we get locked into a state where DDC reads will always fail, until we disconnect and reconnect the display. In some cases on certain displays, the display gets frozen up, and needs to have its power disconnected before it will work again.

We have found that other dongles with a different design, notably the Hosiden passive DP-DVI dongles, don't appear to produce this same behavior. We have also made a few changes in the driver that should reduce the rate at which bringing up the display fails when using one of the affected display/dongle/GPU board configurations, and prevent the complete lockups which would eventually happen, so that if the display fails to come up when starting X, simply restarting X should be enough to bring it back.

We also addressed an unrelated issue where EDID reads going through the DP controller were sometimes offset, which resulted in an invalid EDID.

Our next driver releases will include the above improvements. We hope to deliver additional improvements in future releases, as the problem is better understood.
danix is offline   Reply With Quote