[cairo] Should cairo support pseudocolor? (was: bug 4945: six months to fix a bug ?)

Carl Worth cworth at cworth.org
Thu Feb 1 13:14:03 PST 2007


At Thu, 1 Feb 2007 16:36:35 +0100, Marc Espie wrote:
> I'm not really very interested in cairo, rather in the state of
> OpenBSD in general.

Hi Marc, nice to meet you.

> A loooong time ago, we've had some big issue integrating cairo,
> namely the lack of support for non XRENDER 8 bits display.

What was the big issue? Cairo has never supported rendering to an
8-bit pseudocolor display, ever.

Now, toolkits and applications that used to support rendering to 8-bit
pseudocolor may have given up that capability when switching to
cairo. But I hope in all cases that was a conscious decision on the
part of the toolkit and application authors making the switch.

> Thanks to the great work of Eric Faurot, we've had a working patch
> in our tree since March 2006. That's almost a year now.

So, your modified version of cairo supports something that the
original cairo doesn't. You're perfectly within your rights to do
something like that, but the support burden for the extra
functionality is yours, not ours.

> So, now I am wondering. Why is this bug-report still open, and not some
> form of this patch integrated ?

The easy answer is that cairo doesn't (and never has) support 8-bit
pseudocolor visuals.

If that's going to change, then someone that _is_ interested in cairo
is going to have to step up and own the problem, (meaning that they're
willing to maintain the support into the future). And first, there
should be some discussion on this mailing list about what "support
8-bit pseudocolor" actually means for cairo. Should cairo be
installing its own color map with a color cube and a gray ramp? Should
it just use whatever colors it happens to find in the existing map
even if the result is rainbow fringing? Should cairo start using
dithering?

That discussion could be as simple as Eric, (or someone else), saying:

	Here's how the support should work. Here's a patch that does
	it. I've tested this, and I'm willing to maintain/test this
	code in the future.

And if there aren't any objections to the approach, they're really
doesn't have to be much more discussion than that.

> From what I understand, it looks like the cairo developers do not like
> this patch too much, but hey, it does the job doesn't it ?

Does it? We haven't even described what the job would be. This would
be a new feature to be added to cairo.

> But seriously. You've got a major bug, a serviceable patch, and everybody
> is sitting on their thumbs waiting for someone to fix the issue in a
> cleaner way ? 9 months!!! this won't happen.

I don't see a serviceable patch at all. I see three different patches
that were generated against 3 different cairo versions, (1.0.x, 1.2.0,
and 1.2.4). The most recent update to the patch came with th following
disclaimer, (no offense to Dan here---he's just trying to make things
work):

	I can't claim to understand his changes (or any of cairo's
	internals),

and got the following response in testing:

	The patch #6762 works indeed for 8-bit Pseudo-Color with
	SUN-X-Servers, but breaks 24-Bit-True Color Visual
	compatibility there

So, I don't see a patch against the current version, and I see plenty
of evidence that the patch that does exist isn't quite right yet.

> Vendors from various distributions all duplicate the patch from
> Eric.

Note that many distributions do ship cairo without any extra patches
in this area. To each his own of course.

> Integrate the darn patch already.

Please understand that what you're asking is more than just pushing a
patch-and-commit button. There's a support burden here as well. Your
post itself has made arguments supporting the difficulty of supporting
the feature: it's "complicated code" and people "have to fix the patch
periodically".

Currently, we don't have anyone, (that I know of), working on cairo
that's willing to do that.

But we're also always glad to accept new people. So if someone would
like to step up for this, please let me know, and we'll be glad to
welcome you as a cairo contributor. When people show good code and a
willingness to maintain I'm very likely to say yes to a request for
commit access to cairo's central repository.

And, I would be quite glad to see the issue go away. I think I'm in
strong agreement with Marc on that point.

-Carl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20070201/2bdbfb3b/attachment.pgp


More information about the cairo mailing list