Go to file
Pekka Paalanen b5eedade36 compositor: set and use the presentation clock everywhere
Add presentation clock setters that verify the given clock actually
works. Offer an automatic choice of a software fallback clock, when a
backend has to always use clock_gettime() to approximate the
presentation time.

The DRM backend already queried the DRM about the clock id, just let the
DRM backend set the presentation clock from that.

For all other backends which do not get a timestamp from the driver,
call the software clock setter to choose a suitable clock.

Report the chosen clock via presentation.clock_id event to clients.

In finish_frame(), upgrade the argument from uint32_t milliseconds to
struct timespec which can accurately hold the presentation clock values.
This will be needed when weston_output_finish_frame() starts to send out
presentation_feedback.presented events.

While at it, replace gettimeofday() calls with clock_gettime() using the
chosen presentation clock, so we manufacture presentation timestamps
from the presentation clock when the gfx drivers cannot give us a proper
timestamp.

Rpi patch is more verbose due to not having the compositor pointer
available in rpi_flippipe_update_complete(). Explicitly carry the clock
id with flippipe so it is available in the thread.

Changes in v4:

* rpi debug build fix

v4 Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
v3 Reviewed-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2014-09-30 11:37:02 +03:00
clients weston-info: report presentation clock 2014-09-30 11:37:02 +03:00
data build: Move data/Makefile.am into Makefile.am 2014-01-31 23:49:39 -08:00
desktop-shell shell: fix weston_output_mode_switch() usage 2014-09-22 14:38:13 +03:00
fullscreen-shell shell: fix weston_output_mode_switch() usage 2014-09-22 14:38:13 +03:00
m4 weston-build: Fix aclocal error during autogen.sh 2014-06-21 10:33:21 -07:00
man compositor: add an option to set the default numlock value 2014-09-03 15:31:31 +03:00
protocol protocol: add presentation extension v5 2014-09-30 11:35:38 +03:00
shared clients: Maximize window when double touch on title bar 2014-09-22 10:19:44 +03:00
src compositor: set and use the presentation clock everywhere 2014-09-30 11:37:02 +03:00
tests matrix-test: fix units in report 2014-09-05 11:32:36 +03:00
wcap wcap: Check for mmap and malloc return value in wcap decode module 2014-05-06 15:21:27 -07:00
xwayland xwm: Do not activate override redirect windows 2014-09-04 15:16:04 +03:00
.gitignore Add a simple client for testing compositor damage handling 2014-06-18 10:45:50 -07:00
autogen.sh Update autotools configuration 2010-11-06 21:04:03 -04:00
configure.ac configure.ac: bump version to 1.6.90 2014-09-22 10:02:17 +03:00
COPYING Add COPYING 2012-04-25 10:17:42 -04:00
Makefile.am weston-info: report presentation clock 2014-09-30 11:37:02 +03:00
notes.txt Add informal notes file 2012-10-25 15:00:42 -04:00
README README: Fix typo; add link to testing docs 2014-02-05 17:20:24 -08:00
releasing.txt Add releasing.txt to describe the release steps and other bits of process 2014-05-23 10:13:59 -07:00
weston.ini.in libinput: Add tap configuration to weston.ini 2014-08-15 15:33:55 +03:00

Weston

Weston is the reference implementation of a Wayland compositor, and a
useful compositor in its own right.  Weston has various backends that
lets it run on Linux kernel modesetting and evdev input as well as
under X11.  Weston ships with a few example clients, from simple
clients that demonstrate certain aspects of the protocol to more
complete clients and a simplistic toolkit.  There is also a quite
capable terminal emulator (weston-terminal) and an toy/example desktop
shell.  Finally, weston also provides integration with the Xorg server
and can pull X clients into the Wayland desktop and act as a X window
manager.

Refer to http://wayland.freedesktop.org/building.html for building
weston and its dependencies.

The test suite can be invoked via `make check`; see
http://wayland.freedesktop.org/testing.html for additional details.