7c745ba
diff -up plymouth-0.8.9/src/main.c.sysfs-tty-fix plymouth-0.8.9/src/main.c
7c745ba
--- plymouth-0.8.9/src/main.c.sysfs-tty-fix	2014-02-20 13:30:12.391455465 -0500
7c745ba
+++ plymouth-0.8.9/src/main.c	2014-02-20 13:29:43.673747888 -0500
7c745ba
@@ -1980,6 +1980,7 @@ add_display_and_keyboard_for_console (co
7c745ba
 
7c745ba
 static int
7c745ba
 add_consoles_from_file (state_t         *state,
7c745ba
+                        const char      *default_tty,
7c745ba
                         ply_hashtable_t *consoles,
7c745ba
                         const char      *path)
7c745ba
 {
7c745ba
@@ -1988,7 +1989,6 @@ add_consoles_from_file (state_t
7c745ba
   ssize_t contents_length;
7c745ba
   int num_consoles;
7c745ba
   const char *remaining_file_contents;
7c745ba
-
7c745ba
   ply_trace ("opening %s", path);
7c745ba
   fd = open (path, O_RDONLY);
7c745ba
 
7c745ba
@@ -2009,6 +2009,8 @@ add_consoles_from_file (state_t
7c745ba
     }
7c745ba
   close (fd);
7c745ba
 
7c745ba
+  ply_trace ("kernel reports active consoles are '%s'", contents);
7c745ba
+
7c745ba
   remaining_file_contents = contents;
7c745ba
   num_consoles = 0;
7c745ba
 
7c745ba
@@ -2034,18 +2036,26 @@ add_consoles_from_file (state_t
7c745ba
       console_length = strcspn (remaining_file_contents, " \n\t\v");
7c745ba
       console = strndup (remaining_file_contents, console_length);
7c745ba
 
7c745ba
-      /* If this console is anything besides tty0, then the user is sort
7c745ba
-       * of a weird case (uses a serial console or whatever) and they
7c745ba
-       * most likely don't want a graphical splash, so force details.
7c745ba
-       */
7c745ba
-      if (strcmp (console, "tty0") != 0)
7c745ba
-        state->should_force_details = true;
7c745ba
-
7c745ba
       asprintf (&console_device, "/dev/%s", console);
7c745ba
 
7c745ba
+      /* If this console is anything besides tty0 or the default tty, then
7c745ba
+       * the user is sort of a weird case (uses a serial console or whatever)
7c745ba
+       * and they most likely don't want a graphical splash, so force details.
7c745ba
+       */
7c745ba
+      if (!state->should_force_details &&
7c745ba
+          (strcmp (console, "tty0") != 0) &&
7c745ba
+          (strcmp (console_device, default_tty) != 0))
7c745ba
+        {
7c745ba
+          ply_trace ("forcing details because serial console %s found!", console_device);
7c745ba
+          state->should_force_details = true;
7c745ba
+        }
7c745ba
+      else
7c745ba
+        {
7c745ba
+          ply_trace ("local console %s found!", console_device);
7c745ba
+        }
7c745ba
+
7c745ba
       free (console);
7c745ba
 
7c745ba
-      ply_trace ("console %s found!", console_device);
7c745ba
       ply_hashtable_insert (consoles, console_device, console_device);
7c745ba
       num_consoles++;
7c745ba
 
7c745ba
@@ -2135,7 +2145,7 @@ check_for_consoles (state_t    *state,
7c745ba
 
7c745ba
   if (!ignore_serial_consoles)
7c745ba
     {
7c745ba
-      num_consoles = add_consoles_from_file (state, consoles, "/sys/class/tty/console/active");
7c745ba
+      num_consoles = add_consoles_from_file (state, default_tty, consoles, "/sys/class/tty/console/active");
7c745ba
 
7c745ba
       if (num_consoles == 0)
7c745ba
         {