All of lore.kernel.org
 help / color / mirror / Atom feed
From: Karthik Ramanan <a0393906@ti.com>
To: Denys Dmytriyenko <denys@ti.com>
Cc: meta-arago@arago-project.org
Subject: Re: weston: Add support for multiple display and DRM backend
Date: Tue, 10 Mar 2015 23:43:39 +0530	[thread overview]
Message-ID: <54FF3453.1010109@ti.com> (raw)
In-Reply-To: <20150310163311.GE21244@edge>

On 10-Mar-15 10:03 PM, Denys Dmytriyenko wrote:
> Ping
>
>
> On Wed, Mar 04, 2015 at 03:22:15PM -0500, Denys Dmytriyenko wrote:
>> This should go to meta-arago-distro/recipes-graphics/wayland/weston_1.6.0.bbappend

Denys,

Sorry, I thought I replied to this.

I tried to analyze your input and what I find is that
meta-arago-distro/.../weston_1.6.0.bbappend already has some additions 
that probably needs some rework. I will need to start a discussion on 
that topic and reach an alignment because it doesn't work well with 
GLSDK. But we have taken care of it by overridding this for now.

In my opinion, this patch can be present in the current form and it will 
not affect the other SDKs that are using the bbappend in the 
meta-arago-distro and it will choose the fbdev backend. All dra7xx 
family SoCs will most likely use the DRM backend and it will be 
applicable for these cases.

Regards
Karthik

>>
>>
>> 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 <a0393906@ti.com>
>>> ---
>>>   ...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 <a0393906@ti.com>
>>> +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 <a0393906@ti.com>
>>> +---
>>> + 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
>>> meta-arago@arago-project.org
>>> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
>> _______________________________________________
>> meta-arago mailing list
>> meta-arago@arago-project.org
>> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago



  reply	other threads:[~2015-03-10 18:13 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-04  8:27 weston: Add support for multiple display and DRM backend Karthik Ramanan
2015-03-04 20:22 ` Denys Dmytriyenko
2015-03-10 16:33   ` Denys Dmytriyenko
2015-03-10 18:13     ` Karthik Ramanan [this message]
2015-03-10 18:51       ` Denys Dmytriyenko
2015-03-16 22:45         ` Gou, Hongmei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54FF3453.1010109@ti.com \
    --to=a0393906@ti.com \
    --cc=denys@ti.com \
    --cc=meta-arago@arago-project.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.