Some drivers (QXL in particular) require to be notified when a part
of the mapped frame buffer memory is changed.
This commit adds a drmModeDirtyFB call after flushing changes to the
frame buffer to accomplish that.
<haraldh> halfline, can you add plymouth-start.service to
plymouth-populate-initrd ??
<halfline> haraldh: sure, can you give me details on the bug its fixing?
<haraldh> except, if you put yourself out of the plymouth cgroup
<haraldh> and the "@" in argv[0][0]
<haraldh> better put plymouth-start.service in the
initrd-switch-root.target
<haraldh> easier
<halfline> well we already do the "@" in argv[0][0]
<halfline> and we already put KillMode=none SendSIGKILL=no in the
service file
<halfline> but will add the change
<haraldh> hmm, ok
Right now we figure out which animation frame to use
based on a static counter variable. Since it's static
instead of per-object, if there are multiple instances
it ends up counting up too fast.
We could:
1) make it per-object state
2) drop it and use the ifdef'd out alternative implementation
that potentially drops frames if the machine is sluggish
This commit chooses 2, but we may end up going to one if the
frame dropping turns out to be problematic.
Based on deductive work from Kevin Murphy.
The daemonizing code depends on its pipe io being
blocking. The other user of ply_open_unidirectional_pipe
will work with blocking or non blocking io.
This commit changes ply_open_unidirectional_pipe to create
blocking pipes. This started causing failures with
commit 9ec69929 since it replaced broken code (passing
O_NONBLOCK to fcntl(fd, F_SETFD.. instead of F_SETFL)
with working code.
This isn't a real problem in practice, since the files getting
read will be much smaller than the buffer, but it looks bad.
This commit ensures the buffer always leaves room for the terminating
NUL.
You can set PLYMOUTH_THEME_NAME when building initramfs to get a
different theme into initramfs, but this doesn't change the default
theme, so the resulting initramfs won't actually use the theme we
installed.
This patch makes plymouth-populate-initrd rewrite the 'Theme=XXX' line
in plymouthd.conf, so plymouth will use the theme we install.
plymouth show-splash causes hairy things, that should only happen once,
like activating renderers to happen.
This commit makes subsequent show-splash calls be no-ops.
We were trying to ignore second deactivate requests, but
were instead crashing because we're trying to use a nullified
trigger.
This commit makes sure things don't go crashy when a user
does "plymouth deactivate" on an already deactivated plymouthd.
The x11 plugin currently does multi-head by default, which is
sometimes useful, but often just gets in the way.
This commit makes it use one, fullscreen head by default, and
falls back to the old behavior if the PLY_CREATE_FAKE_MULTI_HEAD_SETUP
environment variable is set.
right now, if a user does show-splash
more than once, the X11 plugin will keep recreating
windows.
This commit changes it to only create windows when necessary.
We should call ply_label_show any time we have a message
to show, so that if the root filesystem gets mounted, we
can try to load the label plugin again.
This should prevent weird situations where the text shows up
invisible unless the user hits escape twice.
http://bugs.freedesktop.org/show_bug.cgi?id=55669
We should call ply_label_show any time we have a message
to show, so that if the root filesystem gets mounted, we
can try to load the label plugin again.
This should prevent weird situations where the text shows up
invisible unless the user hits escape twice.
http://bugs.freedesktop.org/show_bug.cgi?id=55669
We should call ply_label_show any time we have a message
to show, so that if the root filesystem gets mounted, we
can try to load the label plugin again.
This should prevent weird situations where the text shows up
invisible unless the user hits escape twice.
http://bugs.freedesktop.org/show_bug.cgi?id=55669
We should call ply_label_show any time we have a message
to show, so that if the root filesystem gets mounted, we
can try to load the label plugin again.
This should prevent weird situations where the text shows up
invisible unless the user hits escape twice.
http://bugs.freedesktop.org/show_bug.cgi?id=55669
Right now if the user hits escape a couple of times they'll get
a crash, since the details plugin doesn't support system updates.
This commit makes ply_boot_splash_system_update a no-op in the
event the splash doesn't support that feature.
It's possible that a throbber could get freed while animating.
In that case, stop the animation right away, so we don't keep
running the animation timeout on freed memory.
It's possible that an animation could get freed before it finishes.
In that case, finish the animation right away, so we don't keep running the
animation timeout on freed memory.
It's possible to get in a state where plymouthd is
started in the initrd but not displayed. In the
event this happens, we'll neglect to ever show it,
since it already has a pid file.
plymouthd is now hardened against getting called
multiple times, so we no longer need to protect it
at the systemd level.
This commit drops the
ConditionPathExists=!@plymouthruntimedir@/pid
line from the systemd service file, so we always
call plymouthd from the main fs and always call
plymouth show-splash.
Make plymouthd idempotent to multiple calls. This will make
it easier to integrate with boot scripts that start plymouthd
in the initrd and from the main fs.
The first thing plymouthd should do is try to take control
over its server socket. If it can't do that, then no plymouth
client will be able to communicate with it. The socket is
also how we can detect if plymouthd is already running.
Enables scripts to choose the text alignment they want with a seventh
argument to Image.Text API:
new_image = Image.Text("Hello\n"
"Plymouth aligned world",
1, 1, 1, 1,
"DejaVu Bold,Italic 18",
"center");
This argument can be ignored, the default being left aligned.
Possible values are "left", "center", or "right".
http://lists.freedesktop.org/archives/plymouth/2012-August/000676.html
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