patrol at sinus.cz
Sat Mar 17 05:18:28 PDT 2007
Hi Keith, writing again, I've progressed a bit...
> A code snippet from this file:
> dev->DevName = "ddc2";
> dev->SlaveAddr = 0xA0;
> dev->ByteTimeout = 2200; /* VESA DDC spec 3 p. 43 (+10 %) */
> dev->StartTimeout = 550;
> dev->BitTimeout = 40;
> dev->ByteTimeout = 40;
> dev->AcknTimeout = 40;
> Which of the two dev->ByteTimeout assignents is correct ? I tried to comment
> out the second one (with the lower value) and also increased all the values
> up to four times. It looked that it helps, but then it turned out to be
> probably influenced by my mental power :-); after a lot of experiments, a
> good/bad ratio returned to the value approximately the same as in the
I was playing with those, tried various combinations of timeout, but no success.
Then, I studied the code a bit more and found a RETRIES macro defined as 4. At
first, I've changed it to 400 :-). The server started about 10 seconds then but
EDID was always successful. Then I decreased it to 40. Now it starts faster and
from about 20 attempts it failed once to read EDID.
There is definitely a bug somewhere, but this seems to be a reasonable
workaround for me.
Then I've found that my PreferredMode option contained a typo (1599 instead
of 1600, yes, all the right-hand fingers were off by one :-) ). After that, it
starts in 1600x1200 with EDID (it still uses 1152xsomething without it).
The DPI and screen size reported are correct now. I think that the problems
which I observed formerly were caused by the fact that the server reported
different things depending on EDID being ok or not. This could confuse the KDE
info center, fontconfig xft and other packages.
So now I can use the driver for the testing purposes. I will carefully watch
for problems and report them here.
With regards, Pavel Troller
More information about the xorg