]> git.ipfire.org Git - thirdparty/plymouth.git/log
thirdparty/plymouth.git
8 years agodevice-manager: dont pass terminal as renderer device wip/fix-non-udev-codepath
Ray Strode [Thu, 8 Dec 2016 20:23:54 +0000 (15:23 -0500)] 
device-manager: dont pass terminal as renderer device

Various bits of fall back code pass the terminal device
as the renderer device.  This is wrong, ply_renderer is
a graphical renderer abstraction.

This commit passes NULL in those cases, so each renderer
does what it's configured to do by default.

8 years agobuild-goo: make udev support build time optional
Ray Strode [Thu, 8 Dec 2016 20:37:50 +0000 (15:37 -0500)] 
build-goo: make udev support build time optional

Some set ups just use /dev/fb0 and don't need udev.

8 years agomain: support plymouth.force-scale on the kernel command line
Michael Kuhn [Mon, 22 Aug 2016 16:39:35 +0000 (18:39 +0200)] 
main: support plymouth.force-scale on the kernel command line

This can be used to override the DeviceScale setting.

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

8 years agolibply, main: Add device scale setting
Michael Kuhn [Mon, 22 Aug 2016 19:54:18 +0000 (21:54 +0200)] 
libply, main: Add device scale setting

This adds a DeviceScale setting to plymouthd.conf. It can be used to
override the device scale detection when setting the
PLYMOUTH_FORCE_SCALE environment variable is too complicated.

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

8 years agolibply: fix HiDPI detection
Michael Kuhn [Mon, 22 Aug 2016 19:54:52 +0000 (21:54 +0200)] 
libply: fix HiDPI detection

The check would erroneously turn off HiDPI mode for devices with a
resolution less than 4K.

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

9 years agoconfigure: switch to tar.xz instead tar.bz2
Ray Strode [Mon, 20 Jun 2016 19:15:40 +0000 (15:15 -0400)] 
configure: switch to tar.xz instead tar.bz2

It's 2016 after all.

9 years agosystemd-units: Fix uninstall script
Ray Strode [Mon, 20 Jun 2016 19:15:11 +0000 (15:15 -0400)] 
systemd-units: Fix uninstall script

This commit fixes some typos in the uninstall: target

9 years agobuild-goo: don't install systemd units during distcheck
Ray Strode [Mon, 20 Jun 2016 19:53:26 +0000 (15:53 -0400)] 
build-goo: don't install systemd units during distcheck

9 years agologger: stop using carriage returns
Ray Strode [Mon, 20 Jun 2016 17:46:34 +0000 (13:46 -0400)] 
logger: stop using carriage returns

I believe we fixed up tty settings sometime ago such that we don't
need carriage returns anymore.

9 years agoterminal: refresh geometry after drm device arrives
Ray Strode [Mon, 20 Jun 2016 17:45:37 +0000 (13:45 -0400)] 
terminal: refresh geometry after drm device arrives

It's quite likely that afer the drm device arrives, the number
of rows and columns in the terminal will change.

This commit makes sure to refresh the terminal state.

9 years agodrm: don't pick up drm master implicitly
Ray Strode [Mon, 20 Jun 2016 15:06:49 +0000 (11:06 -0400)] 
drm: don't pick up drm master implicitly

If a client opens the drm device, they're given drm master
implicitly. We already explicitly take DRM master when we need it,
so that featuer is unneeded.

Furthermore, it's actively harmful, since fbdev won't let you change
the color palette of the terminal if drm master is held.

This commit makes sure to drop master as soon as we get it from
open().

9 years agodevice-manager: probe existing DRM devices at startup
Daniel Drake [Thu, 16 Jun 2016 22:25:05 +0000 (15:25 -0700)] 
device-manager: probe existing DRM devices at startup

A regression introduced in 7e37d58be3e9acff36c53c420b399c18d08bd8f8
means that we only look for DRM devices that appear while we're waiting,
we don't consider any that are already present before we started.

shutdown splash was not appearing because of this.

Solve this by explicitly searching for already-initialized DRM devices as
we start up.

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

9 years agoterminal: always open terminal in non-blocking mode
Ray Strode [Thu, 16 Jun 2016 19:23:15 +0000 (15:23 -0400)] 
terminal: always open terminal in non-blocking mode

In theory this is safer since open calls can block
indefinitely without O_NONBLOCK.

