wayfire: 0.8.0: Intermittent rendering issue in GTK apps

Running 0.8.0, i’ve noticed a couple of odd rendering issues in GTK apps; i’m wondering if they might actually be related.

Firstly, text in some parts of an app’s chrome is sometimes oddly light, resulting in low contrast:

screencap-1

Certain user actions result in the text being re-rendered with the appropriate value levels:

screencap-2

Some of the user actions that can do this include focusing a drop-down widget and then un-focusing it by clicking elsewhere, and - as i’ve just discovered - taking a screencap.

If it might help, here’s the output of ldd /usr/lib64/libreoffice/program/soffice.bin:

linux-vdso.so.1 (0x00007ffd6bb83000)
libuno_sal.so.3 => /usr/lib64/libreoffice/program/libuno_sal.so.3 (0x00007feabcd63000)
libmergedlo.so => /usr/lib64/libreoffice/program/libmergedlo.so (0x00007feab8400000)
libc.so.6 => /lib64/libc.so.6 (0x00007feab8227000)
libz.so.1 => /lib64/libz.so.1 (0x00007feab820d000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/libstdc++.so.6 (0x00007feab7e00000)
libm.so.6 => /lib64/libm.so.6 (0x00007feab8130000)
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/libgcc_s.so.1 (0x00007feab810b000)
/lib64/ld-linux-x86-64.so.2 (0x00007feabcde0000)
libepoxy.so.0 => /usr/lib64/libepoxy.so.0 (0x00007feab7ccf000)
libgpgmepp.so.6 => /usr/lib64/libgpgmepp.so.6 (0x00007feab809a000)
libicuuc.so.73 => /usr/lib64/libicuuc.so.73 (0x00007feab7a00000)
libsmime3.so => /usr/lib64/libsmime3.so (0x00007feab8070000)
libnss3.so => /usr/lib64/libnss3.so (0x00007feab78c4000)
libplc4.so => /usr/lib64/libplc4.so (0x00007feab8069000)
libnspr4.so => /usr/lib64/libnspr4.so (0x00007feab7c8b000)
libdconf.so.1 => /usr/lib64/libdconf.so.1 (0x00007feab7c77000)
libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007feab76db000)
libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007feab7c15000)
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007feab7594000)
libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007feab7546000)
libicui18n.so.73 => /usr/lib64/libicui18n.so.73 (0x00007feab7200000)
libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007feab7159000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007feab6ff0000)
libxslt.so.1 => /usr/lib64/libxslt.so.1 (0x00007feab6fb0000)
libexslt.so.0 => /usr/lib64/libexslt.so.0 (0x00007feab6f98000)
libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007feab6f6b000)
libclucene-core.so.1 => /usr/lib64/libclucene-core.so.1 (0x00007feab6db2000)
libclucene-contribs-lib.so.1 => /usr/lib64/libclucene-contribs-lib.so.1 (0x00007feab6d4c000)
libexttextcat-2.0.so.0 => /usr/lib64/libexttextcat-2.0.so.0 (0x00007feab7c0e000)
libhunspell-1.7.so.0 => /usr/lib64/libhunspell-1.7.so.0 (0x00007feab6c8c000)
libhyphen.so.0 => /usr/lib64/libhyphen.so.0 (0x00007feab753f000)
libmythes-1.2.so.0 => /usr/lib64/libmythes-1.2.so.0 (0x00007feab6c86000)
libnumbertext-1.0.so.0 => /usr/lib64/libnumbertext-1.0.so.0 (0x00007feab6c2f000)
libboost_locale.so.1.82.0 => /usr/lib64/libboost_locale.so.1.82.0 (0x00007feab6b5c000)
librdf.so.0 => /usr/lib64/librdf.so.0 (0x00007feab6b1f000)
libraptor2.so.0 => /usr/lib64/libraptor2.so.0 (0x00007feab6ab7000)
libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007feab6a91000)
libharfbuzz-icu.so.0 => /usr/lib64/libharfbuzz-icu.so.0 (0x00007feab6a8c000)
libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007feab695d000)
liblcms2.so.2 => /usr/lib64/liblcms2.so.2 (0x00007feab68f8000)
libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x00007feab6822000)
libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007feab67e8000)
libtiff.so.6 => /usr/lib64/libtiff.so.6 (0x00007feab6760000)
libwebp.so.7 => /usr/lib64/libwebp.so.7 (0x00007feab66f1000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007feab65ac000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007feab6597000)
libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007feab6453000)
libcups.so.2 => /usr/lib64/libcups.so.2 (0x00007feab63b3000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007feab6366000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007feab629a000)
libuno_cppu.so.3 => /usr/lib64/libreoffice/program/libuno_cppu.so.3 (0x00007feab6266000)
libuno_cppuhelpergcc3.so.3 => /usr/lib64/libreoffice/program/libuno_cppuhelpergcc3.so.3 (0x00007feab6176000)
libi18nlangtag.so => /usr/lib64/libreoffice/program/libi18nlangtag.so (0x00007feab6150000)
libuno_salhelpergcc3.so.3 => /usr/lib64/libreoffice/program/libuno_salhelpergcc3.so.3 (0x00007feab6147000)
libxmlreaderlo.so => /usr/lib64/libreoffice/program/libxmlreaderlo.so (0x00007feab6139000)
libclewlo.so => /usr/lib64/libreoffice/program/libclewlo.so (0x00007feab6132000)
libskialo.so => /usr/lib64/libreoffice/program/libskialo.so (0x00007feab5a00000)
libgpgme.so.11 => /usr/lib64/libgpgme.so.11 (0x00007feab60da000)
libicudata.so.73 => /usr/lib64/libicudata.so.73 (0x00007feab3a00000)
libnssutil3.so => /usr/lib64/libnssutil3.so (0x00007feab60a5000)
libplds4.so => /usr/lib64/libplds4.so (0x00007feab59fa000)
libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007feab59f3000)
libmount.so.1 => /lib64/libmount.so.1 (0x00007feab5990000)
libffi.so.8 => /usr/lib64/libffi.so.8 (0x00007feab5983000)
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007feab58e5000)
libcares.so.2 => /usr/lib64/libcares.so.2 (0x00007feab58c6000)
libnghttp2.so.14 => /usr/lib64/libnghttp2.so.14 (0x00007feab5895000)
libssl.so.3 => /usr/lib64/libssl.so.3 (0x00007feab3958000)
libcrypto.so.3 => /usr/lib64/libcrypto.so.3 (0x00007feab3400000)
libgcrypt.so.20 => /usr/lib64/libgcrypt.so.20 (0x00007feab32b5000)
libclucene-shared.so.1 => /usr/lib64/libclucene-shared.so.1 (0x00007feab3935000)
libboost_thread.so.1.82.0 => /usr/lib64/libboost_thread.so.1.82.0 (0x00007feab3912000)
libboost_chrono.so.1.82.0 => /usr/lib64/libboost_chrono.so.1.82.0 (0x00007feab3907000)
librasqal.so.3 => //usr/lib64/librasqal.so.3 (0x00007feab3887000)
libltdl.so.7 => //usr/lib64/libltdl.so.7 (0x00007feab387b000)
libsharpyuv.so.0 => /usr/lib64/libsharpyuv.so.0 (0x00007feab3873000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007feab3848000)
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007feab32a8000)
libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007feab3299000)
libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007feab3843000)
libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007feab31f0000)
libavahi-common.so.3 => /usr/lib64/libavahi-common.so.3 (0x00007feab31e2000)
libavahi-client.so.3 => /usr/lib64/libavahi-client.so.3 (0x00007feab31cf000)
libgnutls.so.30 => /usr/lib64/libgnutls.so.30 (0x00007feab2e00000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007feab31ba000)
libreglo.so => /usr/lib64/libreoffice/program/libreglo.so (0x00007feab31a2000)
libunoidllo.so => /usr/lib64/libreoffice/program/libunoidllo.so (0x00007feab313d000)
liblangtag.so.1 => /usr/lib64/liblangtag.so.1 (0x00007feab3116000)
libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007feab3111000)
libassuan.so.0 => /usr/lib64/libassuan.so.0 (0x00007feab30fb000)
libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x00007feab30d1000)
libblkid.so.1 => /lib64/libblkid.so.1 (0x00007feab3078000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007feab2d85000)
libmhash.so.2 => /usr/lib64/libmhash.so.2 (0x00007feab3048000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007feab303c000)
libmpfr.so.6 => /usr/lib64/libmpfr.so.6 (0x00007feab2ccc000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007feab3036000)
libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007feab302e000)
libidn2.so.0 => /usr/lib64/libidn2.so.0 (0x00007feab2c99000)
libunistring.so.5 => /usr/lib64/libunistring.so.5 (0x00007feab2ae8000)
libtasn1.so.6 => /usr/lib64/libtasn1.so.6 (0x00007feab3015000)
libnettle.so.8 => /usr/lib64/libnettle.so.8 (0x00007feab2a97000)
libhogweed.so.6 => /usr/lib64/libhogweed.so.6 (0x00007feab2a4b000)
libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007feab29a9000)
libstorelo.so => /usr/lib64/libreoffice/program/libstorelo.so (0x00007feab298d000)

