Comment 82 for bug 264769

Revision history for this message
kendatsuba (kendatsuba) wrote :

Hi everybody.
Same problem here (see attached image): Asus laptop model L400L, VGA compatible controller: SiS 65x/M650/740.
Unfortunately the proposed fix (adding sisfb to /etc/modules) doesn't help. However I think I found a working fix for my hardware so please read on.
Comparing Xorg logs generated by Hardy (not affected by this bug) and the ones from Jaunty (see attachments) I found this important difference in the output:

Hardy:

(--) SIS(0): Video BIOS version "1.15.01" found (old SiS data layout)

Jaunty (this line is also present in every log you posted):

(WW) SIS(0): Could not find/read video BIOS

Inspecting the driver source I discovered that in the transition from version 0.9.3 to 0.10.1 a substantial amount of code gets bypassed if Xorg 7.4 is detected. This is so because that piece of code is not compatible with Xorg 7.4 pci rework (http://www.x.org/wiki/PciReworkHowto). Let's get straight to point: that bypassed code is (guess what) part of the bios detection routine: it is the last attempt made by the driver to load the card bios and gets called if all previous "standard" attempts have failed. That was the problem.

The solution: instead of rewriting the bypassed code I just forced the driver to read the card bios using one of the aforementioned "standard" attempts. Luck was on my side, It worked!

You will find the logs, the patch and the patched i386 deb in a tar.gz attached to this message. The fix should work with SIS_650 (tested - see attached image) and SIS_660 (not tested). Could you please test it?

Best regards,
Matteo