if (reconfig) return;
if (!config_comp) return;
+ if (ob_comp_indirect)
+ setenv("LIBGL_ALWAYS_INDIRECT", "1", True);
+
config_comp = FALSE;
root = RootWindow(obt_display, ob_screen);
return;
}
- obcomp.ctx = glXCreateContext(obt_display, vi, NULL, True);
+ obcomp.ctx = glXCreateContext(obt_display, vi, NULL, !ob_comp_indirect);
XFree(vi);
fbcs = obcomp.GetFBConfigs(obt_display, ob_screen, &count);
gchar *ob_sm_save_file = NULL;
gboolean ob_sm_restore = TRUE;
gboolean ob_debug_xinerama = FALSE;
+gboolean ob_comp_indirect = FALSE;
const gchar *ob_locale_msg = NULL;
static ObState state;
fine to leave it as FILE though. */
g_print(_(" --config-file FILE Specify the path to the config file to use\n"));
g_print(_(" --sm-disable Disable connection to the session manager\n"));
+ g_print(_(" --indirect Use indirect rendering for composite\n"));
g_print(_("\nPassing messages to a running Openbox instance:\n"));
g_print(_(" --reconfigure Reload Openbox's configuration\n"));
g_print(_(" --restart Restart Openbox\n"));
else if (!strcmp(argv[i], "--debug-xinerama")) {
ob_debug_xinerama = TRUE;
}
+ else if (!strcmp(argv[i], "--indirect")) {
+ ob_comp_indirect = TRUE;
+ }
else if (!strcmp(argv[i], "--reconfigure")) {
remote_control = 1;
}
extern gboolean ob_sm_restore;
extern gboolean ob_replace_wm;
extern gboolean ob_debug_xinerama;
+extern gboolean ob_comp_indirect;
/*! The current locale for the LC_MESSAGES category */
extern const gchar *ob_locale_msg;