FAQ: add entry about color emoji Xft bug
authorHiltjo Posthuma <hiltjo@codemadness.org>
Fri, 17 May 2019 11:00:10 +0000 (13:00 +0200)
committerHiltjo Posthuma <hiltjo@codemadness.org>
Fri, 17 May 2019 11:00:10 +0000 (13:00 +0200)
This has been asked many times on IRC and the mailinglist. Make it easier to
find information about this particular Xft issue by adding it to the FAQ.

FAQ

diff --git a/FAQ b/FAQ
index 921c493..ecf7af8 100644 (file)
--- a/FAQ
+++ b/FAQ
@@ -165,3 +165,30 @@ Apply [1].
 
 [1] http://st.suckless.org/patches/delkey
 
+## BadLength X error in Xft when trying to render emoji
+
+Xft makes st crash when rendering color emojis with the following error:
+
+"X Error of failed request:  BadLength (poly request too large or internal Xlib length error)"
+  Major opcode of failed request:  139 (RENDER)
+  Minor opcode of failed request:  20 (RenderAddGlyphs)
+  Serial number of failed request: 1595
+  Current serial number in output stream:  1818"
+
+This is a known bug in Xft (not st) which happens on some platforms and
+combination of particular fonts and fontconfig settings.
+
+See also:
+https://gitlab.freedesktop.org/xorg/lib/libxft/issues/6
+https://bugs.freedesktop.org/show_bug.cgi?id=107534
+https://bugzilla.redhat.com/show_bug.cgi?id=1498269
+
+The solution is to remove color emoji fonts or disable this in the fontconfig
+XML configuration.  As an ugly workaround (which may work only on newer
+fontconfig versions (FC_COLOR)), the following code can be used to mask color
+fonts:
+
+       FcPatternAddBool(fcpattern, FC_COLOR, FcFalse);
+
+Please don't bother reporting this bug to st, but notify the upstream Xft
+developers about fixing this bug.