- Jun 06, 2012
-
-
Ray Strode authored
-
Ray Strode authored
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.
-
Ray Strode authored
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.
-
Ray Strode authored
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
-
Ray Strode authored
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.
-
Ray Strode authored
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.
-
Ray Strode authored
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.
-
Ray Strode authored
This reverts commit 3f14f270. 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.
-
Ray Strode authored
Kay and Lenny want the service files shipped with plymouth instead of systemd, so toss them into the tree.
-
Ray Strode authored
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
-
- May 11, 2012
-
-
Kevin Murphy authored
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.
-
Steve Langasek authored
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.
-
- May 10, 2012
-
-
Tilmann Bubeck authored
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
-
- May 08, 2012
-
-
Ray Strode authored
I just did a quick read through and made various changes here and there.
-
Ray Strode authored
-
Tilmann Bubeck authored
This commit starts to document plymouth to help new contributors get into the code. The aim of the document is to provide useful information, such as the overall architecture, the most important data structures, and howto recipes for typical user cases, like debugging. The document is explicitly not meant to be detailed API documentation. In the future, that type of documentation may be provided with gtk-doc style annotations. The documentation is written in asciidoc (http://www.methods.co.nz/asciidoc/) and is therefore easily readable as its ascii text and can also be translated into more rich formats (like HTML). For example, to get an HTML version of the document: yum install asciidoc (or equivalent for your distribution) cd docs make development.html
-
Tilmann Bubeck authored
When the computer is progressing through its boot up process, plymouth calls into the splash plugin's on_boot_progress function at regular intervals with increasing values for "percent_done". At some point, it gets to 90% done, and that's when two-step begins its finishing animation sequence. As soon as this sequence finishes, two-step pulls its stop trigger, which 1) sets its "is_idle" flag to true and 2) pulls the core plymouthd code's idle trigger, to notify that code that it's at a good animation frame to quit (if the core plymouthd code has an idle trigger set up) During the boot process, the user may need to enter a password (the "plymouth ask-for-password" command). When that happens, the splash waits for the user to enter a password, but boot progresses in the background. If the user then enters a password, the boot animation restarts again (from the display_normal function). This restarting of the boot animation will cause the "is_idle" flag of the splash to get set back to false. Later when plymouthd wants to quit, it calls the become_idle function of the splash plugin. That function notices "is_idle" is false, and the stop_trigger is not NULL. The function isn't suited to work with this combination, and so at this point the splash never tells the code daemon code it's idle. This commit changes on_boot_progress to return before looking at percent_done, if the user is getting asked a question. This way the stop_trigger won't get created prematurely, and is_idle won't get out of sync. https://bugs.freedesktop.org/show_bug.cgi?id=49355
-
- May 03, 2012
-
-
Ray Strode authored
Most distributions no longer use this transition, which relies on plymouth quitting before X starts. For clarity, rename the #define to include the word DEPRECATED
-
Dave Airlie authored
Since around 2.6.39, the kernel has offered a generic ioctl interface for modesetting (the KMS 'dumb' interface). This interface is now provided by most all of the modesetting drivers. Adding support for this interface means that plymouth will automatically gain support for new modesetting drivers going forward. This commit adds that support. Some changes made by Ray Strode.
-
- May 01, 2012
-
-
Tilmann Bubeck authored
A ply_label can now be alignment with ply_label_set_alignment() taking one of PLY_LABEL_ALIGN_LEFT, PLY_LABEL_ALIGN_CENTER, or PLY_LABEL_ALIGN_RIGHT. This alignment is made within a horizontal box which width can be set with ply_label_set_width(). Both functions are now used by the plugin "two-step" to make sure, that the prompt for "ask-for-password" gets centered on the screen. Previously the prompt started in the middle of the screen and was cropped at the right border of the screen (fixes bz #681513). This lead to unreadable prompts for disk encryption.
-
Ray Strode authored
The previous commit tries to create a 32bpp 1x1 dummy buffer to know whether or not the modesetting driver can handle our needs. It's concievable (though not realized in practice) that the driver could support our needs fine, but not support buffers as small as 1x1. This commit uses the queried minimum buffer dimensions for the dummy buffer instead of assuming 1x1.
-
Ray Strode authored
Now that more and more hardware is getting kms support, we need to be more careful about what hardware we try to run on. Cirrus cards can't make 32bpp framebuffers, which is all we support in the drm renderer. This commit tries to create a small buffer up front, just to see if the driver will allow it. If the driver chokes, then we bail and fall back to the /dev/fb renderer, which is more tolerant of aging hardware.
-
- Apr 27, 2012
-
-
Kevin Murphy authored
-
- Apr 26, 2012
-
-
Kevin Murphy authored
commit 6baab7a8 was the result of Ray Strode splitting part of a larger patch out. The splitting and subsequent modifications weren't completely right. This commit contains some fixes to address the problems with those changes.
-
- Apr 25, 2012
-
-
Ray Strode authored
This commit adds plymouth.ignore-serial-consoles kernel command line for OLPC to use. Eventually, we'll support multiple plugins at once, and we can run details on the serial console and e.g. two-step on the main console and then this argument won't be needed.
-
Ray Strode authored
This reverts commit 9e307152. This command line option is sort of awkward. It would be better to provide a kernel command line escape hatch.
-
Ray Strode authored
commit e810532e contained a function called add_consoles_from_file that was a badly modified version of add_consoles_from_kernel_command_line changed to read from /sys/class/tty/console/active instead of /proc/cmdline. Previously, if we had console=SOMETHING on the kernel command line, then we would assume the user is using serial consoles and force details. This translated to if add_consoles_from_file finds any devices in /sys/class/tty/console/active force details. Of course, /sys/class/tty/console/active contains tty0 even when the user doesn't specify console=tty0 on the kernel command line, so this broke show-splash calls. This commit changes the logic bit. We now only force details if there is some console in the list that isn't tty0. This restores show-splash functionality.
-
Kevin Murphy authored
add_consoles_from_file was a little fast and loose in its parsing. This commit makes it a little more fault tolerant. Patch split from larger patch, and modified by Ray Strode.
-
- Apr 24, 2012
-
-
James Hunt authored
If ply_event_loop_handle_timeouts() is called before the events returned by epoll_wait() are given references, a timeout handler can prematurely free an event source by calling ply_event_loop_stop_watching_fd leading to crashes and other undefined behaviour since ply_event_loop_process_pending_events() dispatches the event sources returned by epoll_wait() after the timeouts have been handled. Thanks to cjwatson for a simpler solution to my original fix. Minor changes by Ray Strode. https://bugs.freedesktop.org/show_bug.cgi?id=28548
-
Ray Strode authored
We check it a couple lines earlier in the code, so there's no reason to check it again.
-
- Apr 10, 2012
-
-
Ray Strode authored
Previously OLPC used --kernel-command-line to make plymouth ignore specific consoles. That no longer works, now that we read from /sys/class/tty/console/active This commit adds an escape hatch, a way to get back to the old behavior.
-
- Apr 09, 2012
-
-
Ray Strode authored
add_consoles_from_file suffers from a sever case of cut-and-paste-itis. This commit renames its variable "remaining_command_line" to "remaining_file_contents" so that the variable name actually makes sense.
-
Ray Strode authored
When parsing /sys/class/tty/console/active, we need to make sure we jump over spaces in the command line
-
Ray Strode authored
Right now we're unconditionally forcing details mode, which is clearly wrong.
-
- Apr 04, 2012
-
-
Ray Strode authored
-
Ray Strode authored
-
Ray Strode authored
It's important to ignore chunks of the active tty buffer that are just whitespace.
-
Ray Strode authored
We were failing when read succeeded, not when it failed, so we were always reverting to fallback.
-
Ray Strode authored
Just noticed a memory management problem when looking through the code.
-
- Mar 21, 2012
-
-
Colin Guthrie authored
-