]> git.ipfire.org Git - thirdparty/plymouth.git/log
thirdparty/plymouth.git
8 years agoasdfasdf tmp
Ray Strode [Mon, 5 Dec 2016 17:20:19 +0000 (12:20 -0500)] 
asdfasdf

8 years agoasdfasdf
Ray Strode [Mon, 5 Dec 2016 16:55:31 +0000 (11:55 -0500)] 
asdfasdf

8 years agoasdfasdf
Ray Strode [Mon, 5 Dec 2016 16:43:39 +0000 (11:43 -0500)] 
asdfasdf

8 years agoasdfasdf
Ray Strode [Mon, 5 Dec 2016 16:42:39 +0000 (11:42 -0500)] 
asdfasdf

8 years agosdf
Ray Strode [Mon, 5 Dec 2016 16:33:37 +0000 (11:33 -0500)] 
sdf

8 years agoasdf
Ray Strode [Mon, 5 Dec 2016 16:30:47 +0000 (11:30 -0500)] 
asdf

11 years agoconfigure: bump to 0.9.0 0.9.0
Ray Strode [Tue, 20 May 2014 17:20:46 +0000 (13:20 -0400)] 
configure: bump to 0.9.0

11 years agotext-step-bar: silence warning about multibyte characters
Ray Strode [Tue, 20 May 2014 17:47:39 +0000 (13:47 -0400)] 
text-step-bar: silence warning about multibyte characters

11 years agoboot-server: allow premature client close of socket on update replies
Ray Strode [Tue, 20 May 2014 17:16:28 +0000 (13:16 -0400)] 
boot-server: allow premature client close of socket on update replies

systemd doesn't block waiting for a reply to its update request, since
it would pointlessly slow down boot up.

This commit makes sure we don't bother logging that case.

11 years agoevent-loop: drop some extraneous debugging messages
Ray Strode [Tue, 20 May 2014 17:12:21 +0000 (13:12 -0400)] 
event-loop: drop some extraneous debugging messages

These messages may have been useful at one point, but these
days they just add noise to boot up for every service started.

11 years agoupstart-bridge: do not generate naked job-name update messages.
Dimitri John Ledkov [Tue, 6 May 2014 10:58:54 +0000 (11:58 +0100)] 
upstart-bridge: do not generate naked job-name update messages.

11 years agoupstart-bridge: do not generate empty messages
Dimitri John Ledkov [Tue, 6 May 2014 10:58:53 +0000 (11:58 +0100)] 
upstart-bridge: do not generate empty messages

11 years agoupstart-bridge: don't bail on dummy terminals
Dimitri John Ledkov [Tue, 6 May 2014 10:58:52 +0000 (11:58 +0100)] 
upstart-bridge: don't bail on dummy terminals

11 years agoupstart-bridge: use upstart private socket
Dimitri John Ledkov [Tue, 6 May 2014 10:58:51 +0000 (11:58 +0100)] 
upstart-bridge: use upstart private socket

11 years agoRevert "Add support for operation log messages"
Ray Strode [Mon, 21 Apr 2014 15:18:19 +0000 (11:18 -0400)] 
Revert "Add support for operation log messages"

This reverts commit 52b91176ba46eba5816ee7ee9a3e079ae548fbb1.

11 years agoRevert "upstart-bridge: change to use new register operations feature"
Ray Strode [Mon, 21 Apr 2014 15:18:16 +0000 (11:18 -0400)] 
Revert "upstart-bridge: change to use new register operations feature"

This reverts commit e9dced91810075b749ce1c147b8914c96974af96.

11 years agoupstart-bridge: change to use new register operations feature
Pali Rohár [Mon, 21 Apr 2014 14:17:57 +0000 (10:17 -0400)] 
upstart-bridge: change to use new register operations feature

https://bugs.freedesktop.org/show_bug.cgi?id=77389

11 years agoAdd support for operation log messages
Pali Rohár [Sat, 23 Nov 2013 16:39:53 +0000 (17:39 +0100)] 
Add support for operation log messages

This patch adding support for operation log messages and updating upstart
bridge code to use it. This is usefull for verbose log output (e.g daemon
starting, stopping).

Example:

 Register operation ssh:
 $ plymouth register-operation --operation-id=ssh --name='Starting OpenSSH server ssh'

 Set state of operation ssh to wait:
 $ plymouth update --operation-id=ssh --status="wait"
 Details plugin will show: 'Starting OpenSSH server ssh... [wait]'

 Set state of operation ssh to done:
 $ plymouth update --operation-id=ssh --status="done"
 Details plugin will show: 'Starting OpenSSH server ssh... [done]'

 Unregister operation ssh:
 $ plymouth unregister-operation --operation-id=ssh

