X11 test renderer

Ray Strode halfline at gmail.com
Fri Oct 2 23:26:30 PDT 2009


Hi,

On Fri, Oct 2, 2009 at 12:01 PM, Charlie Brej <plymouth at brej.org> wrote:
> Here are the files to implement the X11 screen renderer.
>
> Makefile.am and plugin.c belong in src/plugins/renderers/x11

This is awesome!  Thanks for doing this, it will make debugging
plymouth a lot simpler.

> There is still a fixme on choosing the screen sizes and their number. This
> wants to be a command line parameter but it is difficult to pass that
> through to the renderers.
Right, since it's X11 renderer specific, and the X11 renderer is
really just for debugging,
I'd say make it configurable through environment variables.

I've pushed what you wrote to the 'x11-renderer' branch and made a few changes:

- Minor code style clean ups (kill tabs and trailing whitespace mainly)
- Move VT switching out of main.c to the drm and frame-buffer plugins.  This way
  we won't ever switch VTs for the x11 renderer
- Make calls to ply_console_set_mode a noop.  The X server really
doesn't like it
when plymouth puts the VT into KD_TEXT mode behind it's back.
- Only iterate the gtk event loop when X events come in
- Render the splash to the back pixmap of the windows instead of in an
expose handler.
  It's a little more efficient and has the advantage that if you drag
another window over it
  (when you're not running a compositor) that you don't see redraws on
the newly exposed
 areas.
- Drop decorations from windows and allow them to be moved by dragging
them around
- Postion windows next to each other like they're two monitors next to
each other.

> On an related note there is a bug concerning the quit_splash which destroys
> the keyboard and screens. This gets run when pressing esc or doing a
> hide-display->show-display.
I think this is taken care of with the vt and console fixes above.

At some point it would be good to support text plugins as well (maybe
using a vte widget?).
That's a little more complicated though, since the plymouth core isn't
really designed for it,
so we can punt until later.

We can merge this master now if you want, or whenever you think it's ready.

--Ray


More information about the plymouth mailing list