๊ธฐ๋ณธ Wayland ํ๋กํ ์ฝ์ ๊ธฐ๋ฅ์ ๋ณด์ํ๊ณ ๋ณตํฉ ์๋ฒ ๋ฐ ์ฌ์ฉ์ ํ๊ฒฝ ๊ตฌ์ถ์ ํ์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ผ๋ จ์ ํ๋กํ ์ฝ ๋ฐ ํ์ฅ ๊ธฐ๋ฅ์ ํฌํจํ๋ wayland-protocols 1.21 ํจํค์ง์ ๋ฆด๋ฆฌ์ค๊ฐ ๊ฒ์๋์์ต๋๋ค.
๋ฆด๋ฆฌ์ค 1.21๋ถํฐ ํ๋ก๋์ ํ๊ฒฝ์์ ํ ์คํธ๋ ํ๋กํ ์ฝ์ ์์ ํ ํ๋ก์ธ์ค๋ฅผ ์ํํ๊ฒ ํ๊ธฐ ์ํด "๋ถ์์ ํ" ํ๋กํ ์ฝ ๊ฐ๋ฐ ๋จ๊ณ๊ฐ "์คํ ์ด์ง"์ผ๋ก ๋์ฒด๋์์ต๋๋ค. ๋ชจ๋ ํ๋กํ ์ฝ์ ๊ฐ๋ฐ, ํ ์คํธ, ์์ ํ์ ์ธ ๋จ๊ณ๋ฅผ ์์ฐจ์ ์ผ๋ก ๊ฑฐ์นฉ๋๋ค. ๊ฐ๋ฐ ๋จ๊ณ๋ฅผ ์๋ฃํ ํ ํ๋กํ ์ฝ์ "staging" ๋ถ๊ธฐ์ ๋ฐฐ์น๋๊ณ wayland-protocols ์ธํธ์ ํฌํจ๋๋ฉฐ, ํ ์คํธ๊ฐ ์๋ฃ๋ ํ์๋ stable ์นดํ ๊ณ ๋ฆฌ๋ก ์ด๋๋ฉ๋๋ค. "์คํ ์ด์ง" ๋ฒ์ฃผ์ ํ๋กํ ์ฝ์ ๊ด๋ จ ๊ธฐ๋ฅ์ด ํ์ํ ๋ณตํฉ ์๋ฒ ๋ฐ ํด๋ผ์ด์ธํธ์์ ์ด๋ฏธ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. "์คํ ์ด์ง" ๋ฒ์ฃผ์์๋ ํธํ์ฑ์ ์๋ฐํ๋ ๋ณ๊ฒฝ์ด ๊ธ์ง๋์ง๋ง, ํ ์คํธ ์ค์ ๋ฌธ์ ์ ๋จ์ ์ด ํ์ธ๋๋ฉด ํ๋กํ ์ฝ์ ์๋ก์ด ์ค์ํ ๋ฒ์ ์ผ๋ก์ ๊ต์ฒด ๋๋ ๋ค๋ฅธ Wayland ํ์ฅ์ด ๋ฐฐ์ ๋์ง ์์ต๋๋ค.
์ ๋ฒ์ ์๋ autotools ๋์ Meson ๋น๋ ์์คํ ์ ์ฌ์ฉํ์ฌ ์ค์นํ๋ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์์ผ๋ก๋ autotool ์ง์์ ์์ ํ ์ค๋จํ ๊ณํ์ด ์์ต๋๋ค. ์๋ก์ด xdg-activation ํ๋กํ ์ฝ์ด ์คํ ์ด์ง ์นดํ ๊ณ ๋ฆฌ์ ์ถ๊ฐ๋์ด ์๋ก ๋ค๋ฅธ ์ฒซ ๋ฒ์งธ ๋ ๋ฒจ ํ๋ฉด ๊ฐ์ ์ด์ ์ ์ด๋ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, xdg-activation์ ์ฌ์ฉํ๋ฉด ํ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์คํ๊ธฐ ์ธํฐํ์ด์ค๊ฐ ๋ค๋ฅธ ์ธํฐํ์ด์ค์ ์ด์ ์ ์ฃผ๊ฑฐ๋ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์ด์ ์ ์ ํํ ์ ์์ต๋๋ค. xdg-activation ์ง์์ ์ด๋ฏธ Qt, GTK, wlroots, Mutter ๋ฐ KWin์ ๋ํด ๊ตฌํ๋์์ต๋๋ค.
Wayland-protocols์๋ ํ์ฌ ์ด์ ๋ฒ์ ๊ณผ ํธํ๋๋ ๋ค์๊ณผ ๊ฐ์ ์์ ์ ์ธ ํ๋กํ ์ฝ์ด ํฌํจ๋์ด ์์ต๋๋ค.
- "viewporter" - ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ ์ธก์ ํ๋ฉด ๊ฐ์ฅ์๋ฆฌ์์ ํฌ๊ธฐ ์กฐ์ ๋ฐ ์๋ฅด๊ธฐ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
- "ํ๋ ์ ํ ์ด์ ์๊ฐ" - ๋น๋์ค ํ์๋ฅผ ์ ๊ณตํฉ๋๋ค.
- "xdg-shell"์ ์ฐฝ๊ณผ ๊ฐ์ ํ๋ฉด์ ๋ง๋ค๊ณ ์ํธ ์์ฉํ๊ธฐ ์ํ ์ธํฐํ์ด์ค๋ก, ํ๋ฉด์์ ์ด๋, ์ต์ํ, ์ต๋ํ, ํฌ๊ธฐ ์กฐ์ ๋ฑ์ด ๊ฐ๋ฅํฉ๋๋ค.
"staging" ๋ธ๋์น์์ ํ ์คํธ๋ ํ๋กํ ์ฝ:
- "fullscreen-shell" - ์ ์ฒด ํ๋ฉด ๋ชจ๋์์ ์์ ์ ์ด
- "์ ๋ ฅ ๋ฐฉ๋ฒ" - ์ ๋ ฅ ๋ฐฉ๋ฒ ์ฒ๋ฆฌ
- "idle-inhibit" - ํ๋ฉด ๋ณดํธ๊ธฐ(ํ๋ฉด ๋ณดํธ๊ธฐ) ์คํ์ ์ฐจ๋จํฉ๋๋ค.
- "input-timestamps" โ ์ ๋ ฅ ์ด๋ฒคํธ์ ํ์์คํฌํ์ ๋๋ค.
- "linux-dmabuf" - DMABuff ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ๋น๋์ค ์นด๋๋ฅผ ๊ณต์ ํฉ๋๋ค.
- "text-input" โ ํ ์คํธ ์ ๋ ฅ ๊ตฌ์ฑ
- "ํฌ์ธํฐ ์ ์ค์ฒ" - ํฐ์น ์คํฌ๋ฆฐ์ ํตํ ์ ์ด
- "์๋ ํฌ์ธํฐ ์ด๋ฒคํธ" - ์๋ ํฌ์ธํฐ ์ด๋ฒคํธ;
- "ํฌ์ธํฐ ์ ์ฝ ์กฐ๊ฑด" - ํฌ์ธํฐ ์ ์ฝ ์กฐ๊ฑด(๋ธ๋กํน);
- "ํ๋ธ๋ฆฟ" - ํ๋ธ๋ฆฟ์์ ์ ๋ ฅ์ ์ง์ํฉ๋๋ค.
- "xdg-foreign" - "์ด์" ํด๋ผ์ด์ธํธ์ ํ๋ฉด๊ณผ ์ํธ ์์ฉํ๊ธฐ ์ํ ์ธํฐํ์ด์ค์ ๋๋ค.
- "xdg-์ฅ์" - ์๋ฒ์ธก์์ ์ฐฝ ์ฅ์์ ๋ ๋๋งํฉ๋๋ค.
- "xdg-output" โ ๋น๋์ค ์ถ๋ ฅ์ ๋ํ ์ถ๊ฐ ์ ๋ณด(๋ถ์ ์ค์ผ์ผ๋ง์ ์ฌ์ฉ๋จ)
- "xwayland-keyboard-grab" - XWayland ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ ๋ ฅ์ ์บก์ฒํฉ๋๋ค.
- ๊ธฐ๋ณธ ์ ํ - X11๊ณผ ์ ์ฌํ๊ฒ ๊ธฐ๋ณธ ํด๋ฆฝ๋ณด๋(๊ธฐ๋ณธ ์ ํ)์ ์๋์ ๋ณด์ฅํ๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ๋ง์ฐ์ค ๊ฐ์ด๋ฐ ๋ฒํผ์ผ๋ก ์ ๋ณด๊ฐ ์ฝ์ ๋ฉ๋๋ค.
- linux-explicit-synchronization์ ํ๋ฉด ๋ฐ์ธ๋ฉ๋ ๋ฒํผ๋ฅผ ๋๊ธฐํํ๊ธฐ ์ํ Linux ์ ์ฉ ๋ฉ์ปค๋์ฆ์ ๋๋ค.
- xdg-activation - ์๋ก ๋ค๋ฅธ ์ฒซ ๋ฒ์งธ ์์ค ํ๋ฉด ๊ฐ์ ํฌ์ปค์ค๋ฅผ ์ ์กํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด xdg-activation์ ์ฌ์ฉํ๋ฉด ํ ์์ฉ ํ๋ก๊ทธ๋จ์์ ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก ํฌ์ปค์ค๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru