한국어
팁/강좌/노하우
 

테크 Wayland IVI Extension 간단 리뷰

makersweb 2019.05.12 15:02 조회 수 : 20

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에 의해 로드되는데, 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 섹션에 정의하여 로드되도록 구성한다.

[core]
shell=ivi-shell.so

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

 

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

Wayland_IVI_Extension_Startingup.jpg

<출처: GENIVI Wiki>