9 years agotext: don't draw if not animating
Ray Strode [Thu, 16 Jun 2016 19:08:04 +0000 (15:08 -0400)] 
text: don't draw if not animating

That can cause an unrecoverable crash.

9 years agoconfigure: tweak defaults to be more systemd friendly
Ray Strode [Thu, 16 Jun 2016 18:40:27 +0000 (14:40 -0400)] 
configure: tweak defaults to be more systemd friendly

systemd is everywhere now, yet we configure by default with non-systemd
friendly options.

This commit fixes that.

9 years agomain: call show_messages after the splash is assigned
Ray Strode [Tue, 14 Jun 2016 18:31:40 +0000 (14:31 -0400)] 
main: call show_messages after the splash is assigned

The show_messages function shows any queued messages sent to the
daemon on the active boot splash.  It's currently only ever called
in a place in the code where the splash hasn't yet been assigned,
so it's effectively always a noop.

This commit moves the call a little later so it won't bail immediately.

9 years agotext: add view for new text displays
Ray Strode [Tue, 14 Jun 2016 18:23:18 +0000 (14:23 -0400)] 
text: add view for new text displays

commit 74346ec268f609 tried to fix a case where views are
added after the text splash is shown.  That commit inadvertently
removed the code that adds a view for a new text display.

This commit adds back the accidentaly excised line.

9 years agodevice-manager: fix use after free
Ray Strode [Tue, 7 Jun 2016 12:28:03 +0000 (08:28 -0400)] 
device-manager: fix use after free

If a renderer fails to open, then we need to make sure we nullify,
the renderer variable after freeing it, since subsequent code checks
if the renderer is null to know whether or not to proceed with
fallback.

9 years agomain: make sure to reshow prompts when new display is added
Ray Strode [Fri, 9 Oct 2015 16:48:17 +0000 (12:48 -0400)] 
main: make sure to reshow prompts when new display is added

When a display is added, we need to tell the splash plugin
to redisplay any pending questions, so those questions show
up on the new display.

9 years agodetails: update new views with current boot buffer
Ray Strode [Fri, 9 Oct 2015 16:46:49 +0000 (12:46 -0400)] 
details: update new views with current boot buffer

if a view is added after the splash is shown, make sure
to update the view with the current contents of the boot
buffer.

9 years agoplugins: load view of hot plugged displays immediately
Ray Strode [Thu, 24 Sep 2015 19:57:59 +0000 (15:57 -0400)] 
plugins: load view of hot plugged displays immediately

If we're already chugging along, and a new display
gets added make sure to load the view associated with
that display right away.

Using an unloaded view can lead to crashes.

9 years agoplugins: free views that can't load
Ray Strode [Thu, 24 Sep 2015 19:55:08 +0000 (15:55 -0400)] 
plugins: free views that can't load

Trying to use an unloaded view can lead to crashes.
If a view can't be loaded, free it right away.

9 years agoplugins: unset draw handler when freeing view
Ray Strode [Thu, 24 Sep 2015 19:53:01 +0000 (15:53 -0400)] 
plugins: unset draw handler when freeing view

If the view is freed, we definitely shouldn't draw
the view's display anymore.

9 years agodevice-manager: activate new renderers after adding to renderers list
Ray Strode [Thu, 24 Sep 2015 13:21:18 +0000 (09:21 -0400)] 
device-manager: activate new renderers after adding to renderers list

When a new renderer gets created, we should activate it, if the device
manager is already active.

At the moment we call create_pixel_displays_for_renderer which would
implicitly activate it (from a callback), except we call it one line
too early, so the renderer isn't in the list of known renderers yet.

This commit swaps the two lines and also adds an explicit renderer
activation for clarity.  For symmetry it makes the same change to
keyboards that it makes to renderers.

9 years agoscript: only support one message at a time
Ray Strode [Mon, 26 Oct 2015 17:28:33 +0000 (13:28 -0400)] 
script: only support one message at a time

That's the other themes do, and callers
expect it.

9 years agotwo-step: don't tank in updates mode when there's no progress animations
Ray Strode [Mon, 26 Oct 2015 17:20:18 +0000 (13:20 -0400)] 
two-step: don't tank in updates mode when there's no progress animations

Right now we try to use the progress animation in updates mode, even
if there's not one.  This commit makes the progress animation truely
optional.

