Visuel ARGB
Le visuel X11 de 32 bits dont le quatrième octet est un canal alpha, de sorte qu'une fenêtre peut être translucide pixel par pixel — à condition qu'un compositeur s'en soucie.
Le protocole de base de X11 ignore tout de la transparence. Un visuel décrit comment les valeurs de pixels deviennent des couleurs, et en 24 bits chaque bit est déjà pris par le rouge, le vert et le bleu. XRender a ajouté un format d'image, ARGB32, où les huit bits de poids fort d'une valeur de 32 bits sont lus comme un taux de couverture, et le serveur annonce depuis un visuel TrueColor de profondeur 32 à côté du visuel ordinaire. Une fenêtre créée avec ce visuel porte un canal alpha dont personne ne se servait, jusqu'à ce que Composite déplace le dessin vers un pixmap séparé en 2004 : dès lors, le compositeur peut lire l'alpha et fondre la fenêtre avec ce qui se trouve derrière. Ombres, fondus et terminaux translucides sous Linux passent tous par là.
Les pièges sont bien connus. Une fenêtre 32 bits doit être créée avec sa propre colormap pour ce visuel et un border_pixel explicite, faute de quoi le serveur répond BadMatch, une erreur que des générations de programmeurs ont apprise à leurs dépens. Sans compositeur, l'alpha est purement ignoré et la fenêtre affiche ce que contient le tampon, généralement du noir. GTK a obtenu gdk_screen_get_rgba_colormap en 2005 et Qt l'attribut WA_TranslucentBackground en 2009 pour choisir automatiquement le bon visuel. Qui veut simplement estomper une fenêtre entière évite tout cela avec la propriété _NET_WM_WINDOW_OPACITY, une convention informelle issue de xcompmgr et de Compiz que tous les compositeurs respectent depuis, sans qu'elle ait jamais été inscrite dans EWMH.