Color problem with i810 driver in Ubuntu 5.10

Help
Seb Wills
2006-02-02
2013-04-10
  • Seb Wills
    Seb Wills
    2006-02-02

    I'm using a Dell Latitude X300, running Ubuntu Breezy (with package xserver-xorg 6.8.2-77, i.e. x.org 6.8.2 with a bunch of patches that Debian/Ubuntu have pulled in from x.org CVS).

    i855crt (v0.4) does enable the external video output, but the colors are completely messed up. Sounds like the same symptoms described in another forum posting: http://sourceforge.net/forum/forum.php?thread_id=1299216&forum_id=369761

    It does seem like the pipe is somehow not being initialised correctly or is interpreting the video RAM in the wrong format. It's not just a wrong gamma setting, since while it's true that many colours display as white, others change hue completely. For example, grey values of 100% (white), 80%, 60%, ... 0% (black) appear respectively as white, white, white, white, bright turquoise, black. And shades of brown appear as all sorts of different colors.

    Trying an older version of Ubuntu (a Hoary LiveCD, which has xserver-xorg 6.8.2-10) on the same machine, i855crt worked perfectly.

    So it seems that something in the additional patches to the x.org source that Ubuntu applies in xserver-xorg 6.8.2-77 over those for 6.8.2-10 breaks things with this hardware, which reports as the following:
    0000:00:02.0 VGA compatible controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
    0000:00:02.1 Display controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02).

    Anyone familiar enough with recent developments in the i810 driver to know where the problem might be? Although the problem is introduced by a patch in the Ubuntu package, I think the patch is just pulling in changes from xorg CVS HEAD, since the patch used inside the Ubuntu package is called "000_stolen_from_HEAD_i810".

    I've put a diff between the i810 and dri/i915 directories in the x.org source tree as they are with the patches from xorg-common 6.8.2-10.1 applied versus as they are with the patches from xorg-common 6.8.2-77 at http://www.inference.phy.cam.ac.uk/saw27/temp/xorg-common_additional_i810_patches_10.1_to_77.diff in case that helps pinpoint which change in the i810 driver source could have caused this.

    Unfortunately I have been unable to try x.org 6.9.0 or 7.0 to see if whatever caused the problem has since been reversed.

    (As an aside to anyone else having this type of problem - a workaround that works for me is to use the vesa driver rather than i810. i855crt seems to work in spite of segfaulting if vesa is being used.)

     
    • Seb Wills
      Seb Wills
      2006-02-22

      By way of follow-up, I just tried the Ubuntu Dapper Flight CD 4 (liveCD), which uses x.org 7.0.0 the the x.org i810 driver version 1.4.1.3, on the same machine. The colour problem persists when I activate the external display using i855crt. So the problem seems to be on any recent version of x.org's i810 driver.

       
    • Seb Wills
      Seb Wills
      2006-03-29

      More info for anyone else with this problem: it seems that using the Clone option in xorg.conf, e.g.

      Section "Device"
      Driver "i810"
      Option "MonitorLayout" "CRT,LFP"
      Option "Clone" "true"
      ...

      produces a correct external output without needing i855crt. With this config, both internal and external displays are enabled when X.Org is started (although you can then use the hotkey to turn one off). See also https://bugs.freedesktop.org/show_bug.cgi?id=5817 for discussion of a proposed option which would default to internal display only but would correctly enable the external or both when the hotkey is pressed.

       
    • Seb Wills
      Seb Wills
      2006-05-31

      Just for the record: in Ubuntu Dapper, i855crt still causes the color corruption problem described above on the Dell X300 *unless* you toggle through Fn+F8 (until you get back to "internal only") before invoking i855crt, in which case it works fine.