9 years agoplymouth-populate-initrd: fix THEME_OVERRIDE with empty conf
Will Woods [Wed, 20 May 2015 16:03:58 +0000 (12:03 -0400)] 
plymouth-populate-initrd: fix THEME_OVERRIDE with empty conf

If you set PLYMOUTH_THEME_NAME to override the theme in an initrd
(as e.g. lorax does when building upgrade.img), plymouth-populate-initrd
tries to edit plymouthd.conf to enable that theme.

Unfortunately, the existing `sed` line doesn't work if your
plymouthd.conf is empty or all commented out - which is how we currently
ship it.

So before modifying the config, make sure it has a [Daemon] section
header, and a Theme=[placeholder] line for us to modify.

Resolves: RHBZ#1223344

9 years agomain: show cursor on crash
Ray Strode [Fri, 20 May 2016 20:16:27 +0000 (16:16 -0400)] 
main: show cursor on crash

In the event there's a crash we don't want the getty
started later to lack a cursor.

9 years agodevice-manager: Don't add local console to terminals hash table unless passed on...
Ray Strode [Thu, 6 Mar 2014 20:31:20 +0000 (15:31 -0500)] 
device-manager: Don't add local console to terminals hash table unless passed on cmdline

it's unexpected for plymouth to show boot messages on the local console
if there is not console=tty0 on the kernel command line.

This commit fixes that.

9 years agoRevert "populate-initrd: support theme subfolders"
Ray Strode [Mon, 16 May 2016 16:13:19 +0000 (12:13 -0400)] 
Revert "populate-initrd: support theme subfolders"

This reverts commit 3a60023f26638d549c57bcf5b536d226fe0a2fd8.

9 years agodevice-manager: use device timeout instead of udev coldplug monitor
Daniel Drake [Wed, 11 May 2016 17:21:16 +0000 (11:21 -0600)] 
device-manager: use device timeout instead of udev coldplug monitor

https://lists.freedesktop.org/archives/systemd-devel/2015-March/029184.html
As explained there, plymouth watching for coldplug events is not the
behaviour we're looking for.

Replace this with a configurable timeout. We claim DRM devices as soon as
we're aware of them (displaying the splash still subject to ShowDelay),
but legacy framebuffer and text console devices are only claimed after
this new DeviceTimeout.

This avoids an issue where the initramfs finishes (generating a coldplug
event) before udev has informed plymouth of the DRM devices. This was
causing plymouth to activate text mode and ignore the DRM devices appearing
a moment later.

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

9 years agopopulate-initrd: support theme subfolders
Ray Strode [Mon, 11 Apr 2016 11:47:07 +0000 (07:47 -0400)] 
populate-initrd: support theme subfolders

Some themes like to keep their content in subfolders,
but plymouth-populate-initrd currently fails to copy
those subfolders over to the initrd.

This commit fixes that.

https://bugzilla.gnome.org/show_bug.cgi?id=94883

9 years agolibply: unify get_device_scale() method in library
Cosimo Cecchi [Wed, 9 Sep 2015 22:32:27 +0000 (15:32 -0700)] 
libply: unify get_device_scale() method in library

Unify the two copies of this method inside libply. Also add back a check
for 4K displays that went missing.

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

9 years agolabel: add support for HiDPI
Giovanni Campagna [Sun, 22 Mar 2015 04:54:32 +0000 (21:54 -0700)] 
label: add support for HiDPI

Set the device scale on the cairo surface based on the pixel
buffer device scale. cairo will do the rest of the magic for
us.

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

9 years agox11: allow testing the hidpi support code
Giovanni Campagna [Sun, 22 Mar 2015 04:44:43 +0000 (21:44 -0700)] 
x11: allow testing the hidpi support code

Apply the same heuristics as the DRM code, and set a device
scale on the pixel buffer. An environment variable is introduced
to force a scale different than the native one.

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

9 years agotwo-step: fix drawing of background image
Giovanni Campagna [Sun, 22 Mar 2015 04:42:22 +0000 (21:42 -0700)] 
two-step: fix drawing of background image

The background image is tiled to cover the entire screen, so
we must pass a fill area that covers the screen or sampling
will be wrong. But we must also pass a clip area or we will
have expensive overdraw.

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

9 years agodrm: set a device scale of 2 on HiDPI
Giovanni Campagna [Sun, 18 Jan 2015 10:17:47 +0000 (02:17 -0800)] 
drm: set a device scale of 2 on HiDPI

