한국어
오픈소스포럼
 

Wayland IVI Extension 간단 리뷰

makersweb 2019.05.12 15:02 조회 수 : 928

GENIVI_Blue.png

 

Wayland IVI Extension프로젝트는 GENIVI 프로젝트의 일부로써 주요 목표는 wayland기반 IVI응용프로그램을 사용할 수 있도록 레퍼런스를 제공하는 것이다.

 

IVI 시스템에는 많은 독립 응용프로그램 (예 : Media, Phone, Navigation, 후방카메라 등등)들이 존재하여 응용프로그램들 간의 복잡한 화면구성을 필요로 하는 특성이 있다.

그렇기 때문에 하나의 공통된 API를 제공하고 윈도우 매니저가 상황에 맞는 응용프로그램 간 화면의 레이아웃, 즉 최종 장면을 만들도록 해줘야한다.

 

이 “Wayland IVI Extension”은 Wayland 스타일 프로토콜에 의한 공통 API 세트를 정의하고 Weston에서 로드 할 수 있는 참조 구현 ivi-controller.so 및 ivi-input.so 모듈을 제공한다. 이 모듈들은 ivi-shell.so weston에 의해 로드되는데, ivi-shell은 Weston 프로젝트의 ivi-shell의 일부인 ivi-application.xml 프로토콜을 제공한다.

(참고로 Weston의 IVI Shell은 원래 일본의 DENSO에서 시작 한 프로젝트이며 IVI System을 위한 Reference Shell이다. 지금은 Weston의 주요 프로젝트중 하나로 간주된다. https://github.com/wayland-project/weston/tree/master/ivi-shell)

 

Wayland IVI Extension은 ivi-shell을 사용하여 셸 프로토콜이 ivi-application.xml 인 표면(Surface)을 관리하는 구조이다. 아래 그림은 이 구조를 잘 설명해주고 있다.

20150703174230!Wayland_IVI_Extension_summary.png

<출처 : GENIVI Wiki>

 

Weston을 IVI Extension으로 시작하려면 IVI Shell과 Weston에서 ivi-module을 로드해야한다. 

이 모듈은 아래와 같이 weston.ini의 ivi-shell 섹션에 정의하여 로드되도록 구성한다. (최근의 weton.ini 는 좀 바뀐듯하다.)

[core]
shell=ivi-shell.so

[ivi-shell]
ivi-module=ivi-controller.so

 

아래 시퀀스 다이어그램은 weston이 모듈을 로드하는 과정을 설명한다.

Wayland_IVI_Extension_Startingup.jpg

<출처: GENIVI Wiki>

 

이 글과 연관된 다른 글
  1. [2020/06/04] Wayland 의 Client Application 프로그래밍 기본 루틴 by makersweb (23)
  2. [2020/06/04] Wayland 의 주요 객체들 by makersweb (15)
  3. [2020/06/03] Weston 의 설명 및 관련 컴포넌트 by makersweb (15)
  4. [2018/12/27] QtWayland와 ivi-compositor by makersweb (1093)
  5. [2017/12/29] Wayland에 대한 간단한 소개 by makersweb (1544)