From 55cd354ef9d0902c4e9e188a6020986bca9d7228 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 6 May 2020 13:45:50 -0400 Subject: [PATCH] main: only log check-accelerated errors when debugging enabled The journal currently gets spammed with messages like: gnome-session: gnome-session-check-accelerated: GL Helper exited with code 512 gnome-session: libEGL warning: DRI2: failed to authenticate gnome-session: gnome-session-check-accelerated: GLES Helper exited with code 512 if a the machine lacks accelerated graphics. But lacking accelerated graphics isn't actually an error (many servers do). This commit changes the messages to only show when debugging is enabled. --- gnome-session/main.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnome-session/main.c b/gnome-session/main.c index 0cd2f88a..567f5714 100644 --- a/gnome-session/main.c +++ b/gnome-session/main.c @@ -202,72 +202,78 @@ require_dbus_session (int argc, g_return_val_if_fail (!g_str_has_prefix (argv[0], "dbus-launch"), TRUE); /* +2 for our new arguments, +1 for NULL */ new_argv = g_malloc ((argc + 3) * sizeof (*argv)); new_argv[0] = "dbus-launch"; new_argv[1] = "--exit-with-session"; for (i = 0; i < argc; i++) { new_argv[i + 2] = argv[i]; } new_argv[i + 2] = NULL; if (!execvp ("dbus-launch", new_argv)) { g_set_error (error, G_SPAWN_ERROR, G_SPAWN_ERROR_FAILED, "No session bus and could not exec dbus-launch: %s", g_strerror (errno)); return FALSE; } /* Should not be reached */ return TRUE; } static gboolean check_gl (GError **error) { int status; + g_autofree char *error_output = NULL; + char *argv[] = { LIBEXECDIR "/gnome-session-check-accelerated", NULL }; if (getenv ("DISPLAY") == NULL) { /* Not connected to X11, someone else will take care of checking GL */ return TRUE; } - if (!g_spawn_sync (NULL, (char **) argv, NULL, 0, NULL, NULL, &gl_renderer, NULL, + if (!g_spawn_sync (NULL, (char **) argv, NULL, 0, NULL, NULL, &gl_renderer, &error_output, &status, error)) { return FALSE; } + if (error_output != NULL) { + g_debug ("%s", error_output); + } + return g_spawn_check_exit_status (status, error); } static void initialize_gio (void) { char *disable_fuse = NULL; char *use_vfs = NULL; disable_fuse = g_strdup (g_getenv ("GVFS_DISABLE_FUSE")); use_vfs = g_strdup (g_getenv ("GIO_USE_VFS")); g_setenv ("GVFS_DISABLE_FUSE", "1", TRUE); g_setenv ("GIO_USE_VFS", "local", TRUE); g_vfs_get_default (); if (use_vfs) { g_setenv ("GIO_USE_VFS", use_vfs, TRUE); g_free (use_vfs); } else { g_unsetenv ("GIO_USE_VFS"); } if (disable_fuse) { g_setenv ("GVFS_DISABLE_FUSE", disable_fuse, TRUE); g_free (disable_fuse); } else { g_unsetenv ("GVFS_DISABLE_FUSE"); } } -- 2.25.1