Re: [PATCH xserver] xwayland: add envvar XWAYLAND_NO_GLAMOR

2017-03-01 Thread Eric Engestrom
On Wednesday, 2017-03-01 17:45:12 +0100, Olivier Fourdan wrote: > Not all compositors allow for customizing the Xwayland command line, > gnome-shell/mutter for example have the command line and path to > Xwayland binary hardcoded, which makes it harder for users to disable > glamor acceleration in

[PATCH xserver] xwayland: add envvar XWAYLAND_NO_GLAMOR

2017-03-01 Thread Olivier Fourdan
Not all compositors allow for customizing the Xwayland command line, gnome-shell/mutter for example have the command line and path to Xwayland binary hardcoded, which makes it harder for users to disable glamor acceleration in Xwayland (glamor being used by default). Add an environment variable XW

[RFC PATCH xserver] xwayland: RFC Disable glamor with an env var?

2017-03-01 Thread Olivier Fourdan
Hi all, I am seeing quite a few Xwayland crashes related to glamor. Various issues, could be with glamor itself or with the drivers (like the issues I witness with nv30), whatever. To investigate those issues (or even unblock affected users) it's often useful to disable glamor -even temporarily-

[PATCH weston v2 10/11] [RFC] Account for very large repaint window misses

2017-03-01 Thread Daniel Stone
At the bottom of weston_output_finish_frame(), code exists to account for flips which have missed the repaint window, by shifting them to lock on to the next repaint window rather than repainting immediately. This code only accounted for flips which missed their target by one repaint window. If th

[PATCH weston v2 03/11] timespec: Add timespec_to_msec helper

2017-03-01 Thread Daniel Stone
Paralleling timespec_to_nsec, converts to milliseconds. Signed-off-by: Daniel Stone Reviewed-by: Pekka Paalanen --- libweston/compositor.c | 2 +- shared/timespec-util.h | 11 +++ tests/timespec-test.c | 9 + 3 files changed, 21 insertions(+), 1 deletion(-) v2: No changes.

[PATCH weston v2 09/11] Switch to global output repaint timer

2017-03-01 Thread Daniel Stone
In preparation for grouping output repaint together where possible, switch the per-output repaint timer, to a global timer which iterates across all outputs. This is implemented by storing the absolute time for the next repaint for each output locally, and maintaining a global timer which iterates

[PATCH weston v2 07/11] Change repaint_needed to bool

2017-03-01 Thread Daniel Stone
It is only used as a binary value. Signed-off-by: Daniel Stone --- libweston/compositor-drm.c | 2 +- libweston/compositor-fbdev.c | 2 +- libweston/compositor.c | 4 ++-- libweston/compositor.h | 5 - 4 files changed, 8 insertions(+), 5 deletions(-) v2: New in this revision.

[PATCH weston v2 11/11] Allow backends to group repaint flushes

2017-03-01 Thread Daniel Stone
Implement new repaint_begin and repaint_flush hooks inside weston_backend, allowing backends to gang together repaints which trigger at the same time. Signed-off-by: Daniel Stone --- libweston/compositor-drm.c | 5 +++-- libweston/compositor-fbdev.c| 3 ++- libweston/compositor-headle

[PATCH weston v2 08/11] Change boolean repaint_scheduled to tristate enum

2017-03-01 Thread Daniel Stone
repaint_scheduled is actually cleverly a tristate. There are three possible conditions for the repaint loop to be in at any time: - loop idle; no repaint will occur until specifically requested, which may be never (repaint_scheduled == 0) - repaint scheduled: the compositor has definitively

[PATCH weston v2 02/11] timespec: Add timespec_add_msec helper

2017-03-01 Thread Daniel Stone
Add a (timespec) = (timespec) + (msec) helper, to save intermediate conversions in its users. Signed-off-by: Daniel Stone Reviewed-by: Pekka Paalanen --- shared/timespec-util.h | 12 tests/timespec-test.c | 11 +++ 2 files changed, 23 insertions(+) v2: Trivially reimpleme

[PATCH weston v2 06/11] Don't delay initial output paint

2017-03-01 Thread Daniel Stone
On startup, we cannot lock on to the repaint timer because it is unknown to us. We deal with this by claiming that the moment of entry into the repaint loop is the moment a frame returned, causing finish_frame to delay our initial repaint to (refresh_time - repaint_delay), typically around 9ms of u

[PATCH weston v2 05/11] Calculate next-frame target time in absolute space

2017-03-01 Thread Daniel Stone
Rather than determining the time until next-frame repaint in relative space (time until repaint), determine it first in absolute space, and then later convert this to relative. This will later allow us to store these per-output, so we can have a single idle timer which will allow us to aggregate m

[PATCH weston v2 04/11] timespec: Add timespec subtraction helpers

2017-03-01 Thread Daniel Stone
Add helpers to subtract two timespecs, then return the difference in either milliseconds or nanoseconds. These will be used to compare timestamps during the repaint cycle. Signed-off-by: Daniel Stone Suggested-by: Pekka Paalanen --- shared/timespec-util.h | 26 ++ tests/

[PATCH weston v2 00/11] Grouped output repaint

2017-03-01 Thread Daniel Stone
Hi, I'm submitting v2 of this series after Pekka's review. At this point, we now keep all time values in absolute timespec structs, only using normalisation to nsec for relative comparisons. This required the addition of subtraction helpers, suggested by Pekka, but reimplemented to work with signed

[PATCH weston v2 01/11] timespec: Add timespec_add_nsec helper

2017-03-01 Thread Daniel Stone
Add a (timespec) = (timespec) + (nsec) helper, to save intermediate conversions to nanoseconds in its users. Signed-off-by: Daniel Stone Reviewed-by: Pekka Paalanen --- Makefile.am| 10 shared/timespec-util.h | 21 + tests/timespec-test.c | 124 ++

Re: [PATCH weston 19/68] compositor-drm: Refcount drm_fb

2017-03-01 Thread Daniel Stone
Hi, On 1 March 2017 at 10:29, Pekka Paalanen wrote: > On Tue, 28 Feb 2017 14:46:21 + Daniel Stone wrote: >> On 28 February 2017 at 10:59, Pekka Paalanen wrote: >> > The important thing to document about this change is that is exchanges >> > a (almost never hit) double-unref into a (always h

Re: [PATCH weston 19/68] compositor-drm: Refcount drm_fb

2017-03-01 Thread Pekka Paalanen
On Tue, 28 Feb 2017 14:46:21 + Daniel Stone wrote: > Hi, > > On 28 February 2017 at 10:59, Pekka Paalanen wrote: > > On Mon, 27 Feb 2017 22:58:48 + Daniel Stone > > wrote: > >> It's indeed almost certainly a bugfix: if you have one client buffer > >> with multiple views, both of whi

Re: [PATCH libinput] touchpad: ignore hovering touches for the software button state

2017-03-01 Thread Hans de Goede
HI, On 01-03-17 02:48, Peter Hutterer wrote: If a touch started hovering in the main area, the button state would start with AREA and never move to the real button state, despite the finger triggering the pressure thresholds correctly in one of the areas. This could even happen across touch seq