Using the same heuristics as gnome-settings-daemon (which ensures
that the bootsplash will be scaled if and only if the running system
is)

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

9 years agopixel-buffer: add the concept of a device scale
Giovanni Campagna [Sun, 18 Jan 2015 09:56:33 +0000 (01:56 -0800)] 
pixel-buffer: add the concept of a device scale

The device scale is a scale transformation that is applied to
the pixel buffer contents, but is transparent to the user of
the buffer (all pixel values are in logical pixels, not device
pixels).
The concept is modeled after the cairo API, and it is useful
to implement HiDPI monitor support.

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

9 years agosplash-core: drop last vestigates of ply_seat_t
Ray Strode [Thu, 3 Mar 2016 19:30:58 +0000 (14:30 -0500)] 
splash-core: drop last vestigates of ply_seat_t

There's some left over goo.

9 years agopixel-buffer: use double instead of float for scale factor
Miroslav Urbanek [Wed, 18 Nov 2015 15:48:46 +0000 (10:48 -0500)] 
pixel-buffer: use double instead of float for scale factor

There are strange red and black dots in a 1280x800 splash screen with
Debian Jessie theme. The problem comes from image rescaling and is
caused by:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799953

on i386. The conversion from double to int in functions
ply_pixel_buffer_resize and ply_pixel_buffer_interpolate happens
through an intermediate float. This sometimes results in a truncated
value being larger than the original value.

This commit changes the code to use an intermediate double to
work around the bug.

10 years agoboot-splash: don't crash in free if module not loaded
Ray Strode [Mon, 10 Aug 2015 14:11:32 +0000 (10:11 -0400)] 
boot-splash: don't crash in free if module not loaded

ply_boot_splash_free currently calls some code that depends
on a module being loaded.  We call ply_boot_splash_free to
clean up the boot splash object if a module can't be loaded,
leading to crash.

This commit addresses that issue by only calling the module
specific destruction code in ply_boot_splash_free in the case
where a module is loaded.

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

10 years agodevice-manager: force details if serial consoles are used
Ray Strode [Fri, 24 Jul 2015 20:23:00 +0000 (16:23 -0400)] 
device-manager: force details if serial consoles are used

it's better to skip trying to load the default splash rather than
relying on it failing and falling back.

10 years agodevice-manager: decouple local console from output device
Ray Strode [Fri, 24 Jul 2015 18:12:40 +0000 (14:12 -0400)] 
device-manager: decouple local console from output device

The code currently does a faulty heuristic to figure out which
drm device is associated with the tty.  We shouldn't actually
even need an accurate association, so this commit just makes
sure the terminal gets used for the first device.

10 years agodevice-manager: drop seat abstraction
Ray Strode [Thu, 23 Jul 2015 18:16:48 +0000 (14:16 -0400)] 
device-manager: drop seat abstraction

The seat abstraction isn't really right, since it forces creating a
link between terminal and video output device, which isn't really
necessary (and other reasons).

This commit drops the abstraction, and moves all the code that was
in ply-seat.c directly to ply-device-manager.c.

10 years agopixel-display: add getters for renderer data
Ray Strode [Wed, 22 Jul 2015 18:45:05 +0000 (14:45 -0400)] 
pixel-display: add getters for renderer data

These functions are useful for matching a pixel display
to its renderer.

10 years agokeyboard: track activeness
Ray Strode [Wed, 22 Jul 2015 14:05:51 +0000 (10:05 -0400)] 
keyboard: track activeness

Right now, ply-seat has to handle tracking
keyboard activeness on its own.  This commit
moves activeness tracking to ply-keyboard
directly.

10 years agokeyboard: track activeness
Ray Strode [Wed, 29 Jul 2015 18:55:41 +0000 (14:55 -0400)] 
keyboard: track activeness

Right now, ply-seat has to handle tracking
keyboard activeness on its own.  This commit
moves activeness tracking to ply-keyboard
directly.

10 years agorenderer: track activeness
Ray Strode [Wed, 22 Jul 2015 14:05:51 +0000 (10:05 -0400)] 
renderer: track activeness

Right now, ply-seat has to handle tracking
renderer activeness on its own.  This commit
moves activeness tracking to ply-renderer
directly.

10 years agoanimation,throbber: allow calling stop after animation is stopped
Ray Strode [Tue, 28 Jul 2015 14:00:25 +0000 (10:00 -0400)] 
animation,throbber: allow calling stop after animation is stopped

Right now if a user calls ply_throbber_stop or ply_animation_stop
after the animation is stopped things malfunction.  In the case
of the throbber we end up never calling the stop completion handler
passed in, and in the case of the animation, we end up setting
some state that shouldn't be set.

This commit checks if the animation and throbber objects are stopped,
and if so does the necessary steps to process the late stop request.

Spotted by Dave Airlie

10 years agodrm: fix crasher in unload_backend
Ray Strode [Thu, 30 Jul 2015 19:55:28 +0000 (15:55 -0400)] 
drm: fix crasher in unload_backend

we were freeing the state struct and then closing items in it.

10 years agoscript: Don't draw backgrounds if they're obscured
Sjoerd Simons [Mon, 8 Dec 2014 10:50:47 +0000 (11:50 +0100)] 
script: Don't draw backgrounds if they're obscured

When drawing sprites it's a waste to draw the background if the target
area will be obscured by the sprit to draw. Optimize for the common case
where only one sprite is being drawn by peeking at the first item in the
sprite list to check if it is opaque and fills the area.

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

10 years agoply-image: Don't do alpha pre-multiplication for opaque pixels
Sjoerd Simons [Mon, 8 Dec 2014 10:47:12 +0000 (11:47 +0100)] 
ply-image: Don't do alpha pre-multiplication for opaque pixels

When transforming the output of libpng to ARG32 with pre-multiplied
alpha, only do the multiplications if the pixel isn't opaque. Otherwise
plymouth is just applying a very complicated identity function.

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

10 years agopixel-buffer: Optimize filling with opaque buffers
Sjoerd Simons [Mon, 8 Dec 2014 10:42:26 +0000 (11:42 +0100)] 
pixel-buffer: Optimize filling with opaque buffers

If the source buffer is known to be fully opaque and the fill is done at
full opacity, simply memcpy the data row-by-row instead of iterating over
every pixel and blending it with the target buffer.

This could be optimized more, in the future, in some cases, by memcpy of
the entire block instead of row-by-row.

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

10 years agopixel-buffer: add ability track opaqueness
Sjoerd Simons [Mon, 8 Dec 2014 10:39:39 +0000 (11:39 +0100)] 
pixel-buffer: add ability track opaqueness

Pixel buffers contain ARGB32 data. Add functionality to mark a buffer as
containing only fully opaque pixels. This functionality can be used by
rendering functions to be able to optimize drawing of such buffers.

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

10 years agodrm: rename "buffer" to "output_buffer"
Ray Strode [Thu, 26 Mar 2015 00:46:12 +0000 (20:46 -0400)] 
drm: rename "buffer" to "output_buffer"

This just makes it more clear that the buffers are used for scan
out.

10 years agodrm: free drm mode resources object
Ray Strode [Thu, 26 Mar 2015 00:39:30 +0000 (20:39 -0400)] 
drm: free drm mode resources object

This fixes a small memory leak.

10 years agodrm: don't try to draw to fbcon on unmap
Ray Strode [Thu, 26 Mar 2015 00:26:42 +0000 (20:26 -0400)] 
drm: don't try to draw to fbcon on unmap

We don't support mapping the console, so trying to write
to it is a futile endeavour

10 years agodrm: merge ply-renderer-generic-driver.c to plugin.c
Ray Strode [Thu, 26 Mar 2015 00:10:49 +0000 (20:10 -0400)] 
drm: merge ply-renderer-generic-driver.c to plugin.c

Now that we don't have several drivers, having the
backend/driver separation makes little sense.

This commit merges everything in plugin.c

10 years agodrm: assume driver doesn't support mapping console
Ray Strode [Wed, 25 Mar 2015 23:18:45 +0000 (19:18 -0400)] 
drm: assume driver doesn't support mapping console

We only support the generic driver now, and it doesn't
support mapping the console.

This commit removes the supports_mapping_console boolean,
and any code that checks for console mapping.

10 years agosystemd: Allow specifying unit dir to configure
Yixun Lan [Fri, 20 Mar 2015 17:02:35 +0000 (13:02 -0400)] 
systemd: Allow specifying unit dir to configure

systemd isn't necessarily in the buildroot at the time that plymouth
gets built, so autodetection of the unitdir from pkgconfig isn't
necessarily feasible.

