Rust๋ก ์ฒ์๋ถํฐ ์๋ก ์์ฑ๋์์ผ๋ฉฐ ์ต์ X11 ํ๋กํ ์ฝ ํ์ฅ ๊ธฐ๋ฅ์ ์ง์ํ๋ X11 ์๋ฒ yserver 1.5.0์ด ์ถ์๋์์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ Xorg ์๋ฒ์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฌํํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ์ง ์์ผ๋ฉฐ, ์ต์ ๋ฐ์คํฌํฑ ํ๊ฒฝ, ์๋์ฐ ๊ด๋ฆฌ์, ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(GTK, Qt, SDL, GLFW)๋ฅผ ์คํํ๋ ๋ฐ ํ์ํ ๊ธฐ๋ฅ์๋ง ์ด์ ์ ๋ง์ถ๊ณ ์์ต๋๋ค. ํ ์คํธ ํ๊ฒฝ์ผ๋ก๋ MATE, Xfce, Cinnamon, Sonic, Enlightenment์ ๊ฐ์ ๋ฐ์คํฌํฑ ํ๊ฒฝ๊ณผ icewm, FVWM3, openbox, i3, wmaker์ ๊ฐ์ ์๋์ฐ ๊ด๋ฆฌ์๊ฐ ํฌํจ๋ฉ๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ MIT ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
yserver๋ ํ๋์ ํ๋ฉด์์ ์ฌ๋ฌ ๊ฐ์ X11 ํ๋ฉด์ ์ฒ๋ฆฌํ๋ ๊ฒ๊ณผ ๊ฐ์ ๊ธฐ์กด ๋ฐ ํน์ ๊ธฐ๋ฅ์ ์ง์ํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ฌ๊ธฐ๋ ์ฌ๋ (๋ค์ค ๋ชจ๋ํฐ ์ถ๋ ฅ ์ง์), TrueColor ์ด์ธ์ ์์ ๋ชจ๋, ๊ฐ์ ๋ ๋๋ง(๊ฐ์ GLX), DDX ๋๋ผ์ด๋ฒ API, ๋ ๊ฑฐ์ ๊ธ๊ผด ์ฒ๋ฆฌ, ๋ฐ์ดํธ ์์๊ฐ ๋ค๋ฅธ ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ(๋น ์๋์์์ ๋ฆฌํ ์๋์์ผ๋ก์ ๋ณํ) ๋ฑ์ด ํฌํจ๋ฉ๋๋ค.
๊ทธ๋ํฝ ์ถ๋ ฅ์ DRM/KMS ๋ฐ Mesa Vulkan ๋๋ผ์ด๋ฒ๋ฅผ ํตํด ์ ๊ณต๋ฉ๋๋ค. libseat ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ธ์ ๊ด๋ฆฌ ๋ฐ ๊ณต์ ์ ๋ ฅ/์ถ๋ ฅ ์ฅ์น ์ ๊ทผ์ ์ฌ์ฉ๋ฉ๋๋ค. ์ ์ฉ X ์๋ฒ ์ธ์๋ Xwayland ๋๋ ๊ธฐํ X11 ์๋ฒ์์ ์คํ์ ์ง์ํ๋ ์ค์ฒฉ ์คํ ๋ฐฑ์๋์ธ ynest๊ฐ ์ ๊ณต๋ฉ๋๋ค.์๋ฒ.
๋ณธ ์ฐ๊ตฌ๋ AMD Ryzen 9 6900HX (Rembrandt, RDNA2, RADV mesa ๋๋ผ์ด๋ฒ), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, ANV mesa ๋๋ผ์ด๋ฒ), NVIDIA GTX 1050, Snapdragon X1 X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP ๋ฑ์ GPU๋ฅผ ํ์ฌํ ์์คํ ๊ณผ virtio-gpu ๋ฐ virtual GPU Venus๋ฅผ ์ฌ์ฉํ ๊ฐ์ํ ์์คํ ์์ ํ ์คํธ๋์์ต๋๋ค. ๋ณธ ์ฐ๊ตฌ๋ ๋ค์ ๊ธฐ๊ด์ ์ง์์ ๋ฐ์์ต๋๋ค. Linux ๊ทธ๋ฆฌ๊ณ FreeBSD.
์ ๋ฒ์ ์์:
- ์ธ๋ถ ๋ชจ๋ํฐ๊ฐ ์ธ์ฅ ๊ทธ๋ํฝ ์นด๋ ํฌํธ์ ์ฐ๊ฒฐ๋ ๊ฒฝ์ฐ ๋ด์ฅ GPU๋ฅผ ๋ ๋๋ง์ ์ฌ์ฉํ๊ณ ์ธ์ฅ ๊ทธ๋ํฝ ์นด๋ GPU๋ฅผ ๋์คํ๋ ์ด์ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ์ญ PRIME ๋ฉ์ปค๋์ฆ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- GLX_OML_sync_control ํ์ฅ ๊ธฐ๋ฅ์ ํตํด ํ๋ฉด ์๋ก ๊ณ ์นจ๋ฅ ๋ฐ์ดํฐ๋ฅผ Mesa์ ์ ๋ฌํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- ์์ง ๋๊ธฐํ๊ฐ ๋นํ์ฑํ๋(vsync-off) ํด๋ผ์ด์ธํธ์ ์ง์ฐ ์๊ฐ์ ์ค์ด๊ธฐ ์ํ ์ต์ ํ๋ฅผ ๊ตฌํํ์ต๋๋ค.
- ๋น๋์ค ๋๋ผ์ด๋ฒ์์ GLX ๋ฒค๋ ์ด๋ฆ์ ์ถ์ถํ์ฌ ์ ์ ํ GLX ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(์: Mesa ๋๋ NVIDIA)๋ฅผ ์ ํํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
- DRI3 1.4 ๋๊ธฐํ ๊ฐ์ฒด ์ง์์ DRM(Direct Rendering Manager) ์ฝ์ด ์๋ธ์์คํ ์ drm_syncob ํ๋ฆฌ๋ฏธํฐ๋ธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ๋์์ต๋๋ค.
- ํ๋ฉด ๋ณ๊ฒฝ ์ถ์ ์๊ณ ๋ฆฌ์ฆ์ ์ถ๊ฐํ์ฌ ์ ์ฒด ์ฝํ ์ธ ๊ฐ ์๋ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ๋ค์ ๊ทธ๋ฆฌ๋๋ก ์ง์ํ๋ฉฐ, ์ด๋ ํฉ์ฑ ์ด๋ฏธ์ง์ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฒ Wayland๋ wlroots ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
- X11 ์๋ฒ ์ธก์์ ์ฐฝํ์ ๊ทธ๋ฆด ์ ์๋ ๊ธฐ๋ฅ์ด ์ ๊ณต๋ฉ๋๋ค.
- x86_64 ์ํคํ ์ฒ ์ธ์๋ Aarch64 ์ํคํ ์ฒ์ฉ ํจํค์ง ์ด์ ๋ธ๋ฆฌ๋ฅผ ๊ตฌํํ์ต๋๋ค.
์ถ์ฒ : opennet.ru
