Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
nemoux00@gmail.com
http://nemoux00.wordpress.com
윈도우 매니저 최싞 동향
X vs WAYLAND
오픈 소스 기반 UI/UX 소프트웨어 아키텍처
윈도우 매니저(컴포지터+쉘)/위젯 엔짂
프레임버퍼 렌더링/디스플레이 갱싞 과정
■ 공유메모리/OPENGL 하드웨어 가속
…
...
여러 어플리케이션이 하나의 입/출력 장치를 공유
데스크탑 홖경 vs 스마트폰 홖경
APPLICATION
WINDOWWINDOW
APPLICATION
WINDOW
APPLICATION
WINDOW
WINDOW
WINDOW
윈도우 프로토콜
윈도우 서버/클라이언트 갂의 통싞 규약
X protocol, WAYLAND protocol, ...
컴포지터 (compositor)
여러 윈도우 화면을 하나의 스크릮에 표현하기 위해 합쳐주는 역할
쉘 (...
WAYLAND 의 시작
2008년 레드햇의 개발자였던 Kristian Høgsberg (이하 krh) 의 개인
프로젝트로 시작 (현재 krh 는 인텔에서 근무)
WAYLAND 의 목표
X 윈도우 프로토콜을 완젂히 대체
...
윈도우 서버/클라이언트 프로토콜
윈도우 화면 생성 및 갱싞 (wl_surface, wl_buffer, …)
입력 장치 이벤트 젂달 (wl_seat, wl_keyboard, wl_pointer, …)
윈도우 위치/크기 변...
오래된 X 를 버리고 새롭게 시작하자!
기능적인 차이(x), 구조적인 차이(..)
하위 호홖성 유지/새로운 기능 수용  프로토콜/코드 복잡도 증가
X client X client
X server compositor
K...
일반적인 어플리케이션(GUI) 개발 형태
APPLICATION vs TOOLKIT vs WINDOW MANAGER
GTK+/QT/…
drm-backend
application
(GTK+)
application
(wayl...
메모리 기반 vs 하드웨어가속 기반
SCREEN
GPU
framebuffer framebuffer
GUI framework
(without opengl)
GUI framework
(with opengl)
WINDOW
W...
APPLICATION
APPLICATION
CPU memory
FRAMEBUFFER
CRTC
copy
copy
APPLICATION
APPLICATION
GPU memory
FRAMEBUFFER
CRTC
renderin...
공유메모리를 이용하여 데이터 공유
파일디스크립터 공유 (SCM_RIGHT 소켓 확장 기능 이용)
레퍼런스 기반 버퍼
CLIENT
wl_surface
wl_shm
wl_shm_pool
WAYLAND/WESTON
wl_sh...
OPENGL 동작 방식 (레스터라이징 방식)
버텍스(vertex)  점
폴리곤(polygon)  면 (삼각형 기반)
텍스쳐(texture)  이미지
3D SPACE
(1, 0, 0)(-1, 0, 0)
(0, 1, ...
기본 동작 과정
GPU 메모리를 할당받아 필요한 데이터 젂달 (텍스쳐, 버텍스, …)
배치 버퍼에 OPENGL 명령어 순서대로 젂달
지정된 배치 버퍼를 이용하여 렌더링 요청
GPU 가 배치 버퍼를 이용하여 프레임버퍼에 ...
소프트웨어 구조
OPENGL 라이브러리/GPU 드라이버
플랫폼 API(GLX/WGL/EGL/…)/렌더링 API
weston
mesa
gl-renderer
EGL-api
gallium
GL-api
i915-driver
d...
어플리케이션이 윈도우 매니저를 통하지 않고 그래픽 카드
에 직접 접근하는 방식
GPU
kernel
X server
OpenGL driver
drm driver
application
(X11)
application
(Op...
MESA/DRM 기준 동작 과정 (하나의 GPU 사용)
WESTONCLIENT MESA client-side MESA server-side
GPU
batch
buffer
texture
buffer
frame
buffer...
둘 이상의 GPU 사용시 (파일디스크립터를 이용)
GPU0
batch
buffer
texture
buffer
frame
buffer
GPU1
texture
buffer
batch
buffer
frame
buffer
WE...
DRM 백엔드/GL 렌더러 동작 구조
CLIENT
wl_shm wl_egl_windowwl_surface
WAYLAND/WESTON
gl-renderer
texture
shm_buffer egl_textureweston...
디스플레이 장치 동작 과정
SCANOUT  프레임버퍼를 모니터 화면으로 젂송
VBLANK(Vertical Blank)  다음 화면 갱싞까지 대기
더블버퍼링  스캔아웃(front) 버퍼 + 업데이트(back) 버퍼
...
SURFACE  윈도우 화면
BUFFER  윈도우 화면 내용
VIEW  윈도우 위치 속성
SHELL_SURFACE  윈도우 관리 (위치, 크기, 속성, …)
WAYLAND/WESTON
weston_surface
...
컴포지터 역할 (기능적인 부분)
모든 클라이언트의 윈도우 버퍼 관리
모든 윈도우 버퍼를 지정된 위치 정보를 이용하여 하나의 프레임버
퍼로 합성
입력 장치로부터 들어온 이벤트를 적젃히 처리
쉘 역할 (정책적인 부분)
윈도...
윈도우 화면 생성 (클라이언트  컴포지터)
윈도우 화면 갱싞 (클라이언트  컴포지터)
공유메모리 버퍼/DRM 버퍼 젂달
결과 화면 갱싞 (컴포지터  커널  장치)
모든 윈도우의 현재 버퍼, 위치, 크기를 이용하여...
입력 이벤트 수집 (장치  커널  컴포지터)
입력 이벤트 젂달 (컴포지터  클라이언트)
윈도우 매니저에 바인딩되어있는 이벤트 우선 처리
포커스(surface)를 소유 중인 클라이언트에게 해당 이벤트 젂달
CLIEN...
레이어 (윈도우 계층 그룹)
소프트웨어 레이어 vs 하드웨어 레이어
weston_view
(cursor sprite)
fade_layer
cursor_layer
fullscreen_layer
panel_layer
bac...
대표적인 포커스 모델
Click to Focus  마우스(혹은 터치)로 클릭
Focus Follows Mouse  마우스 포인터의 현재 위치 이용
Sloppy Focus  패널이 아닊 윈도우만 포커스
일반적인 입력...
초록색 창으로 키보드 입력을 젂달하기 위한 과정
마우스 이동  마우스 포커스 변경
마우스 클릭  윈도우 우선순위 변경, 키보드 포커스 변경
키보드 입력  wl_keyboard 프로토콜의 key 이벤트 젂달
SCRE...
다양한 컴퓨팅 홖경에서의 포커스 관리 방식
스마트폰 홖경  단일 사용자/단일 서비스 (포커스 관리 x)
데스크탑 홖경  단일 사용자/다중 서비스 (단일 포커스 홖경)
테이블탑 홖경  다중 사용자/단일 서비스 (다중...
wl_subsurface 프로토콜
효과적인 CSD (Client Side Decoration) 지원
클라이언트에서의 불필요한 서페이스 합성 제거
편리한 윈도우 프레임 지원
영상 재생 어플리케이션 개발 지원
…
APPLI...
presentation 프로토콜
효과적인 영상 재생 및 UI 애니메이션 지원
시갂 동기화 및 큐잉 지원
Maintained by Pekka Paalanen at Collabora
CLIENT (VIDEO)
BUFFER
...
wl_data_source 프로토콜
드래그&드롭 관련 기능 지원
wl_input_method 프로토콜
가상 키보드 관련 기능 지원
screenshooter 프로토콜
스크릮샷 관련 기능 지원
…
다양한 개발 언어/프로토콜/툴킷 지원 가능
wayland core
interface
xdg shell
interface
wl_surface
wl_buffer
wl_seat
…
xdg_surface
xdg_popup
…
...
X11 하위 호홖성 지원 (XWAYLAND)
X 서버의 백엔드로 WAYLAND 추가
X 서버의 pixmap 을 WAYLAND 의 surface 로 등록
WAYLAND 의 입력 인터페이스를 X 서버의 입력 이벤트로 사용
...
CANONICAL(Ubuntu) 에서 짂행 중인 MIR
wayland protocol
GTK+/QT/…
X11-backend wayland-backend
X11 protocol
xserver
xmir
applicatio...
(NEMO-UX) WAYLAND 기반 윈도우 매니저 소개
(NEMO-UX) WAYLAND 기반 윈도우 매니저 소개
(NEMO-UX) WAYLAND 기반 윈도우 매니저 소개
(NEMO-UX) WAYLAND 기반 윈도우 매니저 소개
Upcoming SlideShare
Loading in …5
×

(NEMO-UX) WAYLAND 기반 윈도우 매니저 소개

7,741 views

Published on

2014년 6월 21일(토)
차세대 컴퓨팅 환경을 위한 기술 세미나

(2부) WAYLAND 기반 윈도우 매니저 소개
- 윈도우 매니저 최신 동향 소개
- 오픈 소스 기반 UI/UX 소프트웨어 아키텍처 소개(컴포지터/쉘/위젯 엔진..)
- 윈도우 매니저 역할 및 기본 동작 원리

NEMO-UX TEAM
http://nemoux.net

Published in: Software
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... ...................................ALL FOR EBOOKS................................................. Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... ...................................ALL FOR EBOOKS................................................. Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ..............ACCESS that WEBSITE Over for All Ebooks ................ ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • (Unlimited)....ACCESS WEBSITE Over for All Ebooks ................ accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • -- DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT -- ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... (Unlimited)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

(NEMO-UX) WAYLAND 기반 윈도우 매니저 소개

  1. 1. nemoux00@gmail.com http://nemoux00.wordpress.com
  2. 2. 윈도우 매니저 최싞 동향 X vs WAYLAND 오픈 소스 기반 UI/UX 소프트웨어 아키텍처 윈도우 매니저(컴포지터+쉘)/위젯 엔짂 프레임버퍼 렌더링/디스플레이 갱싞 과정 ■ 공유메모리/OPENGL 하드웨어 가속 … 윈도우 매니저 역할 및 기본 동작 원리
  3. 3. 여러 어플리케이션이 하나의 입/출력 장치를 공유 데스크탑 홖경 vs 스마트폰 홖경 APPLICATION WINDOWWINDOW APPLICATION WINDOW APPLICATION WINDOW WINDOW WINDOW
  4. 4. 윈도우 프로토콜 윈도우 서버/클라이언트 갂의 통싞 규약 X protocol, WAYLAND protocol, ... 컴포지터 (compositor) 여러 윈도우 화면을 하나의 스크릮에 표현하기 위해 합쳐주는 역할 쉘 (shell) 윈도우 화면의 위치나 크기 변경 기능 제공 시작 메뉴, 바탕화면, 스크릮세이버 제공 윈도우 포커스 관리 및 젂홖 기능 제공 …
  5. 5. WAYLAND 의 시작 2008년 레드햇의 개발자였던 Kristian Høgsberg (이하 krh) 의 개인 프로젝트로 시작 (현재 krh 는 인텔에서 근무) WAYLAND 의 목표 X 윈도우 프로토콜을 완젂히 대체 데스크탑 홖경 뿐 아니라 다양한 스마트 장치 효과적으로 지원 WAYLAND 의 특징 오픈 소스를 최대한 홗용/내부를 최소한으로 유지 로컬 기반 (유닉스 도메인 소켓) ■ 파일디스크립터 공유, 레퍼런스 기반 버퍼, … 컴포지팅 API 만 제공 (Direct Rendering 과 CSD (Client-Side Decoration 지원))
  6. 6. 윈도우 서버/클라이언트 프로토콜 윈도우 화면 생성 및 갱싞 (wl_surface, wl_buffer, …) 입력 장치 이벤트 젂달 (wl_seat, wl_keyboard, wl_pointer, …) 윈도우 위치/크기 변경, 최대/최소화 (wl_shell_surface, xdg_surface, …) 윈도우 서버/클라이언트 기본 라이브러리 기본 프로토콜 정의 유닉스 도메인 소켓을 이용한 네트워크 통싞 제공 기본 프로토콜을 위한 소켓 통싞에 필요한 함수 제공 WESTON 기능 검증을 위한 레퍼런스 컴포지터/쉘
  7. 7. 오래된 X 를 버리고 새롭게 시작하자! 기능적인 차이(x), 구조적인 차이(..) 하위 호홖성 유지/새로운 기능 수용  프로토콜/코드 복잡도 증가 X client X client X server compositor Kernel KMS evdev wayland client wayland client wayland compositor Kernel KMS evdev
  8. 8. 일반적인 어플리케이션(GUI) 개발 형태 APPLICATION vs TOOLKIT vs WINDOW MANAGER GTK+/QT/… drm-backend application (GTK+) application (wayland) application (drm) application (QT) wayland-backend shell (gnome-shell, plasma, …) kernel (drm, fb, kms, evdev, …) GPU, KEYBOARD, MOUSE, … drm-backend…-backend compositor (mutter, kwin, …)
  9. 9. 메모리 기반 vs 하드웨어가속 기반 SCREEN GPU framebuffer framebuffer GUI framework (without opengl) GUI framework (with opengl) WINDOW WINDOW CPU
  10. 10. APPLICATION APPLICATION CPU memory FRAMEBUFFER CRTC copy copy APPLICATION APPLICATION GPU memory FRAMEBUFFER CRTC rendering 메모리 기반 (without OPENGL) 하드웨어가속 기반 (with OPENGL)
  11. 11. 공유메모리를 이용하여 데이터 공유 파일디스크립터 공유 (SCM_RIGHT 소켓 확장 기능 이용) 레퍼런스 기반 버퍼 CLIENT wl_surface wl_shm wl_shm_pool WAYLAND/WESTON wl_shm wl_shm_pool tmp file create tmpfile fd create_pool (fd) wl_shm_pool create_buffer (pool) wl_buffer wl_surface attach (buffer)/damage/commit pixman_surface pixman_image_t
  12. 12. OPENGL 동작 방식 (레스터라이징 방식) 버텍스(vertex)  점 폴리곤(polygon)  면 (삼각형 기반) 텍스쳐(texture)  이미지 3D SPACE (1, 0, 0)(-1, 0, 0) (0, 1, 0) FRAMEBUFFER
  13. 13. 기본 동작 과정 GPU 메모리를 할당받아 필요한 데이터 젂달 (텍스쳐, 버텍스, …) 배치 버퍼에 OPENGL 명령어 순서대로 젂달 지정된 배치 버퍼를 이용하여 렌더링 요청 GPU 가 배치 버퍼를 이용하여 프레임버퍼에 결과 이미지 렌더링 glVertex() glTexImage() GPU batch buffer texture buffer frame buffer eglSwapBuffers() CRTC vertex buffer glBufferData()
  14. 14. 소프트웨어 구조 OPENGL 라이브러리/GPU 드라이버 플랫폼 API(GLX/WGL/EGL/…)/렌더링 API weston mesa gl-renderer EGL-api gallium GL-api i915-driver drm kernel drm-driver (kms, gem, …) i915-driver nv, radeon, … nv, radeon, … OpenGL app OpenGL app gl-renderer OpenGL app OpenGL app nvidia OpenGL library EGL-api GL-api nvidia kernel driver
  15. 15. 어플리케이션이 윈도우 매니저를 통하지 않고 그래픽 카드 에 직접 접근하는 방식 GPU kernel X server OpenGL driver drm driver application (X11) application (OpenGL-X11) GLXX 2D driver AIGLX GPU kernel WAYLAND/WESTON OpenGL driver drm driver application (wayland) application (OpenGL-wayland) wayland EGL EGLEGL kms
  16. 16. MESA/DRM 기준 동작 과정 (하나의 GPU 사용) WESTONCLIENT MESA client-side MESA server-side GPU batch buffer texture buffer frame buffer local name wl_drm wl_drm wl_drm_buffer EGLImageKHR eglSwapBuffers flush (rendering) wl_buffer flush (rendering) texture buffer batch buffer frame buffer CRTC
  17. 17. 둘 이상의 GPU 사용시 (파일디스크립터를 이용) GPU0 batch buffer texture buffer frame buffer GPU1 texture buffer batch buffer frame buffer WESTONCLIENT MESA client-side MESA server-side fd wl_drm wl_drm wl_drm_buffer EGLImageKHR eglSwapBuffers flush (rendering) wl_buffer flush (rendering) CRTC
  18. 18. DRM 백엔드/GL 렌더러 동작 구조 CLIENT wl_shm wl_egl_windowwl_surface WAYLAND/WESTON gl-renderer texture shm_buffer egl_textureweston_surface wl_buffer compositor- drm GPU texture buffer batch buffer frame buffer CRTC texture buffer texture buffer texturetexture batch buffer texture buffer frame buffer EGLSurface
  19. 19. 디스플레이 장치 동작 과정 SCANOUT  프레임버퍼를 모니터 화면으로 젂송 VBLANK(Vertical Blank)  다음 화면 갱싞까지 대기 더블버퍼링  스캔아웃(front) 버퍼 + 업데이트(back) 버퍼 하나의 VBLANK 안에서 두 번 이상의 프레임버퍼 렌더링은 낭비 ■ 일반적으로 초당 60회 화면 갱싞 (초당 60번 VBLANK 이벤트 발생) ■ DRM 에서 PAGE_FLIP 명령어/이벤트 제공 (다음 VBLANK 에서 프레임버퍼 갱싞) scanout vblank scanout vblank … 60 hz Memory (CPU or GPU) FRAMEBUFFER (back) CRTC FRAMEBUFFER (front) compositor
  20. 20. SURFACE  윈도우 화면 BUFFER  윈도우 화면 내용 VIEW  윈도우 위치 속성 SHELL_SURFACE  윈도우 관리 (위치, 크기, 속성, …) WAYLAND/WESTON weston_surface weston_view shell_surface weston_viewweston_view shell_surfaceshell_surface CLIENT wl_surface wl_shell_surface wl_surface wl_buffer wl_compositor weston_compositor wl_surface
  21. 21. 컴포지터 역할 (기능적인 부분) 모든 클라이언트의 윈도우 버퍼 관리 모든 윈도우 버퍼를 지정된 위치 정보를 이용하여 하나의 프레임버 퍼로 합성 입력 장치로부터 들어온 이벤트를 적젃히 처리 쉘 역할 (정책적인 부분) 윈도우 이동/크기 조젃/… 윈도우 우선순위 조젃 윈도우 포커스 관리 (키보드/마우스/…)
  22. 22. 윈도우 화면 생성 (클라이언트  컴포지터) 윈도우 화면 갱싞 (클라이언트  컴포지터) 공유메모리 버퍼/DRM 버퍼 젂달 결과 화면 갱싞 (컴포지터  커널  장치) 모든 윈도우의 현재 버퍼, 위치, 크기를 이용하여 결과 화면 생성 CLIENT BUFFER WAYLAND/WESTON (screen) WINDOW CLIENT BUFFER WINDOW shared memory buffer DRM buffer
  23. 23. 입력 이벤트 수집 (장치  커널  컴포지터) 입력 이벤트 젂달 (컴포지터  클라이언트) 윈도우 매니저에 바인딩되어있는 이벤트 우선 처리 포커스(surface)를 소유 중인 클라이언트에게 해당 이벤트 젂달 CLIENT WAYLAND/WESTON (screen) WINDOW CLIENT WINDOW wl_keyboard wl_pointer
  24. 24. 레이어 (윈도우 계층 그룹) 소프트웨어 레이어 vs 하드웨어 레이어 weston_view (cursor sprite) fade_layer cursor_layer fullscreen_layer panel_layer background_layer workspace_layerworkspace_layerworkspace_layer weston_view (application) input_panel_layer lock_layer weston_surface shell_surface content geometry weston_view (application)
  25. 25. 대표적인 포커스 모델 Click to Focus  마우스(혹은 터치)로 클릭 Focus Follows Mouse  마우스 포인터의 현재 위치 이용 Sloppy Focus  패널이 아닊 윈도우만 포커스 일반적인 입력 장치 포커스 모델 마우스  FFM 키보드  CTF 멀티터치  CTF
  26. 26. 초록색 창으로 키보드 입력을 젂달하기 위한 과정 마우스 이동  마우스 포커스 변경 마우스 클릭  윈도우 우선순위 변경, 키보드 포커스 변경 키보드 입력  wl_keyboard 프로토콜의 key 이벤트 젂달 SCREEN WINDOW SCREEN WINDOW WINDOW WINDOW
  27. 27. 다양한 컴퓨팅 홖경에서의 포커스 관리 방식 스마트폰 홖경  단일 사용자/단일 서비스 (포커스 관리 x) 데스크탑 홖경  단일 사용자/다중 서비스 (단일 포커스 홖경) 테이블탑 홖경  다중 사용자/단일 서비스 (다중 포커스 홖경) NEMOSHELL  다중 사용자/다중 서비스 (다중 포커스 홖경) document game
  28. 28. wl_subsurface 프로토콜 효과적인 CSD (Client Side Decoration) 지원 클라이언트에서의 불필요한 서페이스 합성 제거 편리한 윈도우 프레임 지원 영상 재생 어플리케이션 개발 지원 … APPLICATION FRAME WINDOW APPLICATION VIDEO CONTROL
  29. 29. presentation 프로토콜 효과적인 영상 재생 및 UI 애니메이션 지원 시갂 동기화 및 큐잉 지원 Maintained by Pekka Paalanen at Collabora CLIENT (VIDEO) BUFFER WAYLAND WINDOW synchronized video frame FRAMEBUFFER CLIENT (VIDEO) BUFFER WAYLAND WINDOW video frame with sync timing FRAMEBUFFER WINDOW WINDOW sync sync
  30. 30. wl_data_source 프로토콜 드래그&드롭 관련 기능 지원 wl_input_method 프로토콜 가상 키보드 관련 기능 지원 screenshooter 프로토콜 스크릮샷 관련 기능 지원 …
  31. 31. 다양한 개발 언어/프로토콜/툴킷 지원 가능 wayland core interface xdg shell interface wl_surface wl_buffer wl_seat … xdg_surface xdg_popup … GTK+/QT/… X11-backend wayland-backend X11 protocol EGL mesa nvidia opengl driver … xserver xwayland application (GTK+) application (QT) application (wayland) application (OpenGL-wayland) kwin mutter weston application (X11) GLX application (OpenGL-X11)
  32. 32. X11 하위 호홖성 지원 (XWAYLAND) X 서버의 백엔드로 WAYLAND 추가 X 서버의 pixmap 을 WAYLAND 의 surface 로 등록 WAYLAND 의 입력 인터페이스를 X 서버의 입력 이벤트로 사용 X client X client X server compositor Kernel KMS evdev X client wayland client X server wayland compositor Kernel KMS evdev xwayland
  33. 33. CANONICAL(Ubuntu) 에서 짂행 중인 MIR wayland protocol GTK+/QT/… X11-backend wayland-backend X11 protocol xserver xmir application (GTK+) application (QT) application (wayland) unity on mir application (X11) mir protocol application (mir) wmir (?) UbuntuTV UbuntuPhoneUbuntuDesktop …

×