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.

Solaris XDMCP login, showing swapped colour channels in pixmap CDE via XDMCP from Xming, showing swapped colour channels in pixmaps

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.

CDE desktop in pseudocolour mode with accurate colour channels

  • 3
    X has a general scheme for color channels (mask and offset), so my guess is that either there is a mixup somewhere, or some applications don't pay attention and just do what they please. So the first step is to run 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 if xdpyinfo via 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.
    – dirkt
    Jul 14, 2018 at 11:24
  • I don't have 24-bit graphics locally on the Solaris 2.x install so I can't test that -- but in the course of setting up Solaris 7 so I might use the XFree86 porting kit I realised it doesn't have the same issue.
    – rakslice
    Jul 17, 2018 at 0:45

1 Answer 1


This particular problem — which is not to be confused with similar-looking problems in later versions with .im8 images (such as the graphics on the 'Welcome to Solaris' splash screen) — is a known issue with Motif:

1255448: cde on Solaris x86 has yellow tinting problem with TrueColor default visual

An X server that allows changing the class of the default visual should be able to work around this.

Xorg and Xming document an option for that:

-cc int default color visual class

However passing -cc with PseudoColor or its constant from X.h (3) has no effect on the default visual reported by xdpyinfo.

Alternately the issue can be fixed by installing a revision of the appropriate Motif patch for the Solaris release (e.g. 2.5 → 103947, 2.5.1 → 104195) that has a fix for this issue.

  • That very much looks like if it was this version of Motif that didn't pay attention to the masks, and the patch fixes that...
    – dirkt
    Jul 17, 2018 at 5:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .