1. 04 Oct, 2019 1 commit
    • Pekka Paalanen's avatar
      build: simplify include_directories · 4f5e3601
      Pekka Paalanen authored
      Define common_inc which includes both public_inc and the project root directory.
      The project root directory will allow access to config.h and all the shared/
      headers.
      
      Replacing all custom '.', '..', '../..', '../shared' etc. include paths with
      common_inc reduces clutter in the target definitions and enforces the common
       #include directive style, as e.g. including shared/ headers without the
      subdirectory name no longer works.
      
      Unfortunately this does not prevent one from using private libweston headers
      with the usual include pattern for public headers.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.com>
      4f5e3601
  2. 18 Jul, 2019 2 commits
  3. 12 Jul, 2019 1 commit
    • Antonio Borneo's avatar
      backend-drm: fix race during system suspend · c90fccc2
      Antonio Borneo authored
      Depending on system loading, weston-launcher could drop the drm
      master access before the compositor and all the clients receive
      the notification. In this case, some commit could be sent to the
      drm driver too late and get refused with error EACCES.
      This error condition is not properly managed and causes weston to
      hang.
      
      Change the return type of start_repaint_loop() and repaint_flush()
      from void to int, and return 0 on success or -1 if the repaint has
      to be cancelled.
      In the callers of start_repaint_loop() and repaint_flush() handle
      the return value and cancel the repaint when needed.
      In backend-drm detect the error EACCES and return -1.
      Note: to keep the code cleaner, this change inverts the execution
      order between weston_output_schedule_repaint_reset() and
      repaint_cancel().
      
      No need to wait for suspend or for any notification; in case the
      weston reschedules a repaint, it will get EACCES again.
      At resume, damage-all guarantees a complete repaint.
      
      This fix is for atomic modeset only.
      Legacy modeset suffers from similar problems, but it is not fixed
      by this change. Since drm_pending_state_apply() never returns
      error for legacy modeset, this change has no impact on legacy
      modeset.
      Signed-off-by: default avatarAntonio Borneo <antonio.borneo@st.com>
      Fixes: wayland/weston#117
      c90fccc2
  4. 09 Jul, 2019 1 commit
    • Tomohito Esaki's avatar
      remoting: make a gstreamer pipeline configurable · 3ea03bb8
      Tomohito Esaki authored
      Allow a gstreamer pipeline to be configurable via an weston.ini. It is
      necessary that source is appsrc, its name is "src", and sink name is
      "sink" in pipeline. Also, remoting plugin ignore port and host
      configuration if the gst-pipeline is specified.
      3ea03bb8
  5. 25 Jun, 2019 1 commit
  6. 17 Jun, 2019 1 commit
  7. 18 Apr, 2019 3 commits
  8. 28 Mar, 2019 1 commit
  9. 20 Feb, 2019 1 commit
  10. 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
  11. 30 Oct, 2018 1 commit
    • 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