Then, running gnome-tetravex in particular, odd artifacts flicker in and out of the borders of the grid of tiles on the right-hand-side:

screencap-3

In the above screencap, some example artifacts can be seen above the two tiles on the left of the bottom row.

Output of ldd /usr/bin/gnome-tetravex:

linux-vdso.so.1 (0x00007ffd2737f000)
libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007fa434caa000)
libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007fa434c48000)
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007fa434b01000)
libgtk-3.so.0 => /usr/lib64/libgtk-3.so.0 (0x00007fa434200000)
libgdk-3.so.0 => /usr/lib64/libgdk-3.so.0 (0x00007fa434a0e000)
libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007fa4340bc000)
libm.so.6 => /lib64/libm.so.6 (0x00007fa433fdf000)
libc.so.6 => /lib64/libc.so.6 (0x00007fa433e06000)
libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007fa434a05000)
libz.so.1 => /lib64/libz.so.1 (0x00007fa4349eb000)
libmount.so.1 => /lib64/libmount.so.1 (0x00007fa433da3000)
libffi.so.8 => /usr/lib64/libffi.so.8 (0x00007fa433d96000)
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007fa433cf6000)
libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x00007fa433ce4000)
libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007fa433c78000)
libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007fa433b49000)
libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x00007fa433b2f000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007fa433ae2000)
libfribidi.so.0 => /usr/lib64/libfribidi.so.0 (0x00007fa433ac0000)
libcairo-gobject.so.2 => /usr/lib64/libcairo-gobject.so.2 (0x00007fa433ab5000)
libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x00007fa433a86000)
libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00007fa433a5c000)
libepoxy.so.0 => /usr/lib64/libepoxy.so.0 (0x00007fa43392b000)
libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007fa433918000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fa4337d1000)
libwayland-client.so.0 => /usr/lib64/libwayland-client.so.0 (0x00007fa4337be000)
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007fa4337b6000)
libxkbcommon.so.0 => /usr/lib64/libxkbcommon.so.0 (0x00007fa43376e000)
libwayland-cursor.so.0 => /usr/lib64/libwayland-cursor.so.0 (0x00007fa433764000)
libwayland-egl.so.1 => /usr/lib64/libwayland-egl.so.1 (0x00007fa43375e000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007fa433749000)
libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007fa43373c000)
libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007fa433737000)
libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007fa433732000)
libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007fa433725000)
libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007fa4336e9000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007fa43361d000)
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007fa433610000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fa4335e5000)
libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007fa4335d6000)
libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007fa4335cf000)
libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007fa433526000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa434ef9000)
libblkid.so.1 => /lib64/libblkid.so.1 (0x00007fa4334cd000)
libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007fa4334a7000)
libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007fa43347a000)
libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x00007fa4333a2000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fa43338d000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fa433387000)
libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007fa43337f000)

About this issue

  • Original URL
  • State: closed
  • Created 7 months ago
  • Comments: 28 (15 by maintainers)

Most upvoted comments

For some context: we tried dumping the buffers we receive from tetravex, and they themselves turned out to contain visual artifacts, i.e the bug likely happened in the client. Probably tetravex picks a different theme when running under wayfire or something of the sort, in any case, likely not a Wayfire bug.

Nice find @soreau !

@soreau: 👍 Thanks for taking the time to explain what’s happening in more detail - i appreciate you and @ammen99 helping me learn stuff that will (hopefully!) help me produce better bug reports in the future. 😃

Correct, those are the PNGs generated by Wayfire. Okay, thanks - i’ll open a bug in the gnome-tetravex repo.

Oh yeah sorry, I got confused myself. Autostart tetravex, no need to run manually. Also yes, build & install the said branch of Wayfire.