When using CDE on older Solaris systems (2.5.x) remotely using XDMCP with TrueColor visuals, on-screen pixmaps are missing the blue channel and have the red and green channels swapped.
This means that white appears as yellow, green as red, red as green, blue as black, etc.
Is there some X server setting I can use to override this or work around it, or alternate X server that is compatible with whatever the Solaris apps are doing?
This does not affect all on-screen elements; window borders, text-labelled widgets like menus and buttons are coloured according to the default CDE colour scheme and have their normal colours. Icons and other visual elements that are xpm images, such as the background pattern and elements of the CDE front panel, have incorrect colours as noted. In addition, when I open an xpm in the icon editor (dticon) both the multicolour preview and the magnified pixel area have incorrect colours, however the 2-colour preview and the colour palette have correct colours.
I have the same problem whether the XDMCP client is Cygwin/X or Xming in Windows or Xorg in Debian.
If I use Xorg in Debian with -depth 8 (which I guess selects PseudoColor visuals instead of TrueColour) colour channels are not swapped and colours appear as one would expect in 256-colour mode, however I'd rather have 24-bit colour support and avoid the added inconvenience of having to run X through virtualization or switch Windows to 256-colour mode.



xdpyinfo(which you've already done) and compare the masks for Solaris locally with Cygwin-X/Xming/Xorg locally. Next step is to make a remote connection, and see ifxdpyinfovia the remote X server is correct. If the Solaris apps just don't pay attention, next thing I'd do is to look into Xpra or similar, and see if they can (be made to) convert framebuffer formats.