https://bugs.freedesktop.org/show_bug.cgi?id=77389

11 years agomain: add a --no-boot-log commandline option
Cosimo Cecchi [Thu, 27 Mar 2014 19:54:45 +0000 (12:54 -0700)] 
main: add a --no-boot-log commandline option

For systems that want to keep disk writes at the very minimum.

https://bugs.freedesktop.org/show_bug.cgi?id=76706

11 years agomain: don't write an empty file when no_boot_log is set
Cosimo Cecchi [Thu, 27 Mar 2014 19:53:21 +0000 (12:53 -0700)] 
main: don't write an empty file when no_boot_log is set

https://bugs.freedesktop.org/show_bug.cgi?id=76706

11 years agoRevert "systemd: create flag file to notify systemd that plymouth is around"
Ray Strode [Thu, 27 Mar 2014 20:11:50 +0000 (16:11 -0400)] 
Revert "systemd: create flag file to notify systemd that plymouth is around"

This reverts commit 8c267e9a3becdff4a6f42a157179a6f5260fb6df.

I think this patch was accidentally pushed, since the commit date is
years older than the push date, and it seems to overlap in already
existing pid-file functionality.

If we actually do need this commit we can always add it back of course.

11 years agosystemd: create flag file to notify systemd that plymouth is around
Lennart Poettering [Wed, 30 Mar 2011 00:50:53 +0000 (02:50 +0200)] 
systemd: create flag file to notify systemd that plymouth is around

11 years agoseat: make sure to open terminal when adding text displays
Ray Strode [Thu, 6 Mar 2014 19:42:16 +0000 (14:42 -0500)] 
seat: make sure to open terminal when adding text displays

If we have a pixel display, the renderer will handle opening the
associated terminal. but if we don't have a pixel display, something
needs to open the terminal.

This commit adds code to do that.

11 years agomain: call update_display when splash is shown
Ray Strode [Thu, 6 Mar 2014 15:02:21 +0000 (10:02 -0500)] 
main: call update_display when splash is shown

we need to call update display any time a splash is shown,
because there may be a pending password request.

The code attempted to do this in show_splash, but did it before
the splash was assigned to running state, so function was a noop.

This commit moves it a little later in code after the splash is
properly assigned.

11 years agodevice-manager: be more tolerant of tty active console value
Ray Strode [Mon, 3 Mar 2014 23:00:19 +0000 (18:00 -0500)] 
device-manager: be more tolerant of tty active console value

Some kernels mistakenly put tty1 instead of tty0 in the file,
so try to cope with them for maximium compatibility.

11 years agodevice-manager: ignore udev if only console is serial console
Ray Strode [Mon, 3 Mar 2014 22:55:59 +0000 (17:55 -0500)] 
device-manager: ignore udev if only console is serial console

Right now we use the heuristic, "more than one entry in
/sys/class/tty/console/active" to mean "has serial consoles".

We used to use the heuristic "file has more than tty0 in it".
The older heuristic is more accurate because a user may have
console=ttyS0 without console=tty0 on the kernel command line.

11 years agodevice-manager: defer /dev/fb compat processing until after coldplug
Ray Strode [Mon, 3 Mar 2014 22:25:44 +0000 (17:25 -0500)] 
device-manager: defer /dev/fb compat processing until after coldplug

