diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c
index 398178e..929dc7c 100644
--- a/hw/xfree86/dri/dri.c
+++ b/hw/xfree86/dri/dri.c
@@ -2500,7 +2500,11 @@ drmInstallSIGIOHandler(int fd, void (*f) (int, void *, void *))
     entry = drmGetEntry(fd);
     entry->f = f;
 
+#if defined(__sun) && defined(__SVR4)
+    return 1;
+#else
     return xf86InstallSIGIOHandler(fd, drmSIGIOHandler, 0);
+#endif
 }
 
 int
@@ -2510,5 +2514,9 @@ drmRemoveSIGIOHandler(int fd)
 
     entry->f = NULL;
 
+#if defined(__sun) && defined(__SVR4)
+    return 1;
+#else
     return xf86RemoveSIGIOHandler(fd);
+#endif
 }