Skip to content
Snippets Groups Projects
  1. Jul 10, 2012
  2. Jul 09, 2012
  3. Jun 25, 2012
    • David Herrmann's avatar
      frame-buffer: fix flush_area fast-path · 72b7e734
      David Herrmann authored
      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.
      72b7e734
  4. Jun 20, 2012
    • Ray Strode's avatar
      systemd: more udev clean ups · 67555348
      Ray Strode authored
      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.
      67555348
    • Ray Strode's avatar
      systemd: drop weird udev trigger --attr-match=class=0x030000 · b8031858
      Ray Strode authored
      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.
      b8031858
    • Ray Strode's avatar
      Revert "systemd: add --subsystem=pci to udevadm trigger call" · 0fd24069
      Ray Strode authored
      This reverts commit cf90d3c7.
      
      It was wrong. I misunderstood what Kay told me.
      0fd24069
    • Ray Strode's avatar
      systemd: add --subsystem=pci to udevadm trigger call · cf90d3c7
      Ray Strode authored
      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).
      cf90d3c7
  5. Jun 13, 2012
    • Ray Strode's avatar
      text-progress-bar: Initial os-string to "" when can't be read · 57fab85b
      Ray Strode authored
      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.
      57fab85b
  6. Jun 08, 2012
  7. Jun 06, 2012
  8. May 11, 2012
    • Kevin Murphy's avatar
      drm: for minimum buffer size to be greater than 0 · cdbfba53
      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.
      cdbfba53
    • Steve Langasek's avatar
      client: add new flush api · e274cda1
      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.
      e274cda1
  9. May 10, 2012
    • Tilmann Bubeck's avatar
      docs: Add keyboard shortcuts · 23fa0e8e
      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
      23fa0e8e
  10. May 08, 2012
    • Ray Strode's avatar
      docs: do a pass over new development.txt · bb8e3afe
      Ray Strode authored
      I just did a quick read through and made various changes here and
      there.
      bb8e3afe
    • Ray Strode's avatar
      docs: specify where to send contributions · 19f237b7
      Ray Strode authored
      19f237b7
    • Tilmann Bubeck's avatar
      docs: Start document for developers · 987672f2
      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
      987672f2
    • Tilmann Bubeck's avatar
      two-step: quit properly when boot finishes while waiting for password · ecd2721f
      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
      ecd2721f
  11. May 03, 2012
Loading