We never want to use a /dev/fb device if a DRM device will work instead
(since it supports multi-monitor, isn't a legacy interface, etc)

Unfortunately, right now plymouthd notices efifb at early start up,
see's there is no DRM device associated with it and chooses it for
the main display, which causes all sort of problems.

This commit defers using /dev/fb devices until after udev settles.

11 years agodevice-manager: handle drm hotplug separately from /dev/fb
Ray Strode [Mon, 3 Mar 2014 18:27:30 +0000 (13:27 -0500)] 
device-manager: handle drm hotplug separately from /dev/fb

Right now, we piggyback off fb subsystem events to know whether or
not a drm device is hotplugged (since all drm devices have fb devices
for backward compat).

This commit makes drm and fb processing more independent, so we don't
rely on the compat device being available for drm hotplug to work..

11 years agoclient: support plymouth.debug on kernel command line
Ray Strode [Fri, 7 Feb 2014 21:40:07 +0000 (16:40 -0500)] 
client: support plymouth.debug on kernel command line

We used to use plymouth:debug to enable debugging in the
plymouth daemon, and changed it to plymouth.debug to be more
consistent with other users of the kernel command line.

We neglected to update the client to support the new format
though.  This commit does that.

11 years agomain: detach from keyboard on hide-splash
Ray Strode [Thu, 6 Feb 2014 20:22:54 +0000 (15:22 -0500)] 
main: detach from keyboard on hide-splash

Currently plymouth stays in control of the terminal
after hide-splash.  This is wrong.  Once plymouth is
hidden, the terminal should be free to use for other
programs.

This commit makes sure we free up the terminal on
hide splash.

11 years agomain: don't nullify local_console_terminal in quit_splash
Ray Strode [Thu, 6 Feb 2014 19:42:40 +0000 (14:42 -0500)] 
main: don't nullify local_console_terminal in quit_splash

quit_splash gets called on hide-splash so nullify the terminal
will make it unavailable on later show-splash calls.

11 years agomain: cancel show_splash timeout on deactivate
Ray Strode [Wed, 5 Feb 2014 20:12:17 +0000 (15:12 -0500)] 
main: cancel show_splash timeout on deactivate

This fixes a race/crash where plymouthd get deactivated
right before the show timer fires and it tries to
show itself after things have been torn down.

11 years agomain: don't show splash from cancel_pending_delayed_show
Ray Strode [Wed, 5 Feb 2014 20:09:13 +0000 (15:09 -0500)] 
main: don't show splash from cancel_pending_delayed_show

It was a weird to show something in a function called "cancel..show"

Instead move the logic to the one caller that actually needed that
functionality (on_ask_for_password)

11 years agomain: don't instruct terminal to ignore mode changes on deactivate
Ray Strode [Mon, 3 Feb 2014 15:02:43 +0000 (10:02 -0500)] 
main: don't instruct terminal to ignore mode changes on deactivate

This prevents plymouthd from changing VTs if necessary.

http://bugs.freedesktop.org/show_bug.cgi?id=66824

11 years agopopulate-initrd: install binaries to their configured location
Enrico Tagliavini [Wed, 29 Jan 2014 14:18:22 +0000 (09:18 -0500)] 
populate-initrd: install binaries to their configured location

If plymouth is configured --with-system-root-install=no then the
systemd unitd files will write the paths of plymouth and plymouthd
relative to /usr .  The script currently hardcodes installing them
to the initrd's /

This commit makes sure they get placed on the same part of the of
the initrd filesystem as systemd expects to find them.

https://bugs.freedesktop.org/show_bug.cgi?id=74174

11 years agomain: log when boot.log fails to open
Ray Strode [Mon, 27 Jan 2014 17:29:06 +0000 (12:29 -0500)] 
main: log when boot.log fails to open

11 years agolibply: add tracing statements to progress saving
Ray Strode [Mon, 27 Jan 2014 17:26:48 +0000 (12:26 -0500)] 
libply: add tracing statements to progress saving

We should at least report whether saving worked or failed.

11 years agomain: add more debugging at quit time
Ray Strode [Mon, 27 Jan 2014 17:24:20 +0000 (12:24 -0500)] 
main: add more debugging at quit time

There's a distinct lack of tracing statements around
the quit path, so flesh it out a little.

11 years agoseat: proceed without renderer if type is AUTO and renderer fails
Ray Strode [Fri, 24 Jan 2014 20:08:10 +0000 (15:08 -0500)] 
seat: proceed without renderer if type is AUTO and renderer fails

If a seat gets opened with a renderer type of AUTO, and the renderer
fails to open, then it's okay and expected to proceed without a
renderer (and just use the terminal). The code attempted to do this
but failed to nullify the seat->renderer object, so it ended up
going down the renderer-active code path.

This commit fixes that.

11 years agomain: disable hotplug events and splash delay if details forced
Ray Strode [Fri, 24 Jan 2014 19:29:31 +0000 (14:29 -0500)] 
main: disable hotplug events and splash delay if details forced

There's no point in waiting for a graphics device if details are
forced, and we shouldn't ever delay showing details.  If details
are requested, we shouldn't be hiding them.

11 years agoplymouthd: build with -rdynamic so built-in module works
Ray Strode [Fri, 24 Jan 2014 19:08:16 +0000 (14:08 -0500)] 
plymouthd: build with -rdynamic so built-in module works

The details plugin is "built in" to the plymouthd binary, so
it's always available even if the details module isn't installed
(say /usr isn't mounted yet or something)

Unfortunately, this feature isn't working because plymouthd isn't
built with -rdynamic (except for in my local CFLAGS).

This commit fixes the makefile goo accordingly.

11 years agomain: create time directory if it doesn't exist
Juan A. Suarez Romero [Fri, 17 Jan 2014 20:08:05 +0000 (20:08 +0000)] 
main: create time directory if it doesn't exist

This makes sure there is a convenient place to write down boot duration.

11 years agoseat: always add text displays when opening seat
Ray Strode [Fri, 17 Jan 2014 17:51:24 +0000 (12:51 -0500)] 
seat: always add text displays when opening seat

At the moment we add pixel displays if we can, or
text displays if we can't add pixel displays.

We need to always add text displays, otherwise, the
text splash won't work when explicitly configured by
the user.

11 years agoRevert "boot-server: defer show-splash reply until splash shown"
Ray Strode [Thu, 16 Jan 2014 20:38:05 +0000 (15:38 -0500)] 
Revert "boot-server: defer show-splash reply until splash shown"

This reverts commit 126345af8704a9b10481657d79d66cbea93e1647.

If plymouth show-splash blocks until the splash screen is shown,
then systemd-ask-for-password-plymouth will block for 5 seconds
before asking for the password (which would have canceled the 5
second delay if it weren't for the dependency on plymouth-start.service)

11 years agomain: don't rely on show_trigger to cancel show delay
Ray Strode [Thu, 16 Jan 2014 20:44:50 +0000 (15:44 -0500)] 
main: don't rely on show_trigger to cancel show delay

We're going to be getting rid of show_trigger in a subsequent
commit, so this commit changes the code to use the is_shown
flag instead.

11 years agomain: print splash delay after loading it, not before
Ray Strode [Thu, 16 Jan 2014 21:23:10 +0000 (16:23 -0500)] 
main: print splash delay after loading it, not before

otherwise it will always say nan

11 years agodevice-manager: add some better debugging
Ray Strode [Fri, 10 Jan 2014 23:11:42 +0000 (18:11 -0500)] 
device-manager: add some better debugging

This commit just adds some more tracing statements,
that are useful for tracking down a bug.

11 years agodevice-manager: only pass scan a device passes all checks
Ray Strode [Fri, 10 Jan 2014 23:12:57 +0000 (18:12 -0500)] 
device-manager: only pass scan a device passes all checks

Right now scan_graphics_devices returns true, if a device is found,
even if that device doesn't get used because it's not fully
initialized.

11 years agomain: load /usr/share/plymouth/plymouthd.defaults not plymouthd.conf
Ray Strode [Fri, 10 Jan 2014 22:47:52 +0000 (17:47 -0500)] 
main: load /usr/share/plymouth/plymouthd.defaults not plymouthd.conf

When i deduplicated code a few commits back, I made a cut-and-paste
error and used the wrong file name for distro policy

11 years agoscripts: plymouth-update-initrd should call dracut -f with no args
Ray Strode [Fri, 10 Jan 2014 20:55:20 +0000 (15:55 -0500)] 
scripts: plymouth-update-initrd should call dracut -f with no args

dracut -f does the right thing on it's own, so we shouldn't try
to overspecify it

11 years agodefaults: enable a 5 second show delay by default
Ray Strode [Fri, 10 Jan 2014 18:05:42 +0000 (13:05 -0500)] 
defaults: enable a 5 second show delay by default

This way fast machines don't have to deal with a splash at all.

11 years agomain: introduce delay as a daemon option
Ray Strode [Fri, 10 Jan 2014 18:01:02 +0000 (13:01 -0500)] 
main: introduce delay as a daemon option

Briefly, the two-step plugin would delay showing itself
for a few seconds (in case the machine boots quickly).

That got reverted, because i'm not convinced any longer
that doing it in the splash is the right level.  Also,
the implementation had various bugs causing the delay
to show up at the wrong time.

This commit makes it a daemon option instead.

This makes it easier to apply to all themes, and also makes it
so the admin can opt-out without changing themes.

11 years agomain: clear is_shown state from hide_splash
Ray Strode [Fri, 10 Jan 2014 16:47:08 +0000 (11:47 -0500)] 
main: clear is_shown state from hide_splash

Right now we clear is_shown after calling hide_splash in a couple
of places.  It makes more sense to clear this flag in one place,
in hide_splash, rather than duplicating code.

11 years agomain: load default splash settings at start up
Ray Strode [Fri, 10 Jan 2014 18:26:16 +0000 (13:26 -0500)] 
main: load default splash settings at start up

There's no reason to load them lazily, and when
we extend the functions to add a theme delay setting,
we're going to want to have the settings available as early as
possible.

11 years agomain: refactor theme loading code to reduce duplication
Ray Strode [Fri, 10 Jan 2014 16:10:16 +0000 (11:10 -0500)] 
main: refactor theme loading code to reduce duplication

Right now we read /usr/share/plymouthd/plymouthd.defaults
and /etc/plymouth/plymouthd.conf to find the configured splash
screen.  The two functions that do this are basically copy-and-paste
of each other.

This commits splits some of the duplicated code out into a common
function for clarity.  Doing this also helps to facilitate adding
more configuration options, which we'll need to do in the future
to support a global start up delay.

11 years agomain: don't skip asking for password if splash is coming up
Ray Strode [Fri, 10 Jan 2014 15:33:14 +0000 (10:33 -0500)] 
main: don't skip asking for password if splash is coming up

If the client asks for a password and we don't have a splash
screen, we currently reply with a NOANSWER reply which makes
the client ask for the password instead.  This is so ask-for-password
requests that come up when plymouthd isn't controlling the tty can be
handled.

These days show-splash requests are asynchronous and so a splash screen
might not be around "right now" but will be around in the near
future. In these cases, we really want plymouth to handle asking for
the password, because it's going to take control of the tty imminently,
so the client won't able able to ask for the password (and, of course,
we'd rather the splash ask for the password anyway, since it's a better
user experience)

This commit checks if there's a looming show splash request.  If there
is, it avoids doing the NOANSWER reply and instead just sits tight
waiting for the splash to come up and the user to enter the password.

11 years agoboot-server: defer show-splash reply until splash shown
Ray Strode [Fri, 10 Jan 2014 15:13:35 +0000 (10:13 -0500)] 
boot-server: defer show-splash reply until splash shown

Right now if a client calls show-splash it will return
immediately, before the splash screen may be necessarily
shown.

From this point on, init thinks the splash screen is up
and does things like asking for a password, which will
subsequently fail.

This commit makes 'plymouth show-splash' block until the
splash screen is actually shown.

11 years agoRevert "two-step: fix unlock screen" and "two-step: introduce delayed startup"
Ray Strode [Fri, 10 Jan 2014 15:46:25 +0000 (10:46 -0500)] 
Revert "two-step: fix unlock screen" and "two-step: introduce delayed startup"

This reverts commits 540ae58fe02600b73a17c7fd80f2fdce42c7087e and 17976ac53807d93d9e240e85fe0e1e8ea3fab730.

I want to implement the feature more generally, and the current
implementation has bugs when toggling to details and back.

11 years agoseat: activate keyboard when opening seat
Ray Strode [Fri, 10 Jan 2014 19:06:13 +0000 (14:06 -0500)] 
seat: activate keyboard when opening seat

During the recent device manager work, the code to open the keyboard
initially got dropped, making keyboard input not work.

This commit fixes that.

11 years agodevice-manager: detach from event loop when getting freed
Ray Strode [Fri, 10 Jan 2014 18:35:21 +0000 (13:35 -0500)] 
device-manager: detach from event loop when getting freed

fixes a crash at shutdown

11 years agobuild-goo: link libudev with libply-splash-core instead of plymouthd
Cristian Rodríguez [Sat, 14 Dec 2013 23:22:19 +0000 (23:22 +0000)] 
build-goo: link libudev with libply-splash-core instead of plymouthd

The libply-splash-core library provides functions for controlling the
input and output of the splash screen.

Recently it gained support for device enumeration from udev using the
libudev library. When that support was added, the linker and compiler
flags of the plymouthd binary were augmented, instead of the the
libply-splash-core library directly. That broke the build on some
systems.

This commit moves the linker and compiler flags to the correct place.

11 years agobuild-goo: get rid of warnings related to non-GNU systems
Ray Strode [Wed, 11 Dec 2013 18:32:09 +0000 (13:32 -0500)] 
build-goo: get rid of warnings related to non-GNU systems

11 years agobuild-goo: fix obtuse warning message from autogoo
Ray Strode [Wed, 11 Dec 2013 18:28:11 +0000 (13:28 -0500)] 
build-goo: fix obtuse warning message from autogoo

11 years agobuild-goo: s/INCLUDES/AM_CPPFLAGS/
Ray Strode [Wed, 11 Dec 2013 18:18:48 +0000 (13:18 -0500)] 
build-goo: s/INCLUDES/AM_CPPFLAGS/

This gets rid of some build warnings.

11 years agodevice-manager: force fallback after udev is settled
Ray Strode [Tue, 10 Dec 2013 18:38:41 +0000 (13:38 -0500)] 
device-manager: force fallback after udev is settled

This commit delays making decisions about what type of splash screen
to show until udev has drained its queue.

11 years agodevice-manager: protect against local console seat getting created more than once
Ray Strode [Wed, 11 Dec 2013 17:53:38 +0000 (12:53 -0500)] 
device-manager: protect against local console seat getting created more than once

We watch for udev events even after forcing fall back, so we need to
make sure we don't allocate two seats for the local console if we
fallback then get a late event.

11 years agomain: reconsolidate loading and showing of splashes
Ray Strode [Tue, 10 Dec 2013 21:07:01 +0000 (16:07 -0500)] 
main: reconsolidate loading and showing of splashes

Recently, loading a splash was separated from showing the
splash.  This ends up breaking fall back to the text splash,
because we don't know if we need to fall back until after
the default splash fails to show.

This commit recombines loading with showing.

11 years agodevice-manager: handle text fallback better
Ray Strode [Tue, 10 Dec 2013 18:38:41 +0000 (13:38 -0500)] 
device-manager: handle text fallback better

Right now, we'll wait indefinitely for graphics devices to show up
before showing the splash screen.

This means text splashes don't get shown, at all.

This commit changes the initial scan for graphics devices, to
include uninitialized ones. If there aren't any, then we fall
back. If there are some, we know an add event will be coming, so
we don't fall back. We still handle already initialized devices
right away.

11 years agosystemd-units: ensure udevd is started before plymouthd
Ray Strode [Wed, 11 Dec 2013 17:10:08 +0000 (12:10 -0500)] 
systemd-units: ensure udevd is started before plymouthd

We need to make sure udevd is started before plymouthd since we
need to know that "queue is empty" means "coldplug complete" not
"coldplug hasn't started yet".

11 years agoconfigure: build with -Wno-unused-result
Ray Strode [Tue, 10 Dec 2013 13:48:39 +0000 (08:48 -0500)] 
configure: build with -Wno-unused-result

It creates too many spurious warnings that will need to get mopped
up some day, but not today.

11 years agoconfigure: remove tests/ references from configure
Ray Strode [Tue, 10 Dec 2013 13:08:50 +0000 (08:08 -0500)] 
configure: remove tests/ references from configure

A few commits back I dropped the bitrotted, not-unittized,
tests, but forgot to take the tests directories out of configure.

This commit fixes that.

11 years agobranch-merge: land udev support
Ray Strode [Tue, 10 Dec 2013 06:29:30 +0000 (01:29 -0500)] 
branch-merge: land udev support

A certain class of machines don't work in plymouth because
they draw the kernel console to /dev/dri/card1 instead of
/dev/dri/card2.

This branch fixes that, by adding support for querying udev
to determine the available drm devices.

As part of this effort, some clean up was performed:

1) a bunch of bit rotted tests were removed
2) large chunks of code were moved from main.c to helper
objects implemented in other files.
3) Other parts of main.c were moved around or refactored
so they were easier to read.

