12.0๊ฐ์์ ๊ฐ๋ฐ ๋์ Weston XNUMX ๋ณตํฉ ์๋ฒ์ ์์ ์ ์ธ ๋ฆด๋ฆฌ์ค๊ฐ ๊ฒ์๋์ด Enlightenment, GNOME, KDE ๋ฐ ๊ธฐํ ์ฌ์ฉ์ ํ๊ฒฝ์์ Wayland ํ๋กํ ์ฝ์ ์๋ฒฝํ๊ฒ ์ง์ํ๋ ๋ฐ ๊ธฐ์ฌํ๋ ๊ธฐ์ ์ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. Weston์ ๋ชฉํ๋ ์๋์ฐจ ์ธํฌํ ์ธ๋จผํธ ์์คํ , ์ค๋งํธํฐ, TV ๋ฐ ๊ธฐํ ์๋น์ ์ฅ์น์ฉ ํ๋ซํผ๊ณผ ๊ฐ์ ์๋ฒ ๋๋ ์๋ฃจ์ ๊ณผ ๋ฐ์คํฌํฑ ํ๊ฒฝ์์ Wayland๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ๊ณ ํ์ง ์ฝ๋ ๊ธฐ๋ฐ๊ณผ ์์ ์์ ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ MIT ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
Weston์ ์ฃผ์ ๋ฒ์ ๋ฒํธ ๋ณ๊ฒฝ์ ํธํ์ฑ์ ๊นจ๋ ABI ๋ณ๊ฒฝ์ผ๋ก ์ธํ ๊ฒ์ ๋๋ค. ์๋ก์ด Weston ์ง์ ์ ๋ณ๊ฒฝ ์ฌํญ:
- backend-rpd์ ์ ์ฌํ ๊ธฐ๋ฅ์ ์ํํ๋ backed-vnc ๋ฐ์คํฌํฑ์ ๋ํ ์๊ฒฉ ์ก์ธ์ค๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํ ๋ฐฑ์๋๋ฅผ ์ถ๊ฐํ์ต๋๋ค. VNC ํ๋กํ ์ฝ์ aml ๋ฐneatvnc๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ๋ฉ๋๋ค. ์ฌ์ฉ์ ์ธ์ฆ ๋ฐ ๋งํฌ ์ํธํ(TLS)๊ฐ ์ง์๋ฉ๋๋ค.
- PipeWire ๋ฉํฐ๋ฏธ๋์ด ์๋ฒ ์์ ์ ์ํ ๋ฐฑ์๋๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- DRM(Direct Rendering Manager) ๋ฐฑ์๋ ๋ณ๊ฒฝ ์ฌํญ:
- ๋ค์ค GPU ๊ตฌ์ฑ์ ๋ํ ์ง์์ ๊ตฌํํ์ต๋๋ค. ์ถ๊ฐ GPU๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด "-additional-devices list_of_output_devices" ์ต์ ์ด ์ ์๋ฉ๋๋ค.
- ์ถ๋ ฅ(์ฐข์ด์ง) ์ค์ ์ฐข์ด์ง์ ๋ฐฉ์งํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์์ง ๋ธ๋ญํน ํ์ค๋ก ์์ง ๋๊ธฐ(VSync)๋ฅผ ๋นํ์ฑํํ๊ธฐ ์ํด ์ฐข์ด์ง ์ ์ด ํ๋กํ ์ฝ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ๊ฒ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ VSync๋ฅผ ๋นํ์ฑํํ๋ฉด ์ํฐํฉํธ๊ฐ ์ฐข์ด์ง๋ ๋์ ๋์คํ๋ ์ด ๋๊ธฐ ์๊ฐ์ ์ค์ผ ์ ์์ต๋๋ค.
- HDMI ์ฝํ ์ธ ์ ํ(๊ทธ๋ํฝ, ์ฌ์ง, ๋์์ ๋ฐ ๊ฒ์)์ ์ ์ํ๊ธฐ ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๊ฐ๋ฅํ ๊ฒฝ์ฐ ํ๋ฉด ํ์ ์์ฑ์ ์ถ๊ฐํ๊ณ ํ์ฑํํ์ต๋๋ค.
- ์คํฌ๋ฆฐ์ท์ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ ์ง์ฐ๋ ์ปค๋ฅํฐ(์ฐ๊ธฐ ์ ์ฅ ์ปค๋ฅํฐ)์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ํ๋ฉด์ ํฌ๋ช ๋ ์์ค์ ์ ์ํ๋ ์์ฑ์ ์ถ๊ฐํ์ต๋๋ค.
- libdisplay-info ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ EDID ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- Backend-wayland๋ xdg-shell ํ์ฅ์ ์ฌ์ฉํ์ฌ ํฌ๊ธฐ ์กฐ์ ์์ ์ ๊ตฌํํฉ๋๋ค.
- backend-rdp ์๊ฒฉ ์ก์ธ์ค ๋ฐฑ์๋์์ ๋ค์ค ํค๋ ์์คํ ์ ๋ํ ์๋น ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋์คํ๋ ์ด๊ฐ ์๋ ์์คํ ์์ ์๋ํ๋๋ก ์ค๊ณ๋ ๋ฐฑ์๋ ํค๋๋ฆฌ์ค ๋ฐฑ์๋๋ color-lcms ํ๋ฌ๊ทธ์ธ์ ํ ์คํธํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ถ๋ ฅ ๋ฐ์ฝ๋ ์ด์ ์ ๋ํ ์ง์์ ์ถ๊ฐํ์ต๋๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก launcher-logind ๊ตฌ์ฑ ์์๋ฅผ ๋ ์ด์ ์ฌ์ฉํ์ง ์๊ณ ๋นํ์ฑํํฉ๋๋ค. ๋์ logind๋ ์ง์ํ๋ launcher-libseat๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- libweston/desktop(libweston-desktop)์ ์ถ๋ ฅ ๋ฒํผ๊ฐ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ๋๊ธฐ ์ ๋จ๊ณ์์ ์ ์ฉ๋๋ ๋๊ธฐ ์ํ์ ๋ํ ์ง์์ ๊ตฌํํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ ์ฒด ํ๋ฉด ๋ชจ๋์์ ์ฒ์๋ถํฐ ํด๋ผ์ด์ธํธ๋ฅผ ์์ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์คํฌ๋ฆฐ์ท์ ์ฐ๊ณ ์ด์ weston-screenshooter ํ๋กํ ์ฝ์ ๋ณด๋ค ๊ธฐ๋ฅ์ ์ผ๋ก ๋์ฒดํ๋๋ก ์ค๊ณ๋ weston-output-capture ํ๋กํ ์ฝ์ด ๊ตฌํ๋์์ต๋๋ค.
- ํน์ wl_surface ํ๋ฉด์ ๋ํ xwayland_surface_v1 ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ xwayland_shell_v1 ํ๋กํ ์ฝ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- libweston ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ PAM์ ํตํ ์ฌ์ฉ์ ์ธ์ฆ ์ง์์ ๊ตฌํํ๊ณ wl_output API ๋ฒ์ 4์ ๋ํ ์ง์์ ์ถ๊ฐํฉ๋๋ค.
- ๊ฐ์ํ๋ ๋ฐฑ์๋, ์ ธ ๋ฐ ๋ ๋๋ฌ ์ ํ ๋ชจ๋๊ฐ ์ปดํฌ์งํฐ ํ๋ก์ธ์ค์ ์ถ๊ฐ๋์ด "--backend=headless", "--shell=foo" ๋ฐ "--renderer=gl|pixman" ๊ตฌ๋ฌธ์ "--backend=headless-backend.so", "--shell=foo-shell.so" ๋ฐ "--renderer=gl-renderer.so" ๋์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- simple-egl ํด๋ผ์ด์ธํธ๋ ์ ์๊ฐ ์๋ ๋ฐฐ์จ ๊ฐ์ ์ฌ์ฉํ ์ ์๋ fractional-scale ํ๋กํ ์ฝ์ ๋ํ ์ง์์ ์ถ๊ฐํ์ผ๋ฉฐ ์์ง ํจ๋ ๋ ๋๋ง ๋ชจ๋๊ฐ ๊ตฌํ๋์์ต๋๋ค.
- ์๋์ฐจ ์ธํฌํ ์ธ๋จผํธ ์์คํ ์ฉ ivi-shell ์ ธ์ ๋ฐ์คํฌํ ์ ธ ๋ฐ ํค์ค์คํฌ ์ ธ ์ ธ์ ์ ๋ ฅ ํ์ฑํ์ ์ ์ฌํ๊ฒ xdg-์ ธ ํ๋ฉด์ ๋ํ ํค๋ณด๋ ํฌ์ปค์ค ํ์ฑํ๋ฅผ ๊ตฌํํฉ๋๋ค.
- libweston-desktop ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ libweston ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํตํฉ๋์ด ์์ฉ ํ๋ก๊ทธ๋จ์ libweston์ ์ฐ๊ฒฐํ๋ฉด ์ด์ ์ libweston-desktop์์ ์ ๊ณตํ๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru