- Oct 30, 2018
-
-
Tomohito Esaki authored
Remoting plugin support streaming image of virtual output on drm-backend to remote output. By appending remote-output section in weston.ini, weston loads remoting plugin module and creates virtual outputs via remoting plugin. The mode, host, and port properties are configurable in remote-output section. This plugin send motion jpeg images to client via RTP using gstreamer. Client can receive by using following pipeline of gst-launch. gst-launch-1.0 rtpbin name=rtpbin \ udpsrc caps="application/x-rtp,media=(string)video,clock-rate=(int)90000, encoding-name=JPEG,payload=26" port=[PORTNUMBER] ! rtpbin.recv_rtp_sink_0 \ rtpbin. ! rtpjpegdepay ! jpegdec ! autovideosink \ udpsrc port=[PORTNUMBER+1] ! rtpbin.recv_rtcp_sink_0 \ rtpbin.send_rtcp_src_0 ! udpsink port=[PORTNUMBER+2] sync=false async=false where, PORTNUMBER is specified in weston.ini. Signed-off-by:
Tomohito Esaki <etom@igel.co.jp>
-
Tomohito Esaki authored
Xwayland block SIGUSR1 signal for handling this signal. However, if some weston plugins creates additional threads before xwayland is loaded, this signal get delivered these threads and causes weston quit. Therefore, we should set up SIGUSR1 blocking early so that these threads can inherit the setting when created. Signed-off-by:
Tomohito Esaki <etom@igel.co.jp>
-
- Sep 17, 2018
-
-
Simon Ser authored
-
A tool for accessing the zcompositor_debug_v1 interface features. Installed along weston-info, because it should be potentially useful for people running libweston-based compositors. Signed-off-by:
Pekka Paalanen <pq@iki.fi> Added a man page for weston-debug client Signed-off-by:
Maniraj Devadoss <Maniraj.Devadoss@in.bosch.com> [Pekka: fixed 'missing braces aroudn initializer' warning] Add --list and --all arguments, using interface advertisement. Signed-off-by:
Daniel Stone <daniels@collabora.com> Reviewed-by:
Emre Ucan <eucan@de.adit-jv.com>
-
weston_debug is both a libweston API for relaying debugging messages, and the compositor-debug wayland protocol implementation for accessing those debug messages from a Wayland client. weston_debug_compositor_{create,destroy}() are private API, hence not exported. Signed-off-by:
Pekka Paalanen <pq@iki.fi> append the debug scope name along with the timestamp in weston_debug_scope_timestamp API Signed-off-by:
Maniraj Devadoss <Maniraj.Devadoss@in.bosch.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Add explicit advertisement of debug scope names. Signed-off-by:
Daniel Stone <daniels@collabora.com> Reviewed-by:
Emre Ucan <eucan@de.adit-jv.com>
-
- Sep 11, 2018
-
-
This is a new debugging extension for non-production environments. The aim is to replace all build-time choosable debug prints in the compositor with runtime subscribable debug streams. Signed-off-by:
Pekka Paalanen <pq@iki.fi> Added new libweston-$MAJOR-protocols.pc file and install that for external projects to find the XML files installed by libweston. Signed-off-by:
Maniraj Devadoss <Maniraj.Devadoss@in.bosch.com> Use noarch_pkgconfig_DATA instead, add ${pc_sysrootdir}, drop unnecessary EXTRA_DIST of weston-debug.xml. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Add explicit advertisement of available debug interfaces. Signed-off-by:
Daniel Stone <daniels@collabora.com> Reviewed-by:
Emre Ucan <eucan@de.adit-jv.com>
-
- Aug 27, 2018
-
-
Change format of substituted variables to follow the pattern used by configure_file() in Meson. This helps the migration to Meson, making man/meson.build much cleaner. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
- Aug 07, 2018
-
-
Daniel Stone authored
Move the README file to Markdown, and update it to attempt to explain the current status and use of Weston. The first sections are user-facing, so they can quickly understand what Weston is, what it does, what it doesn't do, and how to go about using it. The following sections on libweston and for distribution packagers are left intact, but should probably be moved to separate documents. This includes a screenshot of Weston running weston-terminal, Chrome and simple-egl, which was taken by myself and subject to the same licensing terms as the rest of the tree. Signed-off-by:
Daniel Stone <daniels@collabora.com> Reviewed-by:
Quentin Glidic <sardemff7+git@sardemff7.net> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Aug 06, 2018
-
-
Taken from Pekka's wayland@630c25f4 and follow-ups, use Wayland's CONTRIBUTING document as a basis for Weston. Signed-off-by:
Daniel Stone <daniels@collabora.com> Reviewed-by:
Quentin Glidic <sardemff7+git@sardemff7.net> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Jul 22, 2018
-
-
The example weston.ini file uses source and build directory paths. Therefore, it is only useful when used on the same system that is used to build Weston. We can use install paths instead of build/source paths to fix this problem. v2 changes: - use $(westondatadir) instead of $(datadir) Reported-by:
Michael Tretter <m.tretter@pengutronix.de> Signed-off-by:
Emre Ucan <eucan@de.adit-jv.com> Reviewed-by:
Michael Tretter <m.tretter@pengutronix.de> Reviewed-by:
Emil Velikov <emil.velikov@collabora.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
- Jun 20, 2018
-
-
Rename the IVI tests to be more consistent with the others, and invert the naming of plugin/client to make it slightly more clear what's going to happen. Handle the renaming by using wet_get_binary_path to rewrite the local binaries. As a side-effect, weston.ini ivi-shell-user-interface no longer needs to be given as an absolute path. Signed-off-by:
Daniel Stone <daniels@collabora.com> v2: Call ivi-layout.ivi as ivi-layout-test-client.ivi to keep the same name in both the file and the lookup, so that the module map does not need to change the name. Update code comments to reflect the new names. Rename ivi_layout-test-plugin.c to ivi-layout-test-plugin.c. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Daniel Stone <daniels@collabora.com> Reviewed-by:
Emre Ucan <eucan@de.adit-jv.com> Reviewed-by:
Emil Velikov <emil.velikov@collabora.com>
-
- Jun 13, 2018
-
-
Replace a few hardcoded paths with the substitutes #105 Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- May 30, 2018
-
-
Pekka Paalanen authored
This is not to be installed, except maybe as a doc. It is just an example of what one might do. It also has not been tested, it's just for giving an idea of what it should do. It also contains untested speculation. v2: - use syspath instead of devpath - add license blurb Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net>
-
The new calibrator uses weston_touch_calibration protocol extension and provides the following features: - chooses the physical touch device to be calibrated by DEVPATH or by the output/head name; device enumeration provided - the compositor ensures the calibrator window is shown in the correct position and size - no matter how wrong the old calibration is, the touch events will always arrive in the application - the calibration is complete, not incremental; the received touch events are guaranteed to be unmodified - computes a libinput style calibration matrix directly, not the WL_CALIBRATION format - supports multiple touch devices: calibrate one device at a time, and show user feedback on touching a wrong device instead of recording bad data - uses four touch point samples: three to compute the calibration, and one to verify the calibration is roughly correct - consistent exit codes - upload the new calibration into the server after successful and verified calibration Due to using special touchscreen calibration protocol extension, this application cannot be tested without touch input from the compositor. Practically all of the above mentioned are unlike how the old calibrator client worked. Co-developed by Louis-Francis and Pekka. v2: - improve help() text - rename wrong_touch_handler() to invalid_touch_handler() - improve debug prints by adding sample number - reorganize code into sample funcs vs. touch funcs - add a state machine to properly process touch and related events Signed-off-by:
Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v1 Tested-by:
Matt Hoosier <matt.hoosier@gmail.com> Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net>
-
This implements a new global interface weston_touch_calibration, which allows one client at a time to perform touchscreen calibration. This also implements the calibrator window management. A client asks to calibrate a specific physical touch device (not a wl_seat which may have several physical touch devices aggregated). Libweston grabs all touch devices and prevents normal touch event handling during the calibation sequence. API is added to enable this new global interface, but it not yet called by anything. Since the implementation allows clients to grab touch devices arbitrarily, it is not enabled by default. The compositor should take measures to prevent unexpected access to the interface. A client may upload a new calibration to the compositor. There is a vfunc to allow the compositor to reject/accept it and save it to persistent storage. The persistent storage could be a udev rule setting LIBINPUT_CALIBRATION_MATRIX, so that all display server would load the new calibration automatically. Co-developed by Louis-Francis and Pekka. v2: - use struct weston_point2d_device_normalized - use syspath instead of devpath - wrong_touch was renamed to invalid_touch - rename weston_touch_calibrator::cancelled to calibration_cancelled - send invalid_touch on out-of-bounds touch-down - cancel touch sequence and send invalid_touch on motion going out-of-bounds - rename calcoord_from_double() to wire_uint_from_double() - send bad_coordinates error in touch_calibrator_convert() - conversion results in 0,0 if cancelled Signed-off-by:
Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v1 Tested-by:
Matt Hoosier <matt.hoosier@gmail.com> Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net>
-
Pekka Paalanen authored
This is a Wayland protocol extension to allow the calibration of touchscreens in Weston. See: https://phabricator.freedesktop.org/T7868 v2: - replace "server" with "compositor" - rephrase error conditions to be simpler - reword the matrix description in 'save' request - rephrase when touch_device events are sent - change device id to DEVPATH with "/sys" prefix - qualify calibration units better - replace wrong_touch event with a more generic invalid_touch - fix error enum and add bad_coordinates - convert while cancelled will not raise any errors Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v1 Tested-by:
Matt Hoosier <matt.hoosier@gmail.com> Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net>
-
- May 29, 2018
-
-
This now prints each tablet seat with at least one tablet/pad/tool attached. For each tablet seat, each tablet, pad and tool is printed with as much detail about the device as the protocol provides. Seat info is stored to be referenced, because the protocol requires to request a tablet_seat for each wl_seat and it's not guaranteed that the tablet_v2_manager is available when seats are advertised. Signed-off-by:
Markus Ongyerth <wl@ongy.net> Acked-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net>
-
- May 28, 2018
-
-
Reviewed-by:
Derek Foreman <derekf@osg.samsung.com> Signed-off-by:
Guido Günther <agx@sigxcpu.org> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Mar 16, 2018
-
-
This allows to enable freedreno and intel backends at the same time building the prerequisites for adding further ones. [Pekka: fix configure.ac if statements] Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Add the respective CFLAGS to the build, otherwise it will error out as seen below. src/libinput-seat.c:30:22: fatal error: libinput.h: No such file or directory v2: add the CFLAGS only as needed, suggested by Pekka Cc: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Cc: Jan Engelhardt <jengelh@inai.de> [Emil Velikov: polish commit message, v2] Signed-off-by:
Emil Velikov <emil.velikov@collabora.com> Reviewed-by:
Daniel Stone <daniels@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Feb 20, 2018
-
-
Introduce code to support the implementation of the input_timestamps_unstable_v1 protocol in libweston. This commit does not implement the actual timestamp subscriptions, but sets up the zwp_input_timestamps_manager_v1 object and introduces dummy request handling functions for it, laying the foundation for timestamp subscriptions for keyboard/pointer/touch to be added cleanly in upcoming commits. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Introduce helper test code to implement the client side of the input_timestamps_unstable_v1 protocol. This helper will be used in upcoming commits to test the server side implementation of the protocol in libweston. The input_timestamps_unstable_v1 protocol was introduced in version 1.13 of wayland-protocols, so this commit updates the version dependency in configure.ac accordingly. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Feb 14, 2018
-
-
ivi-shell tests load their own controller plugin for testing purposes. Tests also uses the generated weston-ivi.in config file, which causes weston to load hmi-controller and its helper client. Existence of hmi-controller and its helper client confuses test plugins. Because they are creating surfaces and layers which are not expected by test plugins. We can start ivi-shell tests without config file to solve this problem. Then, weston will not load hmi-controller plugin. Reported-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Signed-off-by:
Emre Ucan <eucan@de.adit-jv.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Acked-by:
Daniel Stone <daniels@collabora.com>
-
Drop support for the obsolete xdg-shell v5 protocol. This clears the path to properly support xdg-shell stable, since xdg-shell stable and xdg-shell v5 can't currently co-exist in the same compositor, as both define structures with the same name (such as struct xdg_surface_interface). Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Proposed-by:
Quentin Glidic <sardemff7+git@sardemff7.net> Reviewed-by:
Derek Foreman <derekf@osg.samsung.com> Acked-by:
Daniel Stone <daniels@collabora.com> Acked-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Acked-by:
Jonas Ådahl <jadahl@gmail.com>
-
- Feb 09, 2018
-
-
Catching an ABRT is kind of ok, catching a SEGV is russian roulette. We have been quite lucky with it, but I've started hitting crashes inside malloc() which causes a deadlock when our SEGV handler needs to malloc() as well (weston_log_timestamp()). One reason to catch SEGV and ABRT was to attempt to restore the VT on the DRM-backend. Nowadays that job is done by logind or weston-launch. The signal handler also printed a backtrace, which for me personally has been extremely helpful. Arguably it's not necessary though, when we have core files and services that catch cores. For instance, if using systemd, 'coredumpctl gdb' is delightfully easy for getting into the saved core. Therefore, this code does more harm than it is useful, so remove it. We also drop an optional dependency to libunwind. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
- Feb 07, 2018
-
-
Now only libshared (and libshared_cairo) requires this. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Acked-by:
Daniel Stone <daniels@collabora.com> Reviewed-by:
Quentin Glidic <sardemff7+git@sardemff7.net> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Jan 18, 2018
-
-
FreeBSD's default sed is not compatible with this expression. Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
- Jan 07, 2018
-
-
This was preventing weston-info from building if both weston-simple-dmabuf-drm and weston-simple-dmabuf-v4l2 were disabled at build-time. Signed-off-by:
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> Reported-by:
Cedric Sodhi <manday@openmail.cc> Tested-by:
Cedric Sodhi <manday@openmail.cc> Reviewed-by:
Quentin Glidic <sardemff7+git@sardemff7.net>
-
- Dec 18, 2017
-
-
Add test to verify that the server correctly sets the timestamps of touch events. This requires updating the weston-test protocol with a new request for touch events. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
-
- Dec 12, 2017
-
-
Move wl_pointer tests from event-test.c to their own pointer-test.c file. This move makes the test organization clearer and more consistent, and will make addition of further pointer tests easier. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Dec 05, 2017
-
-
If Weston is built with Pango, use it to render the title for X11 applications and Weston toy toolkit clients. It allows us to ellipsize the title when there isn't enough space to show the whole string. Signed-off-by:
Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
- Dec 01, 2017
-
-
This now prints each (format, modifier) tuple, to show which ones the compositor sends to its clients. It is only implemented for version 3+, since I didn’t have any compositor implementing previous versions, and the old `format` event is deprecated anyway. Signed-off-by:
Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
- Sep 29, 2017
-
-
The sync file functionality is required by the upcoming GPU render timeline work, but it's only available in relatively new linux kernel versions (4.7 and above). This commit provides a "sanitized" version of the required sync file definitions. On systems that don't have the sync file header (due to having an older kernel), we will be able to fall back to our own definitions when building. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Aug 11, 2017
-
-
The GCC address sanitizer overrides dlopen and dlclose, so the configure test does not detect libdl as a needed dependency for linking. It is still needed though, as dlsym is not exported by the sanitizer. The result is that linking fails in the end. Fix this by checking for dlsym instead of dlopen. This can be reproduced by configuring the build with: CFLAGS="-fsanitize=address -fsanitize=undefined" LDFLAGS="-fsanitize=address -fsanitize=undefined" Signed-off-by:
Arnaud Vrac <rawoul@gmail.com> Reviewed-by:
Quentin Glidic <sardemff7+git@sardemff7.net>
-
- Jun 12, 2017
-
-
mesa's freedreno driver supports importing dmabufs with format DRM_FORMAT_NV12 and DRM_FORMAT_MOD_SAMSUNG_64_32_TILE modifier. demonstrate weston modifier advertising and import path using this combination when run with --import-format=NV12. v2: - hard code format if platform doesn't implement EGL_EXT_image_dma_buf_import_modifiers and cannot advertise format/modifier support. - squash using valid frame data to fill dmabuf planes Signed-off-by:
Varad Gautam <varad.gautam@collabora.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
abstract drm specific bits to struct drm_device and support running on freedreno. introduce 'modifier' event. v2: rebase to master, deprecate 'format' event. Signed-off-by:
Varad Gautam <varad.gautam@collabora.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
this will allow adding other drm backends later. Signed-off-by:
Varad Gautam <varad.gautam@collabora.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
- Apr 12, 2017
-
-
Since building libweston includes EGL/egl.h from pixel-formats.c, EGL_CFLAGS must be added to libweston_CFLAGS, as on some platforms that contains -DMESA_EGL_NO_X11_HEADERS, and fails to compile without it: CC libweston/libweston_3_la-pixel-formats.lo In file included from [...]/usr/include/EGL/egl.h:39:0, from libweston/pixel-formats.c:39: [...]/usr/include/EGL/eglplatform.h:119:22: fatal error: X11/Xlib.h: No such file or directory Fixes: 903721a6 ("libweston: Add pixel-format helpers") Signed-off-by:
Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
- Apr 07, 2017
-
-
Rather than duplicating knowledge of pixel formats across several components, create a custom central repository. Signed-off-by:
Daniel Stone <daniels@collabora.com> [Pekka: fix include paths and two copy-pastas] Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-