4๊ฐ์๊ฐ์ ๊ฐ๋ฐ ๋์ Wayland 1.26 ํ๋กํ ์ฝ, ํ๋ก์ธ์ค ๊ฐ ํต์ ๋ฉ์ปค๋์ฆ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์ ๋ฒ์ ์ด ์ถ์๋์์ต๋๋ค. 1.26 ๋ธ๋์น๋ API ๋ฐ ABI ์์ค์์ 1.x ๋ฒ์ ๊ณผ ํ์ ํธํ์ฑ์ ์ ์งํ๋ฉฐ, ์ฃผ๋ก ๋ฒ๊ทธ ์์ ๋ฐ ์ฌ์ํ ํ๋กํ ์ฝ ์ ๋ฐ์ดํธ๋ฅผ ํฌํจํฉ๋๋ค. ์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค. ์ฐธ์กฐ์ฉ ํฉ์ฑ ์ด๋ฏธ์ง ์๋ฒ Weston์ ๋ฐ์คํฌํฑ ๋ฐ ์๋ฒ ๋๋ ํ๊ฒฝ์์ Wayland๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์ฝ๋์ ์๋ ์์ ๋ฅผ ์ ๊ณตํ๋ฉฐ, ๋ณ๋์ ๊ฐ๋ฐ ์ฃผ๊ธฐ๋ฅผ ๊ฑฐ์ณ ๊ฐ๋ฐ๋ฉ๋๋ค.
ํ๋กํ ์ฝ์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- wl_pointer.warp ์ด๋ฒคํธ๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ์ด ์ด๋ฒคํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์ ํ๋์ผ๋ก ์์ฑ๋๋ wl_pointer.motion ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ์ง ์๊ณ ๋ ํฌ์ธํฐ์ ์ ์์น์ ๋ํ ์๋ฆผ์ ๋ฐ์ ์ ์์ต๋๋ค.
- wl_fixes.ack_global_remove ์์ฒญ์ ์ถ๊ฐํ์ต๋๋ค. ์ด ์์ฒญ์ ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ์ค์งํ์์ ๋ณตํฉ ๊ด๋ฆฌ์์๊ฒ ํ์ธํ์ฌ ์ ์ญ ์ด๋ฒคํธ๋ฅผ ์ ๊ฑฐํ ๋ ๋ฐ์ํ๋ ๊ฒฝ์ ์กฐ๊ฑด์ ๋ฐฉ์งํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ชจ๋ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ํ์ธ์ ๋ฐ์ ํ, ๋ณตํฉ ๊ด๋ฆฌ์๋ ํด๋น ์ด๋ฒคํธ์ ์ฐ๊ฒฐ๋ ํธ๋ค๋ฌ๋ฅผ ์์ฒด์ ์ผ๋ก ์ ๊ฑฐํ ์ ์์ต๋๋ค.
- wl_display_add_socket_fd() ํธ์ถ์ ํตํด ์ด์ ์ ์ถ๊ฐ๋ ์์ผ์ ์ ๊ฑฐํ๋ wl_display_remove_socket_fd() ํจ์๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- WAYLAND_DEBUG ๋๋ฒ๊ทธ ๋ชจ๋์์๋ ์๊ฐ์ด "HH:MM:ss.xxxxxx" ํ์์ผ๋ก ๊ธฐ๋ก๋์ด ๋ก๊ทธ ๋ถ์ ๋ฐ ๋น๊ต๊ฐ ๊ฐ์ํ๋ฉ๋๋ค.
Wayland ์ด์ ๋ฆด๋ฆฌ์ค ์ดํ ์ถ๊ฐ๋ ํ๋กํ ์ฝ ํ์ฅ ๊ธฐ๋ฅ์ผ๋ก, ํต์ฌ Wayland ํ๋กํ ์ฝ์ ๋ณด์ํ๋ฉฐ ๋ณ๋์ Wayland-Protocols ์ธํธ๋ก ์ ๊ณต๋ฉ๋๋ค.
- xx-fractional-scale โ ์ ์๋ก ๊ฐ์ด ์ง์ ๋ ๋ ผ๋ฆฌ ์ขํ๊ณ์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ์ฌ ์์น ์ ํ๋๋ฅผ ํฅ์์ํค๊ณ ๋ ผ๋ฆฌ ์ขํ์ ํด์๋๋ฅผ ๊ฐ๋ณ ํฝ์ ์์ค๊น์ง ๋์ด๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์์์ ์ค์ผ์ผ๋ง์ ์๋ฒฝํ๊ฒ ๊ตฌํํ๋ ๋ฐ ํ์ํ ๊ฐ๋ณ ํฝ์ ์์ค์ ์์น ์ง์ ์ ์ํด ๋ ผ๋ฆฌ ์ขํ๊ณ์ ํด์๋๊ฐ ์ ํ์ ์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
- xx-cutouts โ ํ๋ฉด์ ์ปท์์(์: ์ค๋งํธํฐ ํ๋ฉด์ ์ ๋ฉด ์นด๋ฉ๋ผ ์๋ ์์ญ)์ ๋ํ ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํ ๊ฒ์์ด์ ๋๋ค.
- xx-zones๋ "์์ญ"โ์์ฒด ์ขํ ๊ณต๊ฐ์ ๊ฐ์ง ํ๊ฒฝโ์ ์ต์์ ์ฐฝ์ ์์ฑํ๊ณ ์ถ๊ฐํ๊ธฐ ์ํ ํ๋กํ ์ฝ์ ๋๋ค. ์ด ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ฉด ๊ฐ ์ฐฝ์ด ๋ค๋ฅธ ๋ชจ๋ ์ฐฝ์ ์๋์ ์ผ๋ก ๋ฐฐ์น๋๋ ๋ ผ๋ฆฌ์ ์ธ ์ฐฝ ๋ฐฐ์ด์ด ๊ฐ๋ฅํฉ๋๋ค.
- xx-keyboard-filter โ ํด๋ผ์ด์ธํธ๊ฐ ์ ํํ ํค๋ณด๋ ์ด๋ฒคํธ๋ฅผ ๊ฐ๋ก์ฑ๊ฑฐ๋, ์ ๋ ฅ ์ด๋ฒคํธ๋ฅผ ์์ ํ๊ฑฐ๋, ํฌ์ปค์ค๊ฐ ์๋ Wayland ํ๋ฉด์ผ๋ก ํน์ ์ด๋ฒคํธ๊ฐ ์ ๋ฌ๋๋ ๊ฒ์ ์ฐจ๋จํ ์ ์๋๋ก ํฉ๋๋ค.
- xdg-session-management ํ๋กํ ์ฝ์ด ์คํ ์ด์ง ๋ฒ์ฃผ์ ์ถ๊ฐ๋์ด Wayland ํ๋กํ ์ฝ ๊ธฐ๋ฐ ํ๊ฒฝ์์, ์๋ฅผ ๋ค์ด ๋ณตํฉ ์ถฉ๋ ๋ฐ์ ํ ์ค๋จ๋ ์ธ์ ์์ ์ฐฝ์ ์ํ์ ์์น๋ฅผ ๋ณต์ํ ์ ์๊ฒ ๋์์ต๋๋ค. ์๋ฒ ๋๋ ์์ฉ ํ๋ก๊ทธ๋จ.
- "linux-dmabuf" ํ๋กํ ์ฝ์ด ๋ฉํฐ GPU ์์คํ ์ ์ง์ํ๋๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค. ์ด๋ฌํ ์์คํ ์์ ํด๋ผ์ด์ธํธ๋ ์ปดํฌ์งํธ(composite) ์ค์ ์ ํ์ํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ๋ ์ฌ๋ ์ด๋ค GPU๋ฅผ ์ฌ์ฉํด์ผ ํ ๊น์?
- ์ปฌ๋ฌ ๋งค๋์ง๋จผํธ v1 ํ๋กํ ์ฝ์ด ํฉ์ฑ ์์ ์ ์ฌ์ฉํ ์ ์๋ BT.2100 ์ด๋ฏธ์ง ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ง์ํ๋๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค. ์ฌ๊ธฐ๋ ์ฌ๋ HDR ์ฝํ ์ธ ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ํ ์ ์๋๋ก ํ๋ ํน์ ํธ๋ค๋ฌ. Windows.
์ง๋ ํธ ๋ฐํ ์ดํ ์จ์ผ๋๋์ ๊ด๋ จ๋ ์ฃผ์ ์ฌ๊ฑด:
- Cinnamon์ Wayland๋ฅผ ์๋ฒฝํ๊ฒ ์ง์ํฉ๋๋ค.
- Chrome์์ ์ฌ์ฉ๋๋ ANGLE ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ AndroidWayland ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- KDE๋ Wayland๋ฅผ ์ฌ์ฉํ ๋ ์ธ์ ๋ณต์ ์ง์๊ณผ ๋ถ๋ถ ์ค์ผ์ผ๋ง์ ์ํ xx-fractional-scale-v2 Wayland ํ๋กํ ์ฝ์ ๊ตฌํํฉ๋๋ค.
- Synaptics X.Org ๋๋ผ์ด๋ฒ์ Wayland ๊ธฐ๋ฐ ํ๊ฒฝ์ฉ ํฌํ ๋ฒ์ ์ด ๊ฐ๋ฐ๋์์ต๋๋ค.
- X11์ Wayland๋ก ๋์ฒดํ๊ธฐ ์ํ VFX ๋ฐ ์ ๋๋ฉ์ด์ ํ๋ซํผ์ ์ค๋น ์ํ ์ ๊ฒ์ด ์์๋์์ต๋๋ค.
- Xfce ํ๋ก์ ํธ์ Xfwl4 ๋ณตํฉ ์๋ฒ ํ ์คํธ๊ฐ ์์๋์์ต๋๋ค.
- Unity์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ Wayfire์ Libadwaita๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๊ตฌ์ถ๋์์ต๋๋ค.
- ์ ๋ฐ์ดํธ๋ ๋ณตํฉ ์๋ฒ ๋ฐ ๋ฐ์คํฌํฑ ํ๊ฒฝ: COSMIC 1.3.0, Weston 16, Phosh 0.56, Nourish 1.0.0, miracle-wm 0.10, KDE Plasma 6.7, labwc 0.20, Sway 1.2, Wayland Maker 0.8, Hyprland 0.55, Niri 26.04, LXQt 2.4.0, Cage 0.3.
์จ์ผ๋๋๋ ํฉ์ฑ ์๋ฒ์ ๊ทธ ์์์ ์คํ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ ์ํธ ์์ฉ์ ์ํ ํ๋กํ ์ฝ์ด๋ผ๋ ์ ์ ๊ธฐ์ตํฉ์๋ค. ํด๋ผ์ด์ธํธ๋ ๋ณ๋์ ๋ฒํผ์ ์ฐฝ์ ๋ ๋๋งํ๊ณ ์ ๋ฐ์ดํธ ์ ๋ณด๋ฅผ ํฉ์ฑ ์๋ฒ๋ก ์ ๋ฌํฉ๋๋ค. ์ฌ๊ธฐ๋ ์ฌ๋์ด ๊ธฐ๋ฅ์ ๊ฐ๋ณ ์ ํ๋ฆฌ์ผ์ด์ ๋ฒํผ์ ๋ด์ฉ์ ๊ฒฐํฉํ์ฌ ์ต์ข ์ถ๋ ฅ์ ์์ฑํ๋ฉฐ, ์ฐฝ ๊ฒน์นจ ๋ฐ ํฌ๋ช ๋์ ๊ฐ์ ๋ฏธ๋ฌํ ์ฐจ์ด๋ฅผ ๊ณ ๋ คํฉ๋๋ค. ์ฆ, ํฉ์ฑ ์๋ฒ๋ ๊ฐ๋ณ ์์๋ฅผ ๋ ๋๋งํ๋ API๋ฅผ ์ ๊ณตํ์ง ์๊ณ ์ฌ์ ๋ ๋๋ง๋ ์ฐฝ์์๋ง ์๋ํ๋ฏ๋ก GTK ๋ฐ Qt์ ๊ฐ์ ๊ณ ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฐฝ ๋ด์ฉ ํฉ์ฑ์ ์ฒ๋ฆฌํ ๋ ์ด์ค ๋ฒํผ๋ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
Wayland๋ X.Org Server์ X11 ๋ณด์ ๋ฌธ์ ๋ฅผ ์๋น ๋ถ๋ถ ํด๊ฒฐํฉ๋๋ค. X.Org Server์ ๋ฌ๋ฆฌ Wayland๋ ๊ฐ ์ฐฝ์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๊ฒฉ๋ฆฌํ๊ณ , ํด๋ผ์ด์ธํธ๊ฐ ๋ค๋ฅธ ํด๋ผ์ด์ธํธ ์ฐฝ์ ๋ด์ฉ์ ์ ๊ทผํ๋ ๊ฒ์ ํ์ฉํ์ง ์์ผ๋ฉฐ, ๋ค๋ฅธ ์ฐฝ๊ณผ ๊ด๋ จ๋ ์ ๋ ฅ ์ด๋ฒคํธ๋ฅผ ๊ฐ๋ก์ฑ๋ ๊ฒ๋ ํ์ฉํ์ง ์์ต๋๋ค. (XLibre XServer๋ ๋ค์์คํ์ด์ค ์์ค์ ๋ถ๋ฆฌ๋ฅผ ํตํด ํด๋ผ์ด์ธํธ ๊ฒฉ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ X11 ํ์ฅ ๊ธฐ๋ฅ์ธ Xnamespace๋ฅผ ๊ตฌํํฉ๋๋ค.) Wayland์์ ์ง์ ์ ์ธ ์ฐ๋์ XLibre์์ ์ฌ์ฉ๋๋ ๋๋ถ๋ถ์ ํ๋ซํผ์์ ์ง์๋ฉ๋๋ค. Linux GTK, Qt, SDL, FLTK, wxWidgets, Clutter, EFL(Enlightenment Foundation Library) ๋ฑ์ ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ.
Wayland/Weston ํ๊ฒฝ์์ ํ๋์จ์ด์์ ์ํธ ์์ฉ, ์๋ฅผ ๋ค์ด ๊ทธ๋ํฝ ์นด๋ ์ด๊ธฐํ, ๋น๋์ค ๋ชจ๋ ์ ํ(DRM ๋ชจ๋ ์ค์ ), ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ(i915์ ๊ฒฝ์ฐ GEM, Radeon ๋ฐ Nouveau์ ๊ฒฝ์ฐ TTM) ๋ฑ์ ์ปค๋ ์์ค ๋ชจ๋์ ํตํด ์ง์ ์ํํ ์ ์์ผ๋ฏ๋ก ๊ด๋ฆฌ์ ๊ถํ์ด ํ์ํ์ง ์์ต๋๋ค. Wayland ๊ธฐ๋ฐ ํ๊ฒฝ์์ ํ์ค X11 ์ ํ๋ฆฌ์ผ์ด์
์ ์คํ์ ๋ณด์ฅํ๊ธฐ ์ํด Win32์ฉ Xwin ๋ฐ Xquartz์ ์ ์ฌํ๊ฒ ์๋ํ๋ XWayland(Device-Dependent X) DDX ๊ตฌ์ฑ ์์๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. macOS.
์ถ์ฒ : opennet.ru
