Update:
On the advice of @NiLuJe, I removed Python from the equation entirely and compiled a minimal GTK3 application to see whether the problem lay with Python or GTK3. When I ran my compiled binary, I had the same outcome as before - the titlebar turned invisible but none of the widgets were drawn. However, when I ran my application within Xephyr, it worked perfectly. I also tried to run one of the Python/GTK examples within Xephyr and I had different results depending on whether I was within a debian chroot or not. Outside of the chroot, GTK tried to load fontconfig definitions from the usual system path and failed with a bunch of errors like this:
Code:
Fontconfig warning: "/etc/fonts/conf.d/30-metric-aliases.conf", line 84: Having multiple <family> in <alias> isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/30-metric-aliases.conf", line 84: Having multiple <family> in <alias> isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/30-metric-aliases.conf", line 93: Having multiple <family> in <alias> isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/30-metric-aliases.conf", line 93: Having multiple <family> in <alias> isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/30-metric-aliases.conf", line 102: Having multiple <family> in <alias> isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/30-metric-aliases.conf", line 102: Having multiple <family> in <alias> isn't supported and may not work as expected
The program loads but the text doesn't display properly, as shown in the image below. When I'm within the chroot, this is not an issue, presumably because it's loading the font config files from within the chroot.
Why does GTK work within Xephyr but not directly on the Kindle's X11 server?