Based on work from Kevin Murphy <kemurphy.cmu@gmail.com>

https://bugs.freedesktop.org/show_bug.cgi?id=25943

11 years agosystemd: don't call udevadm settle before show-splash wip/udev
Ray Strode [Tue, 10 Dec 2013 02:50:07 +0000 (21:50 -0500)] 
systemd: don't call udevadm settle before show-splash

Since we're monitoring udev explicitly now, we have no
need to block the client show-splash request until graphics
devices settle.

This commit removes the udevadm calls from plymouth-start.service.

11 years agomain: provide way to toggle udev device enumeration off
Ray Strode [Tue, 10 Dec 2013 02:07:16 +0000 (21:07 -0500)] 
main: provide way to toggle udev device enumeration off

We don't want to use udev for device enumeration if:

1) DISPLAY is set (since we're going to use the X11 renderer)
2) if it's disabled explicitly on the kernel command line

This commit adds support for those two things.

11 years agodevice-manager: add support for udev device enumeration
Ray Strode [Mon, 9 Dec 2013 18:13:38 +0000 (13:13 -0500)] 
device-manager: add support for udev device enumeration

At the moment, we hardcode /dev/dri/card0 for the DRM device.
This works well enough in the lion's share of cases, but there are cases
where it falls over.  Namely, machines with multiple GPUs, such as
optimus hardware, sometimes end up with the kernel fb console going to
/dev/dri/card1.

