Commit graph

1762 commits

Author SHA1 Message Date
Jan Engelhardt
96d8d38698 ply-text-progress-bar: strip quotes if present
The syntax for sysconfig-style files allows for quotes.
2012-07-30 16:14:55 -04:00
Jan Engelhardt
3b7cfc997b build: fix typo in configure.ac
s/reelase/release/
2012-07-30 16:12:14 -04:00
Jan Engelhardt
52198a5f98 ply-terminal: remove pointless casts
The target variables are already of the desired type.
2012-07-30 16:11:02 -04:00
Ray Strode
c8e548d5e4 systemd: don't run read-write service from initrd
the initrd hits the local-fs.target as part of its normal
boot process.  We used to use local-fs.target as a way of
knowing the system / is read-write.  This no longer is a
valid mechanism.

This commit:

1) Stops installing plymouth-read-write service in the initrd
2) Makes it so if it does end up in the initrd it won't be
used

Related to fedora bug 830482
2012-07-26 13:05:22 -04:00
Ray Strode
d7b7e378e6 throbgress: s/TRUE/true/
I introduced a compilation error in Ian's patch when changing it
slightly.
2012-07-23 22:49:24 -04:00
Ian Pilcher
7122700e8b throgress: pull trigger right away if already idle
commit eed536ba54 introduced
a fix for hangs in the two-step plugin. This is a comparable
commit for throbgress.

https://bugzilla.redhat.com/show_bug.cgi?id=704658
2012-07-23 18:05:28 -04:00
Ray Strode
da1dcbb634 configure: bump to 0.8.6.2 2012-07-23 17:38:37 -04:00
Ray Strode
ca2f604c3b populate-initrd: copy service files to initrd
Since we're in charge of the systemd service files now,
we should probably be in charge of copying them to the initrd.
2012-07-23 17:37:03 -04:00
Ray Strode
63737f30c8 systemd: add plymouth-switch-root.service
This service file is needed by systemdized dracut to ensure we properly
transition from the initrd to the root file system
2012-07-23 17:37:03 -04:00
Ray Strode
88c2e7dcf8 systemd: more updates to start service
The dashes next to the semi-colons seem to confuse systemd so drop them.
2012-07-23 17:37:03 -04:00
Frederic Crozat
edde4e0f2b systemd: create missing links various targets 2012-07-21 03:22:37 -04:00
Ray Strode
906477ce30 systemd: make sure plymouth-start never gets killed
systemd tries to bring down the world when going from
the initramfs to /

commit 9e5a276f32 tried
to prevent plymouthd from getting killed by settings
argv[0][0] to @

This isn't seemingly sufficient.  Throw some lines into
the plymouth-start service file that should hopefully help.
2012-07-17 17:12:03 -04:00
Ray Strode
6fac021e66 populate-initrd: put plymouthd in /sbin not /bin
This matches what we do post-boot better
2012-07-17 17:09:43 -04:00
Ray Strode
570f722106 configure: bump to 0.8.6.1 2012-07-10 10:18:13 -04:00
Ray Strode
d7aa800c39 systemd: unfoul up Makefile
The previous systemd commit introduced a file named

systemd-ask-password-plymouth.path.in

The makefile was only looking for .service.in files
when stripping the .in suffix, so it got installed
incorrectly.

This commit fixes up the Makefile.
2012-07-10 10:17:50 -04:00
Ray Strode
5039ab6866 configure: bump to 0.8.6 2012-07-10 10:16:13 -04:00
Ray Strode
76d0db51c2 systemd: add two more files
When plymouth service files were moved from systemd to plymouth
two files got lost in the shuffle.

This commit adds them.

http://bugzilla.freedesktop.org/51573
2012-07-09 11:59:59 -04:00
David Herrmann
72b7e73490 frame-buffer: fix flush_area fast-path
plymouth uses a shadow framebuffer to cache screen contents for
quick compositing.  This shadow framebuffer may or may not have
the same memory layout as the hardware framebuffer.  In cases
where the size and layout of pixels are the same between the shadow
framebuffer and the hardware framebuffer we can memcpy()
the pixels line-by-line to the hardware.  If the width of area being
flushed is the same number of bytes as the width of the hardware buffer,
then we can memcpy() the entire flush area in one call to memcpy.

The check for this latter fast-path has a miscalculation that tests
the number of pixels in the flush area width to number of bytes in the
buffer width. This commit adds the * 4 multiplier to correctly compare
bytes with bytes instead of pixels with bytes.

This commit also adds a sanity check to make sure the byte size of the
hardware framebuffer width is equal to the advertised row stride.
2012-06-25 11:32:56 -04:00
Ray Strode
675553481d systemd: more udev clean ups
The udev trigger calls that are there, are actually
spurious.  udev will coldplug those subsystems at
start up anyway, so doing it explicitly is wrong.

This commit drops those trigger calls.

What does matter is the udevadm settle call. It's
what makes things block until the graphics driver
is loaded.

udevadm settle is a big sledgehammer, though. It blocks
until all the triggered events (even stuff unrelated to
graphics) are finished.

This commit adds a --exit-if-exists argument to udevadm settle,
so it will bail early as soon as the graphics devices
are up.
2012-06-20 11:57:06 -04:00
Ray Strode
b8031858cd systemd: drop weird udev trigger --attr-match=class=0x030000
plymouth-start.service does this sort of hacky
"udevadm trigger" stuff before doing plymouth show-splash,
to ensure plymouth show-splash is called after the
graphcis subsystem is up.

It actually does two calls:

- one call that triggers any pci devices with the class
0x030000 (which is "vga compatible display device")
- another call that triggers the gpu subsystem

The first call is borrowed from dracut:

http://dracut.git.sourceforge.net/git/gitweb.cgi?p=dracut/dracut;a=commitdiff;h=2c02c8318

and I can't find any historical context on why its needed.  As I
understand things, the latter should be a superset of the former.
Furthermore, the first trigger is missing a --subsystem-match=pci call
so it's matching the "class" attribute in every subsystem, which is slow.

I'm going to drop the first trigger until I start hitting problems
and need to add it back.
2012-06-20 11:19:05 -04:00
Ray Strode
0fd2406991 Revert "systemd: add --subsystem=pci to udevadm trigger call"
This reverts commit cf90d3c7fa.

It was wrong. I misunderstood what Kay told me.
2012-06-20 11:01:07 -04:00
Ray Strode
cf90d3c7fa systemd: add --subsystem=pci to udevadm trigger call
plymouth-start.service does this sort of hacky
"udevadm trigger" call before doing plymouth show-splash,
to ensure plymouth show-splash is called after the
graphcis subsystem is up.  Because this udev trigger call
only passes --subsystem-match calls with no corresponding
--subsystem call, it will trawl through all subsystems in
/sys rather than just the pci subsystem (where all the matches
are guaranteed to be).

This commit adds --subsystem=pci to stop doing that extra work.

All of this will eventually be replaced with plymouthd either
listening for the udev  events itself (or potentially logind,
if logind gains a way to tag a "graphics" capability on a seat).
2012-06-20 10:48:26 -04:00
Ray Strode
57fab85b26 text-progress-bar: Initial os-string to "" when can't be read
get_os_string either returns a string describing the distribution,
or NULL on error.

This NULL later causes problems since we run strlen on it.

This commit makes get_os_string return "" instead of NULL for error
cases.

Spotted by Andreas Henriksson.
2012-06-13 06:58:40 -04:00
Richard Hughes
59e76062da two-step: implement the system-update command
https://bugs.freedesktop.org/show_bug.cgi?id=50876
2012-06-08 18:47:41 -04:00
Richard Hughes
cef67c3f5d main: add a system-update command that can pass update progress to the daemon
https://bugs.freedesktop.org/show_bug.cgi?id=50876
2012-06-08 18:47:41 -04:00
Richard Hughes
0880f04eab main: add a change-mode command to be able to switch the splash mode at runtime
https://bugs.freedesktop.org/show_bug.cgi?id=50847
2012-06-08 18:14:40 -04:00
Richard Hughes
d5ad5d3db8 main: add an 'updates' mode for installing offline updates
https://bugs.freedesktop.org/show_bug.cgi?id=50847
2012-06-08 18:14:39 -04:00
Richard Hughes
02c5967577 libply: remove the unused SPLASH_MODE_SUSPEND and SPLASH_MODE_RESUME
https://bugs.freedesktop.org/show_bug.cgi?id=50847
2012-06-08 18:14:38 -04:00
Richard Hughes
5437420a2e main: show the correct trace message if a message is supressed
https://bugs.freedesktop.org/show_bug.cgi?id=50845
2012-06-08 18:12:14 -04:00
Richard Hughes
e4a1a05e3c throbgress plugin: show messages in the top left corner
https://bugs.freedesktop.org/show_bug.cgi?id=50845
2012-06-08 18:12:13 -04:00
Richard Hughes
3c72dd09f2 space-flares plugin: show messages in the top left corner
https://bugs.freedesktop.org/show_bug.cgi?id=50845
2012-06-08 18:12:11 -04:00
Richard Hughes
b659612249 fade-throbber plugin: show messages in the top left corner
https://bugs.freedesktop.org/show_bug.cgi?id=50845
2012-06-08 18:12:07 -04:00
Ray Strode
8593c039ae configure: make gtk optional
https://bugs.freedesktop.org/show_bug.cgi?id=42047
2012-06-08 17:21:23 -04:00
Ray Strode
3f8bd998dc script: seed random number generator
Most splash plugins that use random numbers
seed the random number generator with the
current time, but script fails, too.

This commit fixes that.

https://bugs.freedesktop.org/show_bug.cgi?id=42632
2012-06-08 16:52:29 -04:00
Ray Strode
bb46ffb90a splash: drop SIGINT handlers
They serve no real purpose.

