From 8659757c045dcdb6fcf628fa76025f1a2f533e8a Mon Sep 17 00:00:00 2001 From: Ray Strode 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) (cherry-picked from f6ba8671d83f9fce9a00045d8fa399a1c07ba7fc) Related: #1002450 --- Makefile.am | 3 +++ src/vconsole/90-vconsole.rules | 11 +++++++++++ 2 files changed, 14 insertions(+) create mode 100644 src/vconsole/90-vconsole.rules diff --git a/Makefile.am b/Makefile.am index dab55ba..faf2a32 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3258,6 +3258,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 a/src/vconsole/90-vconsole.rules b/src/vconsole/90-vconsole.rules new file mode 100644 index 0000000..bf6a9ef --- /dev/null +++ b/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"