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:
parent
ea94f59e9b
commit
06c8977966
|
@ -40,6 +40,10 @@
|
||||||
#endif /*XEPHYR_DRI*/
|
#endif /*XEPHYR_DRI*/
|
||||||
|
|
||||||
extern int KdTsPhyScreen;
|
extern int KdTsPhyScreen;
|
||||||
|
#ifdef GLXEXT
|
||||||
|
extern Bool noGlxVisualInit;
|
||||||
|
#endif
|
||||||
|
|
||||||
KdKeyboardInfo *ephyrKbd;
|
KdKeyboardInfo *ephyrKbd;
|
||||||
KdPointerInfo *ephyrMouse;
|
KdPointerInfo *ephyrMouse;
|
||||||
EphyrKeySyms ephyrKeySyms;
|
EphyrKeySyms ephyrKeySyms;
|
||||||
|
@ -628,6 +632,11 @@ ephyrInitScreen (ScreenPtr pScreen)
|
||||||
#endif /*XV*/
|
#endif /*XV*/
|
||||||
|
|
||||||
#ifdef XEPHYR_DRI
|
#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) {
|
if (!ephyrNoDRI) {
|
||||||
ephyrDRIExtensionInit (pScreen) ;
|
ephyrDRIExtensionInit (pScreen) ;
|
||||||
ephyrHijackGLXExtension () ;
|
ephyrHijackGLXExtension () ;
|
||||||
|
@ -635,6 +644,12 @@ ephyrInitScreen (ScreenPtr pScreen)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLXEXT
|
||||||
|
if (ephyrNoDRI) {
|
||||||
|
noGlxVisualInit = FALSE ;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user