https://bugs.freedesktop.org/show_bug.cgi?id=42285
2012-06-08 15:11:52 -04:00
Ray Strode
251ddbfe7a configure: bump to 0.8.5.1 2012-06-06 16:21:53 -04:00
Ray Strode
c845948412 configure: allow building drm renderer without driver dependent backends
Since we support the dumb ioctl now, it's useful to build the drm
renderer without support for the individual drivers.

This commit allows for that.
2012-06-06 16:21:53 -04:00
Ray Strode
8e932e9895 configure: don't build intel/radeon/nouveau/libkms drivers by default
Now that we have the dumb ioctl there's little reason to build
these guys, since it's just as good.

I'll probably drop the code entirely soon.
2012-06-06 15:17:02 -04:00
Ray Strode
d80a23cb59 populate-initrd: don't depend on inst from mkinitrd/dracut
Having the dependency is awkward and causes problems, so
don't bother.

This commit just copy and pastes the relevant bits for
inst().

Ideally, this would be an installroot command implemented in
C in util-linux, but shrug
2012-06-06 15:10:35 -04:00
Ray Strode
f7f482174f two-step: set is_idle=TRUE at shutdown time
Right now, we do the end animation immediately if in
shutdown mode.  This is because shutdown is fast,
and we don't try to estimate how long it will take.

The code depends on is_idle being true after the end
animation is run, but we neglect to do that in the
shutdown case.

This commit makes shutdown mode just call
"become_idle" right away, and deletes the duplicated
shutdown code path.
2012-06-06 10:13:00 -04:00
Ray Strode
171c329f40 drm: flush pending draw to kernel buffer on vt switch
When plymouth's VT is not the foreground VT, we tell the
kernel not to scan out from the kernel buffer we manage.
Also, we don't bother dispatching rendering to the kernel
buffer (since it's not getting scanned out anyway).

When plymouth's VT becomes the foreground VT, we tell the
kernel to start scanning out from our buffer again.
Unfortunately, we neglect to flush all the pending drawing
that happens while VT switched away.

This means we briefly show stale contents.

This commit flushes all pending rendering to the kernel,
before resetting the scan out buffer, so we get a current
view of the splash shown immediately.
2012-06-06 10:13:00 -04:00
Ray Strode
64ccdadae8 drm: don't set mode initially if on different vt
In the shutdown path we start out on a different
vt than where the splash is drawn.  Make sure we
don't set a mode until the jump.

This prevents unnecessary flicker.
2012-06-06 10:13:00 -04:00
Ray Strode
4587ac4c31 Revert "main: force frame-buffer plugin at shutdown"
This reverts commit 3f14f2700e.

Forcing frame-buffer plugin makes multi-monitor look really bad.
Instead, depend on the init system to make sure we stay alive
until the end.
2012-06-06 10:13:00 -04:00
Ray Strode
29f832fc74 systemd: pull units from systemd tree
Kay and Lenny want the service files shipped with plymouth
instead of systemd, so toss them into the tree.
2012-06-06 10:12:59 -04:00
Ray Strode
9e5a276f32 main: rename process to be more systemd friendly
Systemd will cleanse the system of running processes
in the hand over from the initrd to the main root filesystem,
and at shutdown.

In both cases we want to keep on chugging, so we tag ourselves
in a way that systemd won't kill us.

See http://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons
2012-06-06 13:58:09 -04:00
Kevin Murphy
cdbfba5364 drm: for minimum buffer size to be greater than 0
The drm driver tells us the minimum dimensions it supports
for buffer objects.  We use this minimum for creating a
small temporary 32-bit buffer to test if 32-bit buffers
are supported.

Unfortunately, some drivers neglect to fill in
min_width/min_height and then we try to allocate a buffer
with 0 sized dimensions.

This commit checks for min_width/min_height being 0, and then
bumps them to 1.

Minor changes to initial patch by Ray Strode.
2012-05-11 11:54:05 -04:00
Steve Langasek
e274cda1ee client: add new flush api
In some cases, clients may need a way to ensure that all queued
messages have been flushed and are sent to the daemon
(before, for instance, exiting).

This commit adds an API to block until the outgoing request queue is
empty.
2012-05-11 08:48:02 -04:00
Dr. Tilmann Bubeck
23fa0e8eea docs: Add keyboard shortcuts
This commit adds four keyboard shortcuts to the developer
documentation that were found from reading the source:

Esc: Toggle between system console and plymouth boot animation.

Ctrl-V: Toogle verbose mode on and off.

Ctrl-U or Ctrl-W: erase a line
2012-05-10 00:44:30 -04:00
Ray Strode
bb8e3afe19 docs: do a pass over new development.txt
I just did a quick read through and made various changes here and
there.
2012-05-07 23:55:12 -04:00
Ray Strode
19f237b7cc docs: specify where to send contributions 2012-05-07 22:33:15 -04:00