참고  : https://lists.yoctoproject.org/pipermail/meta-freescale/2017-January/019965.html


[meta-freescale] [PATCH v2 5/5] weston: Touch events cause startup failure

Wayland 동작시 터치 디바이스 이벤트가 발생하면  죽는 현상 발생

view 에 대한 예외처리가 추가되어 weston 초기화시 터치가 발생하여도 문제가 발생하지 않음


동작 확인 
감사합니다.

vim src/compositor.c


src/compositor.c:1373:weston_view_from_global_fixed(struct weston_view *view


view 에 따른 예외처리 추가됨.


if(view != NULL) {

                weston_view_from_global_float(view,

                                                wl_fixed_to_double(x),

                                                wl_fixed_to_double(y),

                                                &vxf, &vyf);

                *vx = wl_fixed_from_double(vxf);

                *vy = wl_fixed_from_double(vyf);

 }





현재버전 1.9

https://gerrit.automotivelinux.org/gerrit/#/c/11203/2/meta-agl/recipes-graphics/wayland/weston/0001-compositor-drm.c-Launch-without-input-devices.patch


drm 초기화시 터치 디바이스를 확인하여 없을시 종료루틴 실행.


3073 static struct drm_backend *

3074 drm_backend_create(struct weston_compositor *compositor,

3075                       struct drm_parameters *param,

3076                       int *argc, char *argv[],

3077                       struct weston_config *config)

 

3171 //              goto err_sprite; 주석처리


 Input Device 에 따른 리턴처리 됨 강제적으로 GUI 를 출력하기위해서 코드 적용 완료 






'Linux > Wayland' 카테고리의 다른 글

[weston] Touch  (0) 2017.12.30
[Wayland] Install Ubuntu14.04  (0) 2017.07.09
Wayland FAQ  (0) 2016.06.23
wayland 관련 정보 참고 사이트  (0) 2016.06.20

http://wiki.qt.io/WestonTouchScreenIssues


From c4633014fff25d32926129a8b028124c6338bb2b Mon Sep 17 00:00:00 2001
From: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
Date: Wed, 19 Aug 2015 09:04:46 +0300
Subject: [PATCH 1/1] Adapt changes made in libinput/src/evdev.c for touch
 frame emission.

---
 src/evdev.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/src/evdev.c b/src/evdev.c
index 888dfbd..daa5d72 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -359,12 +359,36 @@ evdev_process_absolute(struct evdev_device *device,
 	}
 }
 
+static inline int
+evdev_need_touch_frame(struct evdev_device *device)
+{
+	if (!(device->seat_caps & EVDEV_SEAT_TOUCH))
+		return 0;
+
+	switch (device->pending_event) {
+	case EVDEV_NONE:
+	case EVDEV_RELATIVE_MOTION:
+		break;
+	case EVDEV_ABSOLUTE_MT_DOWN:
+	case EVDEV_ABSOLUTE_MT_MOTION:
+	case EVDEV_ABSOLUTE_MT_UP:
+	case EVDEV_ABSOLUTE_TOUCH_DOWN:
+	case EVDEV_ABSOLUTE_TOUCH_UP:
+	case EVDEV_ABSOLUTE_MOTION:
+		return 1;
+	}
+
+	return 0;
+}
+
 static void
 fallback_process(struct evdev_dispatch *dispatch,
 		 struct evdev_device *device,
 		 struct input_event *event,
 		 uint32_t time)
 {
+	int need_frame = 0;
+
 	switch (event->type) {
 	case EV_REL:
 		evdev_process_relative(device, event, time);
@@ -376,7 +400,10 @@ fallback_process(struct evdev_dispatch *dispatch,
 		evdev_process_key(device, event, time);
 		break;
 	case EV_SYN:
+		need_frame = evdev_need_touch_frame(device);
 		evdev_flush_pending_event(device, time);
+		if (need_frame)
+			notify_touch_frame(device->seat);
 		break;
 	}
 }
--  

2.1.4 


libinput multi touch 




https://cgit.freedesktop.org/wayland/libinput


'Linux > Wayland' 카테고리의 다른 글

[weston] Boot touch ISSUE  (0) 2018.02.12
[Wayland] Install Ubuntu14.04  (0) 2017.07.09
Wayland FAQ  (0) 2016.06.23
wayland 관련 정보 참고 사이트  (0) 2016.06.20

Wayland install

How to Install Latest Wayland in Ubuntu 14.04 Gnome via PPA


'Linux > Wayland' 카테고리의 다른 글

[weston] Boot touch ISSUE  (0) 2018.02.12
[weston] Touch  (0) 2017.12.30
Wayland FAQ  (0) 2016.06.23
wayland 관련 정보 참고 사이트  (0) 2016.06.20

원본 사이트




Why fork the X server?

-  컴포지터와 클라이언트 간의 프로토콜이다. 컴포지터가 클라이언트들에게 입력 이벤트를 보낸다. 


What is the license?

- Wayland : MIT 라이센스에 GPL


Why does Wayland use EGL?

EGL is the only GL binding API that lets us avoid dependencies on existing window systems, in particular X. GLX obviously pulls in X dependencies and only lets us set up GL on X drawables. The alternative is to write a Wayland specific GL binding API, say, WaylandGL.

A more subtle point is that libGL.so includes the GLX symbols, so linking to that library will pull in all the X dependencies. This means that we can't link to full GL without pulling in the client side of X, so Weston uses OpenGL ES to render. This also enables Weston to run on GPUs which don't support the full OpenGL API.

As detailed above, clients are however free to use whichever rendering API they like.

Weston uses OpenGL ES to render

'Linux > Wayland' 카테고리의 다른 글

[weston] Boot touch ISSUE  (0) 2018.02.12
[weston] Touch  (0) 2017.12.30
[Wayland] Install Ubuntu14.04  (0) 2017.07.09
wayland 관련 정보 참고 사이트  (0) 2016.06.20

NEMO-UX - NEMO User eXperience project 

https://nemoux00.wordpress.com/

wayland 및 설명이 잘되어있다.

'Linux > Wayland' 카테고리의 다른 글

[weston] Boot touch ISSUE  (0) 2018.02.12
[weston] Touch  (0) 2017.12.30
[Wayland] Install Ubuntu14.04  (0) 2017.07.09
Wayland FAQ  (0) 2016.06.23

+ Recent posts