Xephyr: add -nodri and -noxv switches.
* hw/kdrive/ephyr/ephyr.c,ephyrinit.c:: add -nodri and -noxv to disable either DRI or XV. When -nodri, mesa GL (non acceleretated) works.
This commit is contained in:
parent
5067439138
commit
f731b9da7d
|
@ -43,6 +43,8 @@ extern int KdTsPhyScreen;
|
||||||
KdKeyboardInfo *ephyrKbd;
|
KdKeyboardInfo *ephyrKbd;
|
||||||
KdPointerInfo *ephyrMouse;
|
KdPointerInfo *ephyrMouse;
|
||||||
EphyrKeySyms ephyrKeySyms;
|
EphyrKeySyms ephyrKeySyms;
|
||||||
|
Bool ephyrNoDRI=FALSE ;
|
||||||
|
Bool ephyrNoXV=FALSE ;
|
||||||
|
|
||||||
static int mouseState = 0;
|
static int mouseState = 0;
|
||||||
|
|
||||||
|
@ -616,18 +618,23 @@ ephyrInitScreen (ScreenPtr pScreen)
|
||||||
pScreen->CreateColormap = ephyrCreateColormap;
|
pScreen->CreateColormap = ephyrCreateColormap;
|
||||||
|
|
||||||
#ifdef XV
|
#ifdef XV
|
||||||
if (!ephyrInitVideo (pScreen)) {
|
if (!ephyrNoXV) {
|
||||||
EPHYR_LOG_ERROR ("failed to initialize xvideo\n") ;
|
if (!ephyrInitVideo (pScreen)) {
|
||||||
} else {
|
EPHYR_LOG_ERROR ("failed to initialize xvideo\n") ;
|
||||||
EPHYR_LOG ("initialized xvideo okay\n") ;
|
} else {
|
||||||
|
EPHYR_LOG ("initialized xvideo okay\n") ;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif /*XV*/
|
#endif /*XV*/
|
||||||
|
|
||||||
#ifdef XEPHYR_DRI
|
#ifdef XEPHYR_DRI
|
||||||
|
if (!ephyrNoDRI) {
|
||||||
ephyrDRIExtensionInit (pScreen) ;
|
ephyrDRIExtensionInit (pScreen) ;
|
||||||
ephyrHijackGLXExtension () ;
|
ephyrHijackGLXExtension () ;
|
||||||
ephyrProxyExtensionInit ("ATIFGLRXDRI") ;
|
ephyrProxyExtensionInit ("ATIFGLRXDRI") ;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -639,12 +646,12 @@ ephyrFinishInitScreen (ScreenPtr pScreen)
|
||||||
*/
|
*/
|
||||||
if (!shadowSetup (pScreen))
|
if (!shadowSetup (pScreen))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
#ifdef RANDR
|
#ifdef RANDR
|
||||||
if (!ephyrRandRInit (pScreen))
|
if (!ephyrRandRInit (pScreen))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,9 @@ extern Window EphyrPreExistingHostWin;
|
||||||
extern Bool EphyrWantGrayScale;
|
extern Bool EphyrWantGrayScale;
|
||||||
extern Bool kdHasPointer;
|
extern Bool kdHasPointer;
|
||||||
extern Bool kdHasKbd;
|
extern Bool kdHasKbd;
|
||||||
|
extern Bool ephyrNoDRI;
|
||||||
|
extern Bool ephyrNoXV;
|
||||||
|
extern Bool noGlxVisualInit;
|
||||||
|
|
||||||
void processScreenArg (char *screen_size, char *parent_id) ;
|
void processScreenArg (char *screen_size, char *parent_id) ;
|
||||||
|
|
||||||
|
@ -99,6 +102,8 @@ ddxUseMsg (void)
|
||||||
ErrorF("-grayscale Simulate 8bit grayscale\n");
|
ErrorF("-grayscale Simulate 8bit grayscale\n");
|
||||||
ErrorF("-fakexa Simulate acceleration using software rendering\n");
|
ErrorF("-fakexa Simulate acceleration using software rendering\n");
|
||||||
ErrorF("-verbosity <level> Set log verbosity level\n");
|
ErrorF("-verbosity <level> Set log verbosity level\n");
|
||||||
|
ErrorF("-nodri do not use DRI\n");
|
||||||
|
ErrorF("-noxv do not use XV\n");
|
||||||
ErrorF("\n");
|
ErrorF("\n");
|
||||||
|
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -139,6 +144,8 @@ ddxProcessArgument (int argc, char **argv, int i)
|
||||||
{
|
{
|
||||||
EPHYR_DBG("mark argv[%d]='%s'", i, argv[i] );
|
EPHYR_DBG("mark argv[%d]='%s'", i, argv[i] );
|
||||||
|
|
||||||
|
noGlxVisualInit = TRUE ;
|
||||||
|
|
||||||
if (!strcmp (argv[i], "-parent"))
|
if (!strcmp (argv[i], "-parent"))
|
||||||
{
|
{
|
||||||
if(i+1 < argc)
|
if(i+1 < argc)
|
||||||
|
@ -199,6 +206,19 @@ ddxProcessArgument (int argc, char **argv, int i)
|
||||||
exit(1) ;
|
exit(1) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (!strcmp (argv[i], "-nodri"))
|
||||||
|
{
|
||||||
|
noGlxVisualInit = FALSE ;
|
||||||
|
ephyrNoDRI = TRUE ;
|
||||||
|
EPHYR_LOG ("no direct rendering enabled\n") ;
|
||||||
|
return 1 ;
|
||||||
|
}
|
||||||
|
else if (!strcmp (argv[i], "-noxv"))
|
||||||
|
{
|
||||||
|
ephyrNoXV = TRUE ;
|
||||||
|
EPHYR_LOG ("no XVideo enabled\n") ;
|
||||||
|
return 1 ;
|
||||||
|
}
|
||||||
else if (argv[i][0] == ':')
|
else if (argv[i][0] == ':')
|
||||||
{
|
{
|
||||||
hostx_set_display_name(argv[i]);
|
hostx_set_display_name(argv[i]);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user