Rather than trying /dev/dri/card0 then /dev/dri/card1 etc in succession,
this commit, instead, adds support for querying udev for the
information.

11 years agorenderer: add way to get device_name that was passed to constructor
Ray Strode [Tue, 10 Dec 2013 02:13:13 +0000 (21:13 -0500)] 
renderer: add way to get device_name that was passed to constructor

It's useful to be able to figure out which renderer a given renderer
is, by examining the device that is associated with it.

This commit adds and accessor function to return the device that
was passed to ply_renderer_new.

At the moment, it does not return the device name if NULL was passed
to the constructor and the device was figured out automatically.  A
future commit may add that ability if it becomes necessary.

11 years agoconfigure: add libudev dependency
Ray Strode [Wed, 20 Nov 2013 02:22:58 +0000 (21:22 -0500)] 
configure: add libudev dependency

We're going to want to support multiple graphics devices, as
specified by udev.

This first commit, merely adds the libudev dependency to the
build goo.

11 years agoframe-buffer: support activating without a terminal
Ray Strode [Mon, 9 Dec 2013 19:35:31 +0000 (14:35 -0500)] 
frame-buffer: support activating without a terminal

This is the same as the previous drm commit, but for
the frame-buffer backend.

11 years agodrm: support activating without terminal
Ray Strode [Mon, 9 Dec 2013 19:28:42 +0000 (14:28 -0500)] 
drm: support activating without terminal

If there are multiple DRM devices, only one
can really be reading from the terminal at a time.

We currently punt this issue by ignoring all but
the first drm device.

In preparation for supporting more than one DRM device,
we need to come up with a solution.

This commit changes the DRM renderer plugin to allow getting
a NULL terminal.  In this way, we can assign the terminal to
one of the DRM cards, but still output to the others.

Note, we never pass NULL for a terminal yet, that comes later.

11 years agomain: use new device manager class
Ray Strode [Mon, 9 Dec 2013 02:09:15 +0000 (21:09 -0500)] 
main: use new device manager class

Now that we have a class for managing our seats, let's use it.
This gets a lot of the nitty gritty logic out of main.c and
paves the way for us to do smartcard device management going
forward.

11 years agosplash-core: add device manager class
Ray Strode [Mon, 9 Dec 2013 02:03:46 +0000 (21:03 -0500)] 
splash-core: add device manager class

There's quite a bit of logic for managing input and output in
main.c right now.  That code is already a bit too complicated,
but will get even more complicated going forward if we want
to add udev support, etc.

In an effort to keep things from getting too unwieldly, this
commit breaks out a lot of the logic into a new
ply-device-manager class.

A subsequent commit will make main.c use the new class.

11 years agomain: move show_messages into show_theme
Ray Strode [Mon, 9 Dec 2013 15:42:45 +0000 (10:42 -0500)] 
main: move show_messages into show_theme

Everywhere we call show_theme we call show_messages immediately,
afterward.

Since showing the messages on the theme is arguable part of showing
it, this commit moves show_messages into the show_theme function.

11 years agomain: refactor on_show_splash
Ray Strode [Mon, 9 Dec 2013 16:56:17 +0000 (11:56 -0500)] 
main: refactor on_show_splash

Now that showing the theme is separated out, this
commit refactors on_show_splash to move the splash
loading specific bits to its own function.

11 years agomain: refactor show_*_splash
Ray Strode [Mon, 9 Dec 2013 15:37:51 +0000 (10:37 -0500)] 
main: refactor show_*_splash

Right now show_default_splash and show_detailed_splash,
load the relevant splash and then show it.

This commit drops the "show" part and renames the functions to
load_default_splash and load_detailed_splash, respectively.

It, of course, also updates the callers to call show_theme
explicitly.

This refactorization will make it easier to later move device
management out of main.c

11 years agoboot-splash: strip out old api
Ray Strode [Tue, 3 Dec 2013 03:37:30 +0000 (22:37 -0500)] 
boot-splash: strip out old api

Now that main.c is attaching seat objects to the boot splash,
instead of the seat's individual components, we can drop the
apis that allow doing things piecewise.

11 years agomain: port over to seat objects
Ray Strode [Sat, 30 Nov 2013 03:45:19 +0000 (22:45 -0500)] 
main: port over to seat objects

We create one seat object for the main display and one seat
for each serial console.

11 years agoboot-splash: add support for seat objects
Ray Strode [Fri, 29 Nov 2013 16:28:52 +0000 (11:28 -0500)] 
boot-splash: add support for seat objects

ply_boot_splash_t currently gets notified about displays and keyboard
objects to pass along to the splash plugins.

Now that we have a ply_seat_t object that can encapsulate display
and keyboard objects, we should add support to ply_boot_splash_t for
using it.

This commit does that. For now, it does it without changing the plugin
interface (which is still in terms of displays and keyboards).

Note, this commit only adds support for seat objects to
ply_boot_splash_t. It doesn't actually change any of the calling code
to use that support. That will come in a subsequent commit.

11 years agosplash-core: add new seat object
Ray Strode [Fri, 29 Nov 2013 16:03:14 +0000 (11:03 -0500)] 
splash-core: add new seat object

Right now we maintain parallel lists of displays in several different
layers of code.

This commit introduces a "seat" object to encapsulate a set of displays,
and associated input device.

