한국어
오픈소스포럼
 이곳은 다양한 오픈소스 프로젝트를 소개하고 리뷰, 활용 방법을 공유합니다.

Wayland IVI Extension 간단 리뷰

makersweb 2019.05.12 15:02 조회 수 : 2256

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>

 

번호 제목 글쓴이 날짜 조회 수
» Wayland IVI Extension 간단 리뷰 file makersweb 2019.05.12 2256
34 GDBus 튜토리얼(GDBus tutorial) file makersweb 2019.06.30 10342
33 텔레그램(Telegram) Bot 개발 file makersweb 2019.07.21 5706
32 리눅스에서 SDL2 최신버전 컴파일과 Qt Creator로 개발환경 구성 file makersweb 2019.10.06 3035
31 webOS소개 및 Raspberry Pi 3 에서 실행 file makersweb 2019.10.13 3874
30 도커(docker)설치 및 기본 명령어 makersweb 2019.12.02 482
29 Pluma(C++ Plug-in Management Framework) 튜토리얼 file makersweb 2019.12.07 13981
28 [SDL2 와 OpenGL]윈도우 생성과 2D그래픽 file makersweb 2020.04.11 3058
27 ZeroMQ의 기본 메세지 패턴들 file makersweb 2020.07.31 8479
26 ZeroMQ 비동기 클라이언트/서버 패턴 file makersweb 2020.08.13 1763
25 Qt와 GStreamer 로 작성한 flac 오디오 재생 예제 file makersweb 2020.09.05 1139
24 가볍고 쉬운 임베디드용 그래픽 라이브러리 - LVGL file makersweb 2020.09.16 3321
23 윈도우에서 안드로이드 flutter 프로그래밍 개발환경 구축(with Visual Studio Code) file makersweb 2020.09.16 794
22 GENIVI DLT(Diagnostic Log and Trace) 활용 file makersweb 2020.11.19 8306
21 Dear ImGui, 경량의 C++ 용 GUI 및 Widget 라이브러리 file makersweb 2020.11.28 9051
20 라즈베리파이4에서 openFrameworks 예제 실행 file makersweb 2020.12.13 559
19 Nana, C++용 크로스플랫폼 GUI 라이브러리 file makersweb 2021.01.06 2065
18 라즈베리파이에서 Redis의 Pub/Sub 패턴을 사용하는 Electron 응용프로그램 file makersweb 2021.01.31 681
17 Protocol Buffers 를 이용한 직렬화 with Conan Package Manager file makersweb 2021.02.24 862
16 CANdevStudio 를 사용하여 CAN 네트워크 시뮬레이션 file makersweb 2021.03.09 1698