Le lundi 8 octobre 2007 16:34, Jean Delvare a écrit :
Le lundi 8 octobre 2007 16:01, Luc Verhaegen a écrit :
This is some issue with my edid handling. As far as i can tell, no mode has been created for the detailed timing mode there, i can't tell why yet.
Further analysis revealed that the modes are skipped because of this test in rhd_edid.c:EDIDModeFromDetailedTiming:
/* We only do seperate sync currently */ if (timing->sync != 0x03) { xf86DrvMsg(scrnIndex, X_INFO, "%s: Ignoring: We only handle seperate" " sync.\n", __func__); return NULL; }
Reading the EDID manually shows that the two modes _do_ have the sync bits set to 3, so somehow the information is lost on the way. I was investigating this with Egbert at the moment.
I hope i can look into this in the evening.
Egbert and myself finished the investigation this evening and it happens to be a bug in the X server itself (remember that I'm on SLED10 SP1 which still has X 6.9). The sync flags are not properly reported to the drivers, there're shifted by one to the right so 0x03 shows as 0x01 (the LSB is lost.) I hacked the radeonhd driver locally to test for sync == 0x01 and now I get 1400x1050 working just fine :) So there's nothing to fix in the radeonhd driver, sorry for the noise. Thanks, -- Jean Delvare Suse L3 -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org