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

Wayland IVI Extension 간단 리뷰

makersweb 2019.05.12 15:02 조회 수 : 2276

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>

 

번호 제목 글쓴이 날짜 조회 수
35 Flutter 위젯의 상태관리에 대해서 file makersweb 2023.04.06 472
34 [NodeGui] JavaScript로 데스크탑 응용프로그램 작성 file makersweb 2023.02.21 1306
33 openFrameworks 한글 폰트 설정 및 출력하기 file makersweb 2023.02.19 235
32 LVGL 을 통해 GUI 구현 시 한글 폰트 추가 file makersweb 2023.02.07 1253
31 Windows에서 Qt Creator + CMake + vcpkg 로 C++ 개발환경 구성 (POCO 라이브러리 DirectoryWatcher 예제) file makersweb 2023.01.14 732
30 NAppGUI, C언어용 크로스 플랫폼 GUI 라이브러리 file makersweb 2022.10.10 916
29 OTA 오픈소스 프로젝트 makersweb 2022.08.03 515
28 AGL (Automotive Grade Linux) 개요 file makersweb 2022.06.19 1913
27 Chromium과 Ozone 층 file makersweb 2022.03.03 761
26 Flutter Application 에서 한글(EUC-KR) 깨져서 나오는 문제 file makersweb 2022.01.06 2770
25 CopperSpice 에 대해서 (C++ Gui 라이브러리) file makersweb 2022.01.02 562
24 Flutter/Dart 와 Qt/QML 비교 file makersweb 2021.11.07 1447
23 VSCode 와 Qbs 플러그인으로 C/C++ 개발환경 구성 file makersweb 2021.09.12 881
22 ZeroMQ 를 이용한 Qt 응용프로그램 간 통신 file makersweb 2021.08.28 887
21 C++를 위한 Lottie 라이브러리 with SDL2 file makersweb 2021.08.15 995
20 CANdevStudio 를 사용하여 CAN 네트워크 시뮬레이션 file makersweb 2021.03.09 1756
19 Protocol Buffers 를 이용한 직렬화 with Conan Package Manager file makersweb 2021.02.24 888
18 라즈베리파이에서 Redis의 Pub/Sub 패턴을 사용하는 Electron 응용프로그램 file makersweb 2021.01.31 702
17 Nana, C++용 크로스플랫폼 GUI 라이브러리 file makersweb 2021.01.06 2107
16 라즈베리파이4에서 openFrameworks 예제 실행 file makersweb 2020.12.13 568