[PATCH 00/15] weston scaling support

Jason Ekstrand jason at jlekstrand.net
Wed May 22 18:36:50 PDT 2013


On Wed, May 22, 2013 at 7:57 PM, Kristian Høgsberg <hoegsberg at gmail.com>wrote:

> On Wed, May 22, 2013 at 02:41:24PM +0200, alexl at redhat.com wrote:
> > From: Alexander Larsson <alexl at redhat.com>
> >
> > This adds support to weston (X11 and DRM backends) for output
> > scale and buffer_scale. It also contains some work on the
> > example clients to make them support buffer scaling.
> >
> > I think the support is fairly comprehensive, although I'm aware of
> > a few outstanding issues:
> >
> > * The drm backend doesn't upscale pointers on the DRM backend
> > * There is no support in the desktop shell for setting up a higher
> resolution
> >   cursor image on scaled outputs
> > * I did not yet look at the screenshoter/read_pixels APIs
>
> Two more:
>
>  * window.c pre-renders decorations at a fixed 1-to-1 pixel size which
>    then get scaled up.  The rounded corners look blocky when you use a
>    scale > 1.
>
>  * Don't send out new wl_output events to clients that bind with
>    version 1.  For this I think we want to extend wl_resource with an
>    int version; field.
>

I hate to rain on the parade, but it's not going to be that simple.  I
already tried adding a field to wl_resource and, as it currently stands, it
causes major issues.  As a reminder, this is because wl_buffer has a
wl_resource field which means that altering wl_resource breaks binary
compatibility for EGL implementations.

I've been trying to figure out how to do this with my java stuff and I
really think adding a version flag to wl_resource is the way to do it.
Unfortunately,  but it's not going to be easy.


> > Overall I think the approach is working out well, but an obvious
> > issue is how we handle scaling wrt modes. I'll bring this up in
> > another mail.
>
> I read through the latest wayland protocol patches and the discussion
> around them and didn't seen anything I didn't like.  I think the
> approach here is good and agree with the consensus.  This patch series
> looks great too and I like the improvements to the pixman renderer and
> the compositor-x11.c optimization.
>
> I've applied both wayland and weston patches.  The protocol is not set
> in stone, but the 1.2 release is coming up end of June, and which
> point we lock it down.  So we can tweak it further, but at least the
> bulk of the work is now landed.
>
> thanks,
> Kristian
>
> > The series is also availible in the scale branch here: (eventually)
> >  http://cgit.freedesktop.org/~alexl/weston/
> >
> > Alexander Larsson (15):
> >   window: Support transform in widget_cairo_create()
> >   transformed: Rely on transformation in widget_cairo_create
> >   window: Track output scales
> >   window: allow setting a buffer scale on a window
> >   window: Apply buffer_scale automatically in widget_cairo_create
> >   transformed: Use the scale factor from the output
> >   window: Store server_allocation in surface size
> >   desktop-shell: Respect output scale and translate
> >   window: Add window_get_output_scale()
> >   terminal: Handle output transform
> >   transformed: Add keyboard shortcuts to change transform
> >   pixman-renderer: Fix up transform handling
> >   compositor: Support output/buffer scaling
> >   compositor-x11: Only repaint the damaged region
> >   compositor-drm: Support output scaling
> >
> >  clients/desktop-shell.c   |  75 ++++++--
> >  clients/terminal.c        |  13 +-
> >  clients/transformed.c     | 124 ++++++-------
> >  clients/window.c          | 237 ++++++++++++++++++++++---
> >  clients/window.h          |  13 ++
> >  src/compositor-drm.c      |  88 +++++++---
> >  src/compositor-fbdev.c    |   3 +-
> >  src/compositor-headless.c |   2 +-
> >  src/compositor-rpi.c      |   3 +-
> >  src/compositor-wayland.c  |   2 +-
> >  src/compositor-x11.c      | 166 ++++++++++++++++--
> >  src/compositor.c          | 110 +++++++++---
> >  src/compositor.h          |  18 +-
> >  src/gl-renderer.c         |  21 +--
> >  src/pixman-renderer.c     | 436
> ++++++++++++++++++++++++++++++----------------
> >  15 files changed, 977 insertions(+), 334 deletions(-)
> >
> > --
> > 1.8.1.4
> >
> > _______________________________________________
> > wayland-devel mailing list
> > wayland-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/wayland-devel
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20130522/0ebfd816/attachment.html>


More information about the wayland-devel mailing list