This should go to 
meta-arago-distro/recipes-graphics/wayland/weston_1.6.0.bbappend


On Wed, Mar 04, 2015 at 01:57:39PM +0530, Karthik Ramanan wrote:
> On devices where the backend is chosen as DRM, as in the case of dra7xx,
> we need some additional patches that are specific to the omapdrm
> which are needed for basic functionality. This includes some bug fixes
> too.
> 
> This will fully enable
> * multiple display support
> * Handle screensavers more efficiently
> * Be compatible with libgbm, TI adaptation of libgbm
> 
> Signed-off-by: Karthik Ramanan <[email protected]>
> ---
>  ...abling-DRM-backend-with-multiple-displays.patch |   60 
> ++++++++++++++++++++
>  .../recipes-graphics/wayland/weston_1.6.0.bb       |   15 +++--
>  2 files changed, 70 insertions(+), 5 deletions(-)
>  create mode 100644 
> meta-arago-extras/recipes-graphics/wayland/weston/0001-weston-Enabling-DRM-backend-with-multiple-displays.patch
> 
> diff --git 
> a/meta-arago-extras/recipes-graphics/wayland/weston/0001-weston-Enabling-DRM-backend-with-multiple-displays.patch
>  
> b/meta-arago-extras/recipes-graphics/wayland/weston/0001-weston-Enabling-DRM-backend-with-multiple-displays.patch
> new file mode 100644
> index 0000000..2f215c9
> --- /dev/null
> +++ 
> b/meta-arago-extras/recipes-graphics/wayland/weston/0001-weston-Enabling-DRM-backend-with-multiple-displays.patch
> @@ -0,0 +1,60 @@
> +From b1829ce962aa4e13d737edb54130bdce05f068f0 Mon Sep 17 00:00:00 2001
> +From: Karthik Ramanan <[email protected]>
> +Date: Wed, 17 Dec 2014 09:21:49 +0530
> +Subject: [PATCH] weston: Enabling DRM backend with multiple displays
> +
> +There are three main issues that this patch tries to address
> +
> + 1. Black screen when running weston
> + 2. Support for multiple displays
> + 3. Handling missing VBlanks
> +
> +There is an issue with missing VBlanks for LCD and
> +HDMI connectors which leads to display not getting refreshed.
> +This patch can be considered as a workaround.
> +
> +Signed-off-by: Karthik Ramanan <[email protected]>
> +---
> + src/compositor-drm.c |   10 ++++++++--
> + 1 files changed, 8 insertions(+), 2 deletions(-)
> +
> +diff --git a/src/compositor-drm.c b/src/compositor-drm.c
> +index e4496e7..3b22aa3 100644
> +--- a/src/compositor-drm.c
> ++++ b/src/compositor-drm.c
> +@@ -646,7 +646,7 @@ drm_output_repaint(struct weston_output *output_base,
> +                     .request.sequence = 1,
> +             };
> + 
> +-            if ((!s->current && !s->next) ||
> ++            if ((!s->current && !s->next) &&
> +                 !drm_sprite_crtc_supported(output_base, s->possible_crtcs))
> +                     continue;
> + 
> +@@ -757,6 +757,7 @@ page_flip_handler(int fd, unsigned int frame,
> + {
> +     struct drm_output *output = (struct drm_output *) data;
> +     uint32_t msecs;
> ++    uint32_t bail;
> + 
> +     /* We don't set page_flip_pending on start_repaint_loop, in that case
> +      * we just want to page flip to the current buffer to get an accurate
> +@@ -769,9 +770,14 @@ page_flip_handler(int fd, unsigned int frame,
> + 
> +     output->page_flip_pending = 0;
> + 
> ++    if(output->vblank_pending) {
> ++            weston_log("VBlank is pending for connector = %d, frame = 
> %d\n", output->connector_id, frame);
> ++            bail = 1;
> ++    }
> ++
> +     if (output->destroy_pending)
> +             drm_output_destroy(&output->base);
> +-    else if (!output->vblank_pending) {
> ++    else if (!output->vblank_pending || bail ) {
> +             msecs = sec * 1000 + usec / 1000;
> +             weston_output_finish_frame(&output->base, msecs);
> + 
> +-- 
> +1.7.9.5
> +
> diff --git a/meta-arago-extras/recipes-graphics/wayland/weston_1.6.0.bb 
> b/meta-arago-extras/recipes-graphics/wayland/weston_1.6.0.bb
> index efbbbe0..0d1962b 100644
> --- a/meta-arago-extras/recipes-graphics/wayland/weston_1.6.0.bb
> +++ b/meta-arago-extras/recipes-graphics/wayland/weston_1.6.0.bb
> @@ -5,15 +5,20 @@ LICENSE = "MIT"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=275efac2559a224527bd4fd593d38466 \
>                      
> file://src/compositor.c;endline=23;md5=aa98a8db03480fe7d500d0b1f4b8850c"
>  
> -SRC_URI = "http://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
> +SRC_URI = "git://anongit.freedesktop.org/wayland/weston;protocol=git \
>             file://weston.png \
>             file://weston.desktop \
>             file://disable-wayland-scanner-pkg-check.patch \
>             file://make-lcms-explicitly-configurable.patch \
>             file://make-libwebp-explicitly-configurable.patch \
> +           
> file://0001-weston-Enabling-DRM-backend-with-multiple-displays.patch \
>  "
> -SRC_URI[md5sum] = "c60ce9dde99a089db0539d8f6b557827"
> -SRC_URI[sha256sum] = 
> "dc3ea5d13bbf025fabc006216c5ddc0d80d5f4ebe778912b8c4d1d4acaaa614d"
> +
> +S = "${WORKDIR}/git"
> +
> +SRCREV = "2858cc2a50854685b44eee72994dea57f5aa4246"
> +
> +PR = "r2"
>  
>  inherit autotools pkgconfig useradd
>  
> @@ -39,9 +44,9 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 
> 'wayland', 'kms fbdev
>  # Compositor choices
>  #
>  # Weston on KMS
> -PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm 
> udev virtual/mesa mtdev"
> +PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm 
> udev libgbm mtdev"
>  # Weston on Wayland (nested Weston)
> -PACKAGECONFIG[wayland] = 
> "--enable-wayland-compositor,--disable-wayland-compositor,virtual/mesa"
> +PACKAGECONFIG[wayland] = 
> "--enable-wayland-compositor,--disable-wayland-compositor,libgbm"
>  # Weston on X11
>  PACKAGECONFIG[x11] = 
> "--enable-x11-compositor,--disable-x11-compositor,virtual/libx11 libxcb 
> libxcb libxcursor cairo"
>  # Headless Weston
> -- 
> 1.7.9.5
> 
> _______________________________________________
> meta-arago mailing list
> [email protected]
> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago

Reply via email to