1. 06 Feb, 2019 2 commits
    • Eric Toombs's avatar
      weston: add more libinput config options · 6e229ca2
      Eric Toombs authored
      This is so that, for instance, people using weston as their main Wayland
      compositor can invert the sense of two finger scrolling or change
      pointer acceleration using weston.ini, rather than having to edit C
      code.
      
      All of the options that libinput itself exposes through its API are now
      exposed in weston.ini.  The new options are called `tap-and-drag`,
      `tap-and-drag-lock`, `disable-while-typing`, `middle-emulation`,
      `left-handed`, `rotation`, `accel-profile`, `accel-speed`,
      `scroll-method`, `natural-scroll`, and `scroll-button`. I have
      successfully tested everything except for `rotation`, out of a lack of
      hardware support.
      
      weston now depends directly on libevdev for turning button name strings into
      kernel input codes. This was needed for the `scroll-button` config
      option. (weston already depends indirectly on libevdev through
      libinput, so I figured people would be OK with this.) As a practical
      matter for debian-style packagers, weston now has a build dependency on
      libevdev-dev.
      
      Right now, the code applies the same options to all attached devices
      that a given option is relevant for. There are plans for multiple
      [libinput] sections, each with different device filters, for users who
      need more control here.
      Signed-off-by: Eric Toombs's avatarEric Toombs <3672-ewtoombs@users.noreply.gitlab.freedesktop.org>
      6e229ca2
    • Eric Toombs's avatar
      weston: deprecate enable_tap in favour of enable-tap · 9d222038
      Eric Toombs authored
      This is to increase consistency in config option naming in weston.ini.
      (Prefer hyphens over underscores to separate words.)
      
      If enable_tap is present in weston.ini, an obnoxious error message is
      logged with weston_log(). In terms of configuration, if enable-tap is
      present, enable_tap is ignored.
      Signed-off-by: Eric Toombs's avatarEric Toombs <3672-ewtoombs@users.noreply.gitlab.freedesktop.org>
      9d222038
  2. 31 Jan, 2019 1 commit
    • Thomas Zimmermann's avatar
      weston: Add config option to enable pixman-based rendering · 22dd67cc
      Thomas Zimmermann authored
      Pixman can be used for rendering if the default GLESv2 rendering
      is broken or cannot be used.
      
      Pixman-based rendering is already available with the command-line
      switch '--use-pixman'. This patch adds support for this option to
      the configuration file. Putting
      
        [core]
        use-pixman=true
      
      into 'weston.ini' enables pixman-based rendering for all backends
      that support it. With this change, pixman has to be enabled only
      once.
      
      Fixes: #27Signed-off-by: Thomas Zimmermann's avatarThomas Zimmermann <tzimmermann@suse.de>
      22dd67cc
  3. 31 Dec, 2018 3 commits
  4. 20 Dec, 2018 1 commit
  5. 18 Dec, 2018 3 commits
    • Marius Vlad's avatar
      compositor: Install weston-screenshooter in BINDIR · d85fe29c
      Marius Vlad authored
      Previously weston-screenshooter was installed in LIBEXECDIR, but given
      that now it can be invoked by the user whenever debug protocol is
      enabled, let's intall it into BINDIR. This way, it can be invoked
      without the need to modify PATH.
      Signed-off-by: Marius Vlad's avatarMarius Vlad <marius.vlad0@gmail.com>
      d85fe29c
    • Marius Vlad's avatar
      compositor: Add some handy wrappers for wet_get_binary_path() · 64fbd0f4
      Marius Vlad authored
      This allows to possibility to specify where to look for the executable
      but also simplifies the need of having to pass either BINDIR/LIBEXECDIR
      for retrieving full-path of the executable.
      Signed-off-by: Marius Vlad's avatarMarius Vlad <marius.vlad0@gmail.com>
      64fbd0f4
    • Marius Vlad's avatar
      libweston: Allow taking screenshots when debug protocol is enabled · 4e1d9bc7
      Marius Vlad authored
      Screenshots of the outputs can only be taken by having a keyboard
      plug-ed in, as to avoid potential malicious intent. On the other hand,
      this is problematic as there are cases where a keyboard cannot
      be used as a input device. A particular use-case is that for
      multiple devices it can be cumbersome to connect a keyboard such
      that using ssh can be much easier and can be further automated.
      
      This patch allows taking screenshots without the need of having a
      keyboard connected when debug protocol is enabled.
      
      Add also a few words about the fact that this is a serious issue
      and can lead to silently leaking the output contents.
      Signed-off-by: Marius Vlad's avatarMarius Vlad <marius.vlad0@gmail.com>
      4e1d9bc7
  6. 09 Dec, 2018 1 commit
    • Daniel Stone's avatar
      Add Meson build system · 8011b0fa
      Daniel Stone authored
      Meson is a build system, currently implemented in Python, with multiple
      output backends, including Ninja and Make. The build file syntax is
      clean and easy to read unlike autotools. In practise, configuring and
      building with Meson and Ninja has been observed to be much faster than
      with autotools. Also cross-building support is excellent.
      
      More information at http://mesonbuild.com
      
      Since moving to Meson requires some changes from users in any case, we
      took this opportunity to revamp build options. Most of the build options
      still exist, some have changed names or more, and a few have been
      dropped. The option to choose the Cairo flavour is not implemented since
      for the longest time the Cairo image backend has been the only
      recommended one.
      
      This Meson build should be fully functional and it installs everything
      an all-enabled autotools build does. Installed pkg-config files have
      some minor differences that should be insignificant. Building of some
      developer documentation that was never installed with autotools is
      missing.
      
      It is expected that the autotools build system will be removed soon
      after the next Weston release.
      Signed-off-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      Co-authored-by: Pekka Paalanen's avatarPekka Paalanen <pq@iki.fi>
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pq@iki.fi>
      8011b0fa
  7. 30 Oct, 2018 2 commits
    • Tomohito Esaki's avatar
      Add remoting plugin for output streaming · f709d220
      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's avatarTomohito Esaki <etom@igel.co.jp>
      f709d220
    • Tomohito Esaki's avatar
      weston: Add set up SIGUSR1 blocking early using pthread_sigmask() · f59dc111
      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's avatarTomohito Esaki <etom@igel.co.jp>
      f59dc111
  8. 12 Oct, 2018 1 commit
  9. 23 Sep, 2018 1 commit
  10. 17 Sep, 2018 4 commits
  11. 17 Aug, 2018 1 commit
  12. 08 Aug, 2018 1 commit
  13. 02 Jul, 2018 3 commits
  14. 29 Jun, 2018 2 commits
    • Pekka Paalanen's avatar
      weston: add force-on option for DRM · 90718170
      Pekka Paalanen authored
      Add a new boolean output section key "force-on". When set to true, the
      output will be enabled regardless of connector status. This is the
      opposite of the mode=off setting.
      
      Forcing connectors on is useful in special circumstances: avoid output
      configuration changes due to hotplug e.g. with KVM switches, or hardware
      with unreliable connector status readout for example.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: default avatarIan Ray <ian.ray@ge.com>
      90718170
    • Pekka Paalanen's avatar
      weston: support clone mode on DRM-frontend · 944dd235
      Pekka Paalanen authored
      Add a new output section key "same-as" for configuring clone mode. An
      output marked "same-as" another output will be configured identically to
      the other output.
      
      The current implementation supports only CRTC sharing for clone mode.
      Independent CRTC clone mode cannot be supported until output layout
      logic is moved from libweston into the frontend and libweston's damage
      tracking issues stemming from overlapping outputs are solved.
      
      Quite a lot of infrastructure is needed to properly configure clone
      mode. The implemented logic allows easy addition of independent CRTC
      clone mode once libweston supports it. The idea is that wet_layoutput is
      the item to be laid out and all weston_outputs a wet_layoutput
      contains show exactly the same area of the desktop.
      
      The configuration logic attempts to automatically fall back to creating
      more weston_outputs when all heads do not work under the same
      weston_output. For now, the fallback path ends with an error message.
      
      Enabling a weston_output is bit complicated, because one needs to first
      collect all relevant heads, try to attach them all to the weston_output,
      and then back up head by head until enabling the weston_output succeeds.
      A new weston_output is created for the left-over heads and the process
      is repeated.
      
      CRTC-sharing clone mode is the most efficient clone mode, offering
      synchronized scanout timings, but it is not always supported by
      hardware.
      
      v10:
      - rebased trivial conflicts in man page
      - switch to gitlab issue URL
      
      v9:
      - replace weston_compositor_set_heads_changed_cb() with
        weston_compositor_add_heads_changed_listener()
      - remove workaround in simple_head_enable()
      
      v6:
      - Add man-page note about cms-colord.
      - Don't create an output just to turn it off.
      
      Fixes: #22Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Acked-by: default avatarDerek Foreman <derekf@osg.samsung.com>
      Acked-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      Reviewed-by: default avatarIan Ray <ian.ray@ge.com>
      944dd235
  15. 20 Jun, 2018 2 commits
  16. 12 Jun, 2018 1 commit
  17. 11 Jun, 2018 1 commit
  18. 30 May, 2018 1 commit
  19. 24 May, 2018 1 commit
  20. 02 May, 2018 2 commits
  21. 26 Apr, 2018 1 commit
  22. 17 Apr, 2018 5 commits