This commit adds a new option to configure, --with-systemdunitdir,
that lets distros specify the unit directory manually.

https://bugs.gentoo.org/show_bug.cgi?id=543712

10 years agoconfigure: bump to 0.9.3
Ray Strode [Wed, 18 Mar 2015 01:50:43 +0000 (21:50 -0400)] 
configure: bump to 0.9.3

10 years agoconfigure: bump to 0.9.2 0.9.2
Ray Strode [Tue, 17 Mar 2015 18:52:52 +0000 (14:52 -0400)] 
configure: bump to 0.9.2

10 years agomain: don't handle udev events when deactivated
Ray Strode [Fri, 6 Mar 2015 21:00:25 +0000 (16:00 -0500)] 
main: don't handle udev events when deactivated

We don't want to spontaneously reactivate.

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

10 years agotwo-step: Add separate startup / shutdown animations
Jasper St. Pierre [Mon, 2 Mar 2015 22:53:25 +0000 (14:53 -0800)] 
two-step: Add separate startup / shutdown animations

In the case of Endless, we have a very fluid active bootup animation
that looks quite excellent for turning the computer on, but when turning
it off or restarting, it's sort of awkward to have the same animation
play. For our use case, we want to simply show our watermark.

10 years agoply-animation: Fix drawing if it happens before the timeout
Jasper St. Pierre [Mon, 2 Mar 2015 23:22:23 +0000 (15:22 -0800)] 
ply-animation: Fix drawing if it happens before the timeout

animation->frame_area isn't filled in until the timeout, but clients
might draw it beforehand. Since animation->frame_area isn't used
anywhere else and we already have the x/y values in animation->x/y,
just use those and remove animation->frame_area.

10 years agotext: Change default text splash's colors
Bastien Nocera [Sat, 31 Jan 2015 20:24:12 +0000 (21:24 +0100)] 
text: Change default text splash's colors

As per GNOME mockups:
https://wiki.gnome.org/Design/OS/Boot

Note that this also removes the blue terminal color setting, as it is
not used in the text plugin.

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

10 years agospinner: Add noise texture
Bastien Nocera [Sat, 31 Jan 2015 20:06:19 +0000 (21:06 +0100)] 
spinner: Add noise texture

As per GNOME mockups:
https://wiki.gnome.org/Design/OS/Boot

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

10 years agodevice-manager: try fb device if drm device failed
Ray Strode [Wed, 7 Jan 2015 21:24:57 +0000 (16:24 -0500)] 
device-manager: try fb device if drm device failed

If the drm device failed to work, then fall back to the fb device.

Right now, we ignore fb devices that have associated drm devices.

This may fix vmwgfx.

10 years agoanimation: don't report success when no frames were added
Ray Strode [Fri, 7 Nov 2014 18:30:33 +0000 (10:30 -0800)] 
animation: don't report success when no frames were added

Currently, the animation object will report success when assets are *found* in
the directory. When loading those assets, code will apply more checks to
determine if the assets are meant for the animation.
In case none of them are, we'll end up not adding any frames, so we
should not report a successful load.

This is like commit 741b545868aa5bd42a64d5316c121fe9bae4bc2f but for
animation objects instead of throbber objects.

10 years agothrobber: don't report success when no frames were added
Cosimo Cecchi [Fri, 7 Nov 2014 18:30:33 +0000 (10:30 -0800)] 
throbber: don't report success when no frames were added

Currently, the throbber will report success when assets are *found* in
the directory. When loading those assets, code will apply more checks to
determine if the assets are meant for the throbber.
In case none of them are, we'll end up not adding any frames, so we
should not report a successful load.

10 years agothrobber: don't report successful load when no assets
Cosimo Cecchi [Fri, 7 Nov 2014 18:12:52 +0000 (10:12 -0800)] 
throbber: don't report successful load when no assets

Currently, the throbber will report a successful load when zero assets
are loaded. Change it so that zero assets do not result in a
successfully loaded throbber.

This is similar to commit 3d7f4fe44148ca94dceabb631850971c582bff3f but
for throbber objects instead of animation objects.

10 years agox11: Port to GTK+ 3.0
Jasper St. Pierre [Wed, 29 Oct 2014 23:38:01 +0000 (16:38 -0700)] 
x11: Port to GTK+ 3.0

Port the remaining GTK+ code, the X11 renderer, to GTK+ 3.0.

