I have an old X application provided as a part of a complicated signal processing package. The application resides on the display-less server, and clients having different X-servers connect to it.On old linux client systems, such as RHEL5, application draws fine, but on modern linux client systems, like RHEL6, Centos5, Ubuntu10 drawing is flawed - windows are blank, or not refreshing, or garbled, or have empty squares behind the previously obscured parts.Problems partially perished when X server was tuned to use the BackingStore option, but that was only the minor improvement. How can I troubleshoot the application to make it draw the windows contents properly? Any specific extensions and/or workarounds must be enabled? Any old X bugs/specifics must be supported?EDIT: I have uploaded a dump of xdpyinfo of a working client here: http://pastebin.com/W0WHQ8hx and non-working client here: http://pastebin.com/X49c6ckW. Looks like the major difference is in PseudoColor visuals existing on working client and absent on non-working client, but I'm not sure if that matters.
How to troubleshoot the old X applications working incorrectly on modern X servers?
xorg;troubleshooting
(This is not a real answer, more a bunch of suggestions - but it's toolong to fit into a comment.)The command xdpyinfo provides alist of X server features, including the list of all registeredextensions and visuals; you could start by comparing that.However, your hint that re-enabling BackingStore fixes the problemmakes me suspicious that this is a client problem: that the clientmakes some wrong assumption on the X11 workings, or somehow violatesthe ICCCM (Java is notorious for this) and thus is broken by a newerversion of X11 that changed some defaults...Two tentative workarounds:Run x11vnc on the node where the application resides, and thenconnect to that over VNC from the newer hosts; you can size thex11vnc screen appropriately so to reduce bandwidth consumption.Run Xnest on the newer nodes and let the troublesome applicationconnect to the Xnest display; you should be able to compile aversion of Xnest old enough to be compatible with the application.