A subsequently commit will actually change the code over to use the
seat object.

11 years agomain: get rid of start_boot_splash
Ray Strode [Thu, 5 Dec 2013 20:02:35 +0000 (15:02 -0500)] 
main: get rid of start_boot_splash

start_boot_splash is a convenience function that's going to
get in the way in the future.  It also has the annoying
"boolean argument" problem that load_theme had.

This commit gets rid of start_boot_splash entirely.

11 years agomain: drop fall back feature of load_theme
Ray Strode [Thu, 5 Dec 2013 19:58:19 +0000 (14:58 -0500)] 
main: drop fall back feature of load_theme

load_theme currently takes a boolean that if true, will
make it load the built-in "details" plugin if the main plugin
fails to load.

Boolean arguments are hard to read, so this commit drops it.

11 years agomain: load built-in theme instead of details plugin
Ray Strode [Thu, 5 Dec 2013 19:51:13 +0000 (14:51 -0500)] 
main: load built-in theme instead of details plugin

We already have the details theme "built" in, so there's
little point in loading the details.so plugin when we want
details internally.

This commit fixes that.

11 years agomain: split start_boot_splash up into two functions
Ray Strode [Thu, 5 Dec 2013 19:39:50 +0000 (14:39 -0500)] 
main: split start_boot_splash up into two functions

Right now start_boot_splash loads the theme, then
shows it.

It's going to be useful in the future to preload the
theme, so this commit breaks the two operations out
into two functions, load_theme and show_theme,
and makes start_boot_splash just call those two
functions.

11 years agomain: don't unredirect /dev/console from on_show_splash
Ray Strode [Tue, 3 Dec 2013 21:51:38 +0000 (16:51 -0500)] 
main: don't unredirect /dev/console from on_show_splash

The code that's there, doesn't make much sense, so this
commit removes it.

11 years agomain: require /sys/class/tty/console/active to have plymouth on serial consoles
Ray Strode [Thu, 5 Dec 2013 18:09:00 +0000 (13:09 -0500)] 
main: require /sys/class/tty/console/active to have plymouth on serial consoles

This commit drops the aging fallback code for when
/sys/class/tty/console/active is unavailable.

This should have no impact for people running recent kernels, and
minimal impact for people running old kernels.

11 years agotests: drop for now
Ray Strode [Tue, 3 Dec 2013 15:39:03 +0000 (10:39 -0500)] 
tests: drop for now

They're fairly bitrotten, don't tie into make check,
and aren't that useful.

Drop them for now, until we can come up with a better
story.

11 years agoboot-splash: set KD_TEXT from main instead of boot_splash object
Ray Strode [Tue, 3 Dec 2013 03:07:37 +0000 (22:07 -0500)] 
boot-splash: set KD_TEXT from main instead of boot_splash object

Now that debugging keybindings are gone, ply-boot-splash is really
just a wrapper around splash plugins.  As such, it doesn't really
make sense to be mucking with terminal objects from it.

This commit moves that mucking to main until I can find a better
destination for it.

11 years agoboot-splash: drop debugging keybindings
Ray Strode [Tue, 3 Dec 2013 02:13:28 +0000 (21:13 -0500)] 
boot-splash: drop debugging keybindings

The boot splash currently lets the user hit ctrl-L to refresh,
ctrl-T to force text mode, and ctrl-V to toggle verbose messages.

These easter eggs are undocumented and really only used when I
was first writing plymouth.

These days it's just taking up space, so drop it.

11 years agomain: maintain better accounting of terminals
Ray Strode [Sun, 1 Dec 2013 01:57:52 +0000 (20:57 -0500)] 
main: maintain better accounting of terminals

Currently terminals are created in the main file and passed
down to other layers, with no direct reference maintained in
the main file.

There are points when we need to get references to all those
terminals again, and we have to fish them out from other layers.

This commit makes it all more explicit, maintaining the terminals
in a hash table in the main state object.

11 years agohashtable: add get_size method
Ray Strode [Sun, 1 Dec 2013 23:58:02 +0000 (18:58 -0500)] 
hashtable: add get_size method

Right now there's no easy way to know if a hash table is empty,
which I'm going to need in a future commit.

This commit adds a get_size method to return the number of items in
the hash table.

11 years agoterminal: add new get_name() method
Ray Strode [Sun, 1 Dec 2013 01:34:24 +0000 (20:34 -0500)] 
terminal: add new get_name() method

The name is passed in at construct time, but it gets canonicalized.

This commit adds api to get the final name. The api is also useful,
since it prevents callers that need the mapping from having to maintain
it separately, which will be good for a future clean up.