Rendering problems with virtual terminal emulators

I just finished the initial phase of troubleshooting one hell of an annoying problem recently. The symptoms for this is quite something at this time or age, and I’m even more surprised about the driver that’s causing it.

Overview of the symptoms (usually with xterm or urxvt)
  • Screen flickers: constant screen flickering (a little is normal, constant is that every time you type it flickers)
  • Slow rendering: The text won’t render correctly, you have to either press tab again or complete the action.

I made mistakes when I was observing the issue. Initially I thought that because xterm and urxvt are old it means that it no longer meets the modern criteria of a what makes a “modern terminal”, whatever that is.

I kept thinking that urxvt xft setting was underperforming, but that wasn’t the case.

So, before I go onto why I keep using urxvt (urxvt256c-ml in my case (256 stands for 256 color support and ml equals to multilanguage)) I had a very frustrating problem with uxterm, it didn’t read japanese characters correctly and thus it didn’t read anything beyond western characters.

So urxvt worked in the end and I decided to phase out xterm because it wasn’t worth putting more than the embarrassing hours I’ve sank “fixing” rendering problems.

What’s causing it?

The funny thing about this rendering problem is that it’s actually caused by NVIDIA blobs. If you use open source drivers you’ll notice that there are no rendering problems at all. But if you turn on NVIDIA drivers, the rendering problems on gnome-terminal, xterm, urxvt appears.

There’s no fix.

As far as I know there’s no fix for this. It doesn’t matter if you stop using xft or turn off `buffering. It won’t solve the redrawing problems at all. Something in the NVIDIA drivers is causing instability.

Take with a grain of salt

Whether you believe me or not, removing NVIDIA blobs is how I solved the rendering problem.

Categorized as Linux

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.