Xephyr: better handling of the -nodri option

* hw/kdrive/ephyr/ephyr.c:
          (ephyrInitScreen): try and detect when the host has no
          DRI support. In that case, switch to the -nodri behaviour.
          When in the -nodri case, make sure not to skip glx visual
          initialisation.
This commit is contained in:
Dodji Seketeli 2007-10-04 13:01:24 +02:00
parent ea94f59e9b
commit 06c8977966

View File

@ -40,6 +40,10 @@
#endif /*XEPHYR_DRI*/
extern int KdTsPhyScreen;
#ifdef GLXEXT
extern Bool noGlxVisualInit;
#endif
KdKeyboardInfo *ephyrKbd;
KdPointerInfo *ephyrMouse;
EphyrKeySyms ephyrKeySyms;
@ -628,6 +632,11 @@ ephyrInitScreen (ScreenPtr pScreen)
#endif /*XV*/
#ifdef XEPHYR_DRI
if (!ephyrNoDRI && !hostx_has_dri ()) {
EPHYR_LOG ("host x does not support DRI. Disabling DRI forwarding\n") ;
ephyrNoDRI = TRUE ;
noGlxVisualInit = FALSE ;
}
if (!ephyrNoDRI) {
ephyrDRIExtensionInit (pScreen) ;
ephyrHijackGLXExtension () ;
@ -635,6 +644,12 @@ ephyrInitScreen (ScreenPtr pScreen)
}
#endif
#ifdef GLXEXT
if (ephyrNoDRI) {
noGlxVisualInit = FALSE ;
}
#endif
return TRUE;
}