10 years agoRemove the old log viewer tool
Jasper St. Pierre [Wed, 29 Oct 2014 23:49:42 +0000 (16:49 -0700)] 
Remove the old log viewer tool

10 years agomain: Don't redirect output to /dev/null if we're tracing
Jasper St. Pierre [Wed, 29 Oct 2014 23:28:04 +0000 (16:28 -0700)] 
main: Don't redirect output to /dev/null if we're tracing

Otherwise, our input will mysteriously disappear.

10 years agoutils: Don't create unix sockets non blocking
Sjoerd Simons [Fri, 14 Nov 2014 20:55:50 +0000 (21:55 +0100)] 
utils: Don't create unix sockets non blocking

All the ply_read* functions assume the socket is doing blocking reads,
so opening unix sockets in non-blocking mode doesn't seem the best idea.

Specifically, this was causing ask-password to fail to read the response
at times as it got a -EAGAIN back from read rather then data.

10 years agoscript: Add SetRefreshRate function
Sjoerd Simons [Thu, 13 Nov 2014 12:09:34 +0000 (13:09 +0100)] 
script: Add SetRefreshRate function

The script plugin hardcodes an FPS value of 50, which for some themes
and various devices is a bit much.  Add a new function
(Plymouth.SetRefreshRate) which sets the rate at which the
RefreshFunction gets called so each script theme can determine their most
appropriate rate.

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

10 years agomain: fix up spacing in previous commit to match coding style
Ray Strode [Wed, 22 Oct 2014 15:37:34 +0000 (11:37 -0400)] 
main: fix up spacing in previous commit to match coding style

The previous commit introduced a get_splash_mode_from_mode function
which used the wrong indentation.

This commit fixes up the indentation.

10 years agomain: fix up mode confusion
Ray Strode [Wed, 22 Oct 2014 15:27:31 +0000 (11:27 -0400)] 
main: fix up mode confusion

plymouthd runs in a particular mode "boot" "shutdown" "updates" at any
given time.  Likewise, the plymouth splash object also takes a mode.
These modes map 1-to-1 with each other, and there is more than one place
in the code where we need to get the splash mode from the overall mode.

This commit adds a helper function to perform this translation, and
cleans up the places where the wrong mode type is used or the
translation performed is incomplete.

10 years agoscript support system update events
johnv-valve [Wed, 15 Oct 2014 23:18:44 +0000 (16:18 -0700)] 
script support system update events

Add new script function, SetSystemUpdateFunction to allow scripts
to register a callback for system update progress notifications.

10 years agoclient: fix incorrectly sized buffer for /proc/cmdline
Ray Strode [Fri, 10 Oct 2014 20:11:01 +0000 (16:11 -0400)] 
client: fix incorrectly sized buffer for /proc/cmdline

We assume /proc/cmdline will be no more than 512 bytes (including NUL).
It can actually be 4096 bytes (excluding NUL).

This commit makes sure we allocate enough space for it and its NUL.

This is just like the previous fix for the daemon, but for the client,
now.

10 years agomain: fix incorrectly sized buffer for /proc/cmdline
Ray Strode [Fri, 10 Oct 2014 20:11:01 +0000 (16:11 -0400)] 
main: fix incorrectly sized buffer for /proc/cmdline

We assume /proc/cmdline will be no more than 512 bytes (including NUL).
It can actually be 4096 bytes (excluding NUL).

This commit makes sure we allocate enough space for it and its NUL.

10 years agomain: show splash even when user has init=/bin/sh
Ray Strode [Fri, 10 Oct 2014 17:30:56 +0000 (13:30 -0400)] 
main: show splash even when user has init=/bin/sh

At the moment, we don't bother showing the splash
screen if init=/bin/sh since we assume the user
wants to be see the shell prompt.

The problem is, since we don't show a splash screen
we don't handle LUKS in the initrd.

This commit makes us show the splash for the duration
of the initrd but quit on switch root.

11 years agoRevert "systemd: add WantedBy snippets"
Laurent Bigonville [Mon, 28 Jul 2014 18:46:42 +0000 (20:46 +0200)] 
Revert "systemd: add WantedBy snippets"

This reverts commit 7adb50c267b1be18e11bd4c658274dbe590de485.

The .service files are already statically enabled, adding the Install
section and the WantedBy option is useless

Conflicts:
systemd-units/plymouth-quit-wait.service.in

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

