๊ฐ€์ƒ ํ˜„์‹ค ์‹œ์Šคํ…œ์„ ์œ„ํ•œ Wayland ๊ธฐ๋ฐ˜ ๋ณตํ•ฉ ์„œ๋ฒ„ wxrd ์ถœ์‹œ

Collabora ํšŒ์‚ฌ๋Š” Wayland ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„๋˜๊ณ  XNUMX์ฐจ์› ๊ฐ€์ƒ ํ˜„์‹ค ํ™˜๊ฒฝ ๋‚ด์—์„œ xrdesktop ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์Šคํฌํƒ‘์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ณตํ•ฉ ์„œ๋ฒ„ wxrd๋ฅผ ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์€ Sway ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐœ๋ฐœํ•œ wlroots ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ฐ€์ƒ ํ˜„์‹ค ์‹œ์Šคํ…œ์— ์‚ฌ์šฉํ•˜๋„๋ก ์„ค๊ณ„๋œ wxrc ๋ณตํ•ฉ ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” C๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ MIT ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

์›๋ž˜ xrdesktop์—์„œ ์ œ์•ˆ๋œ ์†”๋ฃจ์…˜๊ณผ ๋‹ฌ๋ฆฌ wxrd๋Š” VR ์‹œ์Šคํ…œ์šฉ ๊ธฐ์กด ์ฐฝ ๊ด€๋ฆฌ์ž ๋ฐ ๋ฐ์Šคํฌํ†ฑ ์…ธ์„ ์กฐ์ •ํ•˜๋Š” ๋Œ€์‹  ๊ฐ€์ƒ ํ˜„์‹ค ํ™˜๊ฒฝ์„ ์œ„ํ•œ ํŠน์ˆ˜ ๋ณตํ•ฉ ์„œ๋ฒ„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค(xrdesktop ํ”„๋กœ์ ํŠธ๋Š” kwin ๋ฐ GNOME Shell์— ๋Œ€ํ•ด ๋ณ„๋„์˜ ํŒจ์น˜๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ ์ด๋Š” ๊ฐ๊ฐ์˜ ์ƒˆ๋กœ์šด ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์กฐ์ •์ด ํ•„์š”ํ•จ) ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋ฆด๋ฆฌ์Šค). wxrd๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ผ๋ฐ˜ ๋ชจ๋‹ˆํ„ฐ์— ํ‘œ์‹œ๋˜๋Š” ๋™์‹œ์— ๊ธฐ์กด XNUMX์ฐจ์› ๋ฐ์Šคํฌํ†ฑ์˜ ๋‚ด์šฉ์„ ๋ฏธ๋Ÿฌ๋งํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ XNUMX์ฐจ์› ๋ฐ์Šคํฌํ†ฑ์šฉ์œผ๋กœ ํŠน๋ณ„ํžˆ ์‹œ์ž‘๋œ ์ฐฝ์„ ๋ณ„๋„๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ฆ‰, Windows์—์„œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์Œ). VR ํ—ฌ๋ฉง์„ ํ˜„์žฌ ์‹œ์Šคํ…œ ํ…Œ์ด๋ธ”์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์Šคํฌํƒ‘์— ์—ฐ๊ฒฐํ•˜์ง€๋งŒ VR ํ—ฌ๋ฉง์„ ์œ„ํ•œ ๋ณ„๋„์˜ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์œ ์‚ฌํ•œ ํ”„๋กœ์ ํŠธ์ธ Simula VR, Stardust, Motorcar ๋ฐ Safespaces์™€ ๋‹ฌ๋ฆฌ wxrd ๋ณตํ•ฉ ์„œ๋ฒ„๋Š” ์ตœ์†Œํ•œ์˜ ์ข…์†์„ฑ ๋ฐ ๋‚ฎ์€ ๋ฆฌ์†Œ์Šค ์†Œ๋น„๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. Wxrd๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Wayland ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ xwayland DDX ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ X11 ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์ƒ ํ‚ค๋ณด๋“œ๋ฅผ ์œ„ํ•œ Wayland ํ”„๋กœํ† ์ฝœ ํ™•์žฅ์ด ๊ฐœ๋ฐœ ์ค‘์ด๋ฏ€๋กœ wxrd์— ๋Œ€ํ•œ ์ž…๋ ฅ์€ xrdesktop์—์„œ ์ œ๊ณต๋˜๋Š” ๊ฐ€์ƒ ํ‚ค๋ณด๋“œ์—์„œ ์ด๋ชจํ‹ฐ์ฝ˜์„ ํฌํ•จํ•œ ๋ชจ๋“  ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๋ฅผ ์ „์†กํ•˜๋Š” ํ‚ค๋ณด๋“œ ์ž…๋ ฅ ์—๋ฎฌ๋ ˆ์ด์…˜ ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. wxrd๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋ฆด๋ฆฌ์Šค 21.1(Ubuntu 21.04์— ํฌํ•จ)๋ถ€ํ„ฐ Mesa์—์„œ ์ง€์›๋˜๋Š” Vulkan ๊ทธ๋ž˜ํ”ฝ API ๋ฐ VK_EXT_image_drm_format_modifier ํ™•์žฅ์„ ์ง€์›ํ•˜๋Š” ๋น„๋””์˜ค ์นด๋“œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ Œ๋”๋ง์„ ์œ„ํ•ด Vulkan API๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Mesa 21.2(Ubuntu 21.10)์— ๋„์ž…๋œ VK_EXT_physical_device_drmm ํ™•์žฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด ๋ฐ์Šคํฌํƒ‘์„ ํ‘œ์‹œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” XNUMXD ์ฐฝ ๊ด€๋ฆฌ์ž์™€ ํ†ตํ•ฉํ•˜๋Š” ๋Œ€์‹  ๊ฐ€์ƒ ํ˜„์‹ค ์‹œ์Šคํ…œ์„ ์œ„ํ•ด ๋ณ„๋„์˜ ๋ณตํ•ฉ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์˜ ์žฅ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Wayland ๋˜๋Š” X11 ๊ธฐ๋ฐ˜ ์„ธ์…˜์—์„œ ์‹คํ–‰๋  ๋•Œ wlroots ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ‚ค๋ณด๋“œ ์ž…๋ ฅ ๋ฐ ๋งˆ์šฐ์Šค ์ด๋ฒคํŠธ๋ฅผ ์‰ฝ๊ฒŒ ์บก์ฒ˜ํ•˜๊ณ  ํ•ด๋‹น ์ž…๋ ฅ์„ ๊ฐ€์ƒ ํ˜„์‹ค ํ™˜๊ฒฝ์˜ ํŠน์ • ์ฐฝ์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ฐฝ์„ ์—ฝ๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” ์ด ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•ด VR ์ปจํŠธ๋กค๋Ÿฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ผ๋ฐ˜ ํ‚ค๋ณด๋“œ์™€ ๋งˆ์šฐ์Šค๋ฅผ ํ†ตํ•œ ์ž…๋ ฅ๋„ ์ •๋ฆฌํ•  ๊ณ„ํš์ด๋‹ค.
  • Windows๋Š” XNUMXD ๋ฐ์Šคํฌํƒ‘ ํ”„๋ ˆ์ž„์— ์˜ํ•ด ์ œํ•œ๋˜์ง€ ์•Š์œผ๋ฉฐ ํ•˜๋“œ์›จ์–ด์—์„œ ์ง€์›ํ•˜๋Š” ์ตœ๋Œ€ ํ…์Šค์ฒ˜ ํฌ๊ธฐ์— ์˜ํ•ด์„œ๋งŒ ์ œํ•œ๋˜๋Š” ์ž„์˜์˜ ํฌ๊ธฐ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • wxrd์˜ ์ฐฝ ๋ Œ๋”๋ง์€ ๊ธฐ๋ณธ 3D HMD(ํ—ค๋“œ ๋งˆ์šดํŠธ ๋””์Šคํ”Œ๋ ˆ์ด) ์ด๋ฏธ์ง€ ์ƒˆ๋กœ ๊ณ ์นจ ๋นˆ๋„๋กœ ์ˆ˜ํ–‰๋˜๋Š” ๋ฐ˜๋ฉด, ๊ธฐ์กด ์ฐฝ ๊ด€๋ฆฌ์ž์—์„œ ์ฐฝ์„ ๋ฏธ๋Ÿฌ๋งํ•˜๋Š” ๊ฒฝ์šฐ ๊ณ ์ • ๋ชจ๋‹ˆํ„ฐ์˜ ์ •๋ณด๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋นˆ๋„๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ๊ณ ์ • ๋ชจ๋‹ˆํ„ฐ์˜ ํ”ฝ์…€ ๋ฐ€๋„๋ฅผ ์ฐธ์กฐํ•˜์ง€ ์•Š๊ณ  3D ํ—ฌ๋ฉง์˜ ํ”ฝ์…€ ๋ฐ€๋„๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๊ธ€๊ผด์„ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • 3D ํ—ค๋“œ์…‹๋งŒ ์žˆ๊ณ  ์ผ๋ฐ˜ ๋ชจ๋‹ˆํ„ฐ๊ฐ€ ์—†๋Š” ์‹œ์Šคํ…œ์—์„œ๋Š” wxrd๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

