Arch Linux

Please read this before reporting a bug:

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!

FS#36972 - [firefox] Shared cairo should work again

Attached to Project: Arch Linux
Opened by Connor Behan (connorbehan) - Wednesday, 18 September 2013, 08:20 GMT
Last edited by Evangelos Foutras (foutrelis) - Thursday, 26 March 2015, 08:52 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Ionut Biru (wonder)
Evangelos Foutras (foutrelis)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


I just saw firefox 24 hit [testing]. Now that has been fixed, and the patch has made it into the current release, we can go back to using "--enable-system-cairo". No need to rebuild now, but can this flag be turned on for the next firefox and xulrunner package? Thanks.
This task depends upon

Closed by  Evangelos Foutras (foutrelis)
Thursday, 26 March 2015, 08:52 GMT
Reason for closing:  Deferred
Additional comments about closing:  Flash objects that use wmode="transparent" render incorrectly with system cairo ( FS#42743 ). Deferring this until we start building Firefox with GTK3.
Comment by Jan Alexander Steffens (heftig) - Monday, 23 September 2013, 17:38 GMT
I don't think this is a good idea until we build with GTK3 (which requires system-cairo). The in-tree cairo has way too many Firefox-specific patches, such as tagging surfaces with subpixel-antialiasing support.
Comment by Connor Behan (connorbehan) - Tuesday, 01 October 2013, 06:58 GMT
In my experience, those patches cause more problems than they solve.  FS#36105  is a recent example. Alternative idea: if and when you package xulrunner 24, we could just --enable-system-cairo there. Then the firefox users who want this could use xulrunner for a relatively quick build.
Comment by Jan de Groot (JGC) - Tuesday, 01 October 2013, 07:39 GMT
 FS#36105  is a crash in the intel driver. No application should ever be able to segfault X.

Anyways, the in-tree version of cairo is an older version which has been patched to fix quite some bugs. They use in-tree because then they can use private API that way. Using system cairo would probably fix some bugs which aren't present in newer cairo versions, but it will come with a performance hit, as mozilla is using private API and internal cairo structures to do things faster and easier.
Comment by Connor Behan (connorbehan) - Sunday, 06 October 2013, 03:09 GMT
Right, it's a tradeoff. But there must be a reason why --enable-system-cairo was once used in the mozconfig and then commented out rather than deleted. I thought it was because Mozilla's NIH solution was not preferred and only used during that time out of necessity.
Comment by Evangelos Foutras (foutrelis) - Tuesday, 14 October 2014, 16:14 GMT
firefox 33.0-1 in [testing] is now built with system cairo.

Please test it and report any issues.
Comment by Connor Behan (connorbehan) - Wednesday, 15 October 2014, 18:49 GMT
Works great on intel.
Comment by Evangelos Foutras (foutrelis) - Wednesday, 12 November 2014, 17:01 GMT
This has been reverted in firefox 33.1-2 because it breaks Flash objects that use wmode="transparent". (See  FS#42743  for details.)