diff --git a/mi/micmap.c b/mi/micmap.c
index 3ef0c8c..41d53a7 100644
--- a/mi/micmap.c
+++ b/mi/micmap.c
@@ -464,6 +464,11 @@ maskShift(Pixel p)
* the set which can be used with this version of cfb.
*/
+#if defined(__sparc__) || defined(__sparc)
+_X_EXPORT miInitVisualsProcPtr miInitVisualsProc = NULL;
+#endif /* __sparc__ */
+
+
Bool
miInitVisuals(VisualPtr * visualp, DepthPtr * depthp, int *nvisualp,
int *ndepthp, int *rootDepthp, VisualID * defaultVisp,
@@ -482,6 +487,13 @@ miInitVisuals(VisualPtr * visualp, DepthPtr * depthp, int *nvisualp,
int *preferredCVCs, *prefp;
int first_depth;
+#if defined(__sparc__) || defined(__sparc)
+ if (miInitVisualsProc) {
+ return (miInitVisualsProc(visualp, depthp, nvisualp, ndepthp,
+ rootDepthp, defaultVisp, sizes, bitsPerRGB, preferredVis));
+ }
+#endif /* __sparc__ */
+
/* none specified, we'll guess from pixmap formats */
if (!miVisuals) {
for (f = 0; f < screenInfo.numPixmapFormats; f++) {