1. 17 Sep, 2018 3 commits
  2. 27 Aug, 2018 1 commit
  3. 09 Jul, 2018 1 commit
  4. 06 Jul, 2018 1 commit
    • Ankit Nautiyal's avatar
      man: add description for specifying modes with aspect-ratio in weston.ini · f82ff35e
      Ankit Nautiyal authored
      This patch adds information about the new resolution-format that can
      be specified by a user in weston.ini to select a CEA mode. CEA defines
      timing of a video mode, which is considered as a standard for
      HDMI certification and compliance testing. It defines each and every
      parameter, of  a video mode, like h/vactive,h/vfront h/vback etc.,
      including aspect-ratio information. The drm layer, specifies the
      aspect-ratio information in user-mode flag bits 19-22. For the non-CEA
      modes a value of 0 is given in the aspect-ratio flag bits. Each
      CEA-mode is identified by a unique, Video Identification Code (VIC).
      For example, VIC=4 is 1280x720@60 aspect-ratio 16:9.
      This mode will be different than a non-CEA mode 1280x720@60 0:0.
      
      The new mode-format helps to differentiate between the CEA and
      non-CEA modes, by letting user specify aspect-ratio along with other
      paremeters: mode=widthxheight@rr ratio.
      
      This helps when certification testing is done, in tests like 7-27,
      the HDMI analyzer applies a particular CEA mode, and expects the
      applied mode to be with exactly same timings, including the
      aspect-ratio and VIC field.
      Signed-off-by: Ankit Nautiyal's avatarAnkit Nautiyal <ankit.k.nautiyal@intel.com>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      f82ff35e
  5. 02 Jul, 2018 1 commit
  6. 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: wayland/weston#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
  7. 28 Jun, 2018 1 commit
  8. 13 Jun, 2018 1 commit
  9. 30 May, 2018 1 commit
  10. 24 May, 2018 1 commit
  11. 20 Apr, 2018 1 commit
  12. 09 Feb, 2018 1 commit
    • Pekka Paalanen's avatar
      weston: remove SEGV and ABRT handlers · bb707dc0
      Pekka Paalanen authored
      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's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      bb707dc0
  13. 18 Dec, 2017 2 commits
  14. 28 Nov, 2017 2 commits
  15. 04 Sep, 2017 1 commit
  16. 20 Mar, 2017 1 commit
  17. 07 Mar, 2017 1 commit
    • Emmanuel Gil Peyrot's avatar
      compositor-drm: pageflip timeout implementation · 11ae2a30
      Emmanuel Gil Peyrot authored
      Weston will not repaint until previous update has been acked by a
      pageflip event coming from the drm driver. However, some buggy drivers
      won’t return those events or will stop sending them at some point and
      Weston output repaints will completely freeze. To ease developers’ task
      in testing their drivers, this patch makes compositor-drm use a timer
      to detect cases where those pageflip events stop coming.
      
      This timeout implementation is software only and includes basic
      features usually found in a watchdog. We simply exit Weston gracefully
      with a log message and an exit code when the timout is reached.
      
      The timeout value can be set via weston.ini by adding a
      pageflip-timeout=<MILLISECONDS> entry under [core]
      section. Setting it to 0 disables the timeout feature.
      
      v2:
      - Made sure we would get both the pageflip and the vblank events before
        stopping the timer.
      - Reordered the error and success cases in
        drm_output_pageflip_timer_create() to be more in line with the rest
        of the code.
      
      v3:
      - Reordered (de)arming of the timer with the code around it to avoid it
        being rearmed before the current dearming.
      - Return the proper value for the dispatcher in the pageflip_timeout
        callback.
      - Also display the output name in case the timer fires.
      
      v4:
      - Reordered a forgotten timer rearming after its drmModePageFlip().
      
      Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=83884
      Signed-off-by: Frederic Plourde <frederic.plourde at collabora.co.uk>
      Signed-off-by: default avatarEmmanuel Gil Peyrot <emmanuel.peyrot@collabora.com>
      Reviewed-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      11ae2a30
  18. 17 Jan, 2017 1 commit
  19. 16 Jan, 2017 1 commit
  20. 03 Jan, 2017 1 commit
  21. 22 Oct, 2016 1 commit
  22. 03 Jun, 2016 1 commit
    • Pekka Paalanen's avatar
      Remove Raspberry Pi backend and renderer · ca52b31d
      Pekka Paalanen authored
      This patch completely removes the Raspberry Pi backend and the renderer.
      
      The backend and the renderer were written to use the proprietary
      DispmanX API available only on the Raspberry Pi, to demonstrate what the
      tiny computer is capable of graphics wise. They were also used to
      demonstrate how Wayland and Weston in particular could leverage hardware
      compositing capabilities that are not OpenGL. The backend was first
      added in e8de35c9, in 2012.
      
      Since then, the major point has been proven. Over time, support for the
      rpi-backend diminished, it started to deteriorate and hinder Weston
      development. On May 11, I tried to ask if anyone actually cared about
      the rpi-backend, but did not get any votes for keeping it:
      https://lists.freedesktop.org/archives/wayland-devel/2016-May/028764.html
      
      The rpi-backend is a good example of how using an API that is only
      available for specific hardware, even more so as it is only available
      with a proprietary driver stack, is not maintainable in the long run.
      Most developers working on Weston either just cannot, or cannot bother
      to test things also on the RPi. Breakage creeps in without anyone
      noticing. If someone actually notices it, fixing it will require a very
      specific environment to be able to test. Also the quality of the
      proprietary implementation fluctuated. There are reports that RPi
      firmware updates randomly broke Weston, and that nowadays it is very
      hard to find a RPi firmware version that you could expect to work with
      Weston if Weston itself was not broken. We are not even sure what is
      broken nowadays.
      
      This removal does not leave Raspberry Pi users cold (for long), though.
      There is serious work going on in implementing a FOSS driver stack for
      Raspberry Pi, including modern kernel DRM drivers and Mesa drivers. It
      might not be fully there yet, but the plan is to be able to use the
      standard DRM-backend of Weston on the RPis. See:
      http://dri.freedesktop.org/wiki/VC4/
      
      The rpi-backend had its moments. Now, it needs to go. Good riddance!
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: default avatarDerek Foreman <derekf@osg.samsung.com>
      Acked-by: default avatarBryce Harrington <bryce@osg.samsung.com>
      Acked-by: Jonas Ådahl's avatarJonas Ådahl <jadahl@gmail.com>
      Acked-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      ca52b31d
  23. 25 Apr, 2016 1 commit
  24. 10 Mar, 2016 1 commit
    • Armin Krezović's avatar
      desktop-shell: make panel clock configurable · c6a55dbf
      Armin Krezović authored
      This patch enhances the panel clock by adding a config file
      option which can be used to either disable the clock or make
      it also show seconds in the current clock format.
      
      v2: Implement suggestions from Pekka:
          - Include Signed-off-by
          - Coding style fixes
          - Implement clock widget allocation by using
            width from cairo_text_extents
          - Highlight config option values in man page
      v3: Implement suggestions from Pekka and Bryce:
          - Use CLOCK_FORMAT_* instead of FORMAT_* in the enum
          - Switch to using fixed clock widget size instead
            of one returned from cairo_text_extents
          - Fixes to config option highlighting in the man page
      v4: Implement more suggestions from Pekka and Bryce:
          - Improve patch changelog
          - Move the check for CLOCK_FORMAT_NONE into the
            caller function
          - Fix a memory leak in panel_create introduced by
            previous revision of this patch
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57583Signed-off-by: default avatarArmin Krezović <armin.krezovic@fet.ba>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      c6a55dbf
  25. 12 Jan, 2016 3 commits
  26. 22 Jun, 2015 1 commit
    • Pekka Paalanen's avatar
      desktop-shell: remove screensaver support · b37ac400
      Pekka Paalanen authored
      This is a follow-up for the patch that removed weston-screensaver. The
      aim is to clean up shell.c a little by removing non-essential
      components. Vanilla Weston desktop is only a demo, external projects are
      encouraged to create user-friendly desktop environments.
      
      The support for launching a screensaver client and the protocol bindings
      are removed. With them, all related configuration options are removed,
      and the manuals are updated accordingly.
      
      The screensaver protocol definition is left in desktop-shell.xml for
      posterity.
      
      This does not affect Weston's or desktop-shells ability to put screens
      to sleep after inactivity. The inactivity timer continues to operate as
      before. Also screen locking is unaffected.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Acked-by: default avatarGiulio Camuffo <giuliocamuffo@gmail.com>
      b37ac400
  27. 11 May, 2015 1 commit
  28. 27 Mar, 2015 2 commits
  29. 20 Mar, 2015 2 commits
    • Pekka Paalanen's avatar
      man: update weston's shells · 41d2cccc
      Pekka Paalanen authored
      Tablet shell is long gone. Might as well list what we have now.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: default avatarBryce Harrington <bryce@osg.samsung.com>
      Reviewed-by: Jason Ekstrand's avatarJason Ekstrand <jason@jlekstrand.net>
      41d2cccc
    • Pekka Paalanen's avatar
      compositor: add repaint delay timer · 0513a95a
      Pekka Paalanen authored
      This timer delays the output_repaint towards the end of the refresh
      period, reducing the time from repaint to present.
      
      The length of the repaint window can be set in weston.ini.
      
      The call to weston_output_schedule_repaint_reset() is delayed by one
      more period.  If we exit the continuous repaint loop (set
      output->repaint_scheduled to false) in finish_frame, we may call
      start_repaint_loop() unnecessarily.  The problem case was actually
      observed with two outputs on the DRM backend at 60 Hz, and 7 ms
      repaint-window. During a window move, one output was constantly falling
      off the continuous repaint loop and introducing additional one frame
      latency, leading to jerky window motion. This code now avoids the
      problem.
      
      Changes in v2:
      
      - Rename repaint_delay_timer to repaint_timer and
      output_repaint_delay_handler to output_repaint_timer_handler.
      
      - When computing the delay, take the current time into account. The timer
      uses a relative timeout, so we have to subtract any time already gone.
      
      Note, that 'gone' may also be negative. DRM has a habit of predicting
      the page flip timestamp so it may be still in the future when we get the
      completion event.
      
      - Do also a sanity check 'msec > 1000'. In the unlikely case that
      something fails to provide a good timestamp, never delay for more than
      one second.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-By: default avatarDerek Foreman <derekf@osg.samsung.com>
      Reviewed-by: default avatarBryce Harrington <bryce@osg.samsung.com>
      0513a95a
  30. 21 Nov, 2014 2 commits