11 years agotext-step-bar: use correct utf-8 multibyte sequence for ■
Ray Strode [Mon, 28 Jul 2014 13:58:49 +0000 (09:58 -0400)] 
text-step-bar: use correct utf-8 multibyte sequence for ■

For some reason in commit 113526408c5706c9efc7f43c3f8258354e762677
I commited the sequence \x25\x96\xa0 in place of the block character
that was there before.  I don't know where I got \x25 from, but it's
not right (and couldn't even be right since the high order bit isn't
set which is a requirement for the first byte in multi-byte utf-8
sequences).

This commit uses \xe2 instead which I got from doing:

$ echo ■  | xxd
0000000: e296 a00a                                ....

11 years agoseat: be a little more forgiving in the case there's no open terminal
Ray Strode [Mon, 14 Jul 2014 12:04:54 +0000 (08:04 -0400)] 
seat: be a little more forgiving in the case there's no open terminal

We can end up in a situation where a seat object doesn't have a terminal
associated with it.  In that case we shouldn't crash, but continue on
with no input available for that seat.

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

11 years agoconfigure: bump point release and ABI versions of libraries.
Dimitri John Ledkov [Fri, 11 Jul 2014 10:47:17 +0000 (11:47 +0100)] 
configure: bump point release and ABI versions of libraries.

Due to removed interfaces since 0.8.8:
ply_boot_splash_set_keyboard
ply_boot_splash_unset_keyboard
ply_boot_splash_add_pixel_display
ply_boot_splash_remove_pixel_display
ply_boot_splash_add_text_display
ply_boot_splash_remove_text_display

And a bunch of new ones added.

11 years agolibply-splash-core: also monitor for file removal in udev directory
Frederic Crozat [Thu, 19 Jun 2014 15:58:50 +0000 (17:58 +0200)] 
libply-splash-core: also monitor for file removal in udev directory

Ensure plymouth detects coldplug completion with recent udev (>= 213).

11 years ago.gitignore: ignore generated manpages
Frederic Crozat [Thu, 26 Jun 2014 08:42:45 +0000 (10:42 +0200)] 
.gitignore: ignore generated manpages

11 years agosplash: do not process display lists if it is empty or NULL
Frederic Crozat [Fri, 20 Jun 2014 14:01:12 +0000 (16:01 +0200)] 
splash: do not process display lists if it is empty or NULL

11 years agolibply-splash-core: fix typo in logs
Frederic Crozat [Mon, 23 Jun 2014 14:51:08 +0000 (16:51 +0200)] 
libply-splash-core: fix typo in logs

11 years agosplash: remove pixel_display in sprite-lib when notified they are gone
Frederic Crozat [Thu, 19 Jun 2014 14:18:12 +0000 (16:18 +0200)] 
splash: remove pixel_display in sprite-lib when notified they are gone

11 years agosystemd: give plymouth-quit-wait a better description
Ray Strode [Fri, 13 Jun 2014 15:01:33 +0000 (11:01 -0400)] 
systemd: give plymouth-quit-wait a better description

plymouth-quit-wait.service is a synchronization point that
other services tie into, so they know when boot is finished
and the splash is down.

Unfortunately, in cases where the boot stalls, the last thing
users see is:

Starting Wait for Plymouth Boot Screen to Quit...

and then assume the problem is with the boot splash.

This commit makes the description less finger-pointy.

11 years agomain: fix typo in debug message
Frederic Crozat [Thu, 12 Jun 2014 15:18:59 +0000 (17:18 +0200)] 
main: fix typo in debug message

11 years agodevice-manager: only call ply_terminal_free
Frederic Crozat [Thu, 12 Jun 2014 13:01:37 +0000 (15:01 +0200)] 
device-manager: only call ply_terminal_free

ply_terminal_free will call ply_terminal_close anyway and is guarded
against NULL terminal (ply_terminal_close is not).

11 years agoReindent
Ray Strode [Tue, 20 May 2014 18:40:51 +0000 (14:40 -0400)] 
Reindent

I don't like the GNU coding style and I'm not sure why I chose it.
This commit changes things over to use 8 space tabs and 'if () {'
style braces.

11 years agoscripts: change out uncrustify config
Ray Strode [Tue, 20 May 2014 18:45:20 +0000 (14:45 -0400)] 
scripts: change out uncrustify config

I'm going to be updating the coding style of plymouth, so
this is the new uncrustify config.

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.