VR์šฉ ๋ณ„๋„ ๋ณตํ•ฉ ์„œ๋ฒ„์˜ ๋‹จ์ :

  • VR ํ™˜๊ฒฝ์—์„œ๋Š” ๊ธฐ์กด ๋ฐ์Šคํฌํƒ‘์— ์ด๋ฏธ ์—ด๋ ค ์žˆ๋Š” ์ฐฝ์„ VR ํ™˜๊ฒฝ์œผ๋กœ ์ „์†กํ•˜๊ฑฐ๋‚˜ ๋ฏธ๋Ÿฌ๋งํ•˜๋Š” ๊ธฐ๋Šฅ ์—†์ด ๋ณ„๋„์˜ ๋ณตํ•ฉ ์„œ๋ฒ„์šฉ์œผ๋กœ ํŠน๋ณ„ํžˆ ์‹œ์ž‘๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค(์ฆ‰, ์ผ๋ฐ˜ ํ™”๋ฉด์— ์—ด๋ ค ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๊ณ„์† ์ž‘์—…ํ•˜๋ ค๋ฉด 3D ํ—ฌ๋ฉง์— ๋Œ€ํ•ด์„œ๋Š” ๋ณ„๋„์˜ ํ™˜๊ฒฝ์—์„œ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค).
  • Vulkan API ๊ตฌํ˜„์—์„œ๋Š” Wayland ์ง€์›์ด ์ œํ•œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, gbm ๋ฐ wlroots๋Š” VK_EXT_drm_format_modifier ํ™•์žฅ์— ๋Œ€ํ•œ ์ง€์›์ด ๋ถ€์กฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋…์  NVIDIA ๋“œ๋ผ์ด๋ฒ„์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.



์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€