From f6ba8671d83f9fce9a00045d8fa399a1c07ba7fc Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 5 Nov 2014 08:30:52 -0500
Subject: [PATCH] login: rerun vconsole-setup when switching from vgacon to
 fbcon

The initialization performed by systemd-vconsole-setup is reset
when changing console drivers (say from vgacon to fbcon), so we
need to run it in that case.

See
http://lists.freedesktop.org/archives/systemd-devel/2014-October/023919.html
http://lists.freedesktop.org/archives/systemd-devel/2014-October/024423.html
http://lists.freedesktop.org/archives/systemd-devel/2014-November/024881.html

This commit adds a udev rule to make systemd-vconsole-setup get run when
the fbcon device becomes available.

(david: moved into new file 90-vconsole.rules instead of 71-seats.rules;
        build-failures are on me, not on Ray)
---
 Makefile.am                    |    3 +++
 src/vconsole/90-vconsole.rules |   11 +++++++++++
 2 files changed, 14 insertions(+)
 create mode 100644 src/vconsole/90-vconsole.rules

diff --git Makefile.am Makefile.am
index 3686103..f614b86 100644
--- Makefile.am
+++ Makefile.am
@@ -4439,6 +4439,9 @@ rootlibexec_PROGRAMS += \
 nodist_systemunit_DATA += \
 	units/systemd-vconsole-setup.service
 
+dist_udevrules_DATA += \
+	src/vconsole/90-vconsole.rules
+
 SYSINIT_TARGET_WANTS += \
 	systemd-vconsole-setup.service
 endif
diff --git src/vconsole/90-vconsole.rules src/vconsole/90-vconsole.rules
new file mode 100644
index 0000000..bf6a9ef
--- /dev/null
+++ src/vconsole/90-vconsole.rules
@@ -0,0 +1,11 @@
+#  This file is part of systemd.
+#
+#  systemd is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU Lesser General Public License as published by
+#  the Free Software Foundation; either version 2.1 of the License, or
+#  (at your option) any later version.
+
+# Kernel resets vconsole state when changing console drivers so run
+# systemd-vconsole-setup when fbcon loads
+
+ACTION=="add", SUBSYSTEM=="graphics", KERNEL=="fbcon", RUN+="/usr/lib/systemd/systemd-vconsole-setup"
-- 
1.7.9.2

