Wayland ๊ธฐ๋ฐ˜์˜ ๋ณตํ•ฉ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Louvre 1.0์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Cuarzo OS ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์ž๋Š” Wayland ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋ณตํ•ฉ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ œ๊ณตํ•˜๋Š” Louvre ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค๋ฅผ ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” C++๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ GPLv3 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ทธ๋ž˜ํ”ฝ ๋ฒ„ํผ ๊ด€๋ฆฌ, Linux์˜ ์ž…๋ ฅ ํ•˜์œ„ ์‹œ์Šคํ…œ ๋ฐ ๊ทธ๋ž˜ํ”ฝ API์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ํฌํ•จํ•œ ๋ชจ๋“  ํ•˜์œ„ ์ˆ˜์ค€ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋ฉฐ Wayland ํ”„๋กœํ† ์ฝœ์˜ ๋‹ค์–‘ํ•œ ํ™•์žฅ์— ๋Œ€ํ•œ ๊ธฐ์„ฑ ๊ตฌํ˜„๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์„ฑ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์žˆ์œผ๋ฉด ํ‘œ์ค€ ํ•˜์œ„ ์ˆ˜์ค€ ์š”์†Œ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์ˆ˜๊ฐœ์›”์„ ์†Œ๋น„ํ•˜์ง€ ์•Š๊ณ  ํ•„์š”์— ๋งž๊ฒŒ ์กฐ์ •ํ•˜๊ณ  ํ•„์š”ํ•œ ์‚ฌํ•ญ์„ ๋ณด์™„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์„ฑ ๋ฐ ์ž‘๋™ ๋ณตํ•ฉ ์„œ๋ฒ„ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ฆ‰์‹œ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™•์žฅ๋œ ๊ธฐ๋Šฅ. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๊ฐœ๋ฐœ์ž๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•˜์—ฌ ํ”„๋กœํ† ์ฝœ, ์ž…๋ ฅ ์ด๋ฒคํŠธ ๋ฐ ๋ Œ๋”๋ง ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์— ๋”ฐ๋ฅด๋ฉด ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ฒฝ์Ÿ ์†”๋ฃจ์…˜์— ๋น„ํ•ด ์„ฑ๋Šฅ์ด ๋ˆˆ์— ๋„๊ฒŒ ์šฐ์ˆ˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Weston ๋ฐ Sway์™€ ๋น„๊ตํ•˜์—ฌ Weston ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ๋Šฅ์„ ์žฌํ˜„ํ•˜๋Š” Louvre๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑ๋œ ๋ณตํ•ฉ ์„œ๋ฒ„ louvre-weston-clone์˜ ์˜ˆ๋Š” ํ…Œ์ŠคํŠธ์—์„œ CPU ๋ฐ GPU ๋ฆฌ์†Œ์Šค๋ฅผ ๋œ ์†Œ๋น„ํ•˜๋ฉฐ ๋‹ค์Œ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋„ ์ง€์†์ ์œผ๋กœ ๋†’์€ FPS๋ฅผ ๋‹ฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Wayland ๊ธฐ๋ฐ˜์˜ ๋ณตํ•ฉ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Louvre 1.0์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฃจ๋ธŒ๋ฅด ๋ฐ•๋ฌผ๊ด€์˜ ์ฃผ์š” ํŠน์ง•:

  • ๋‹ค์ค‘ GPU ๊ตฌ์„ฑ(Multi-GPU)์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์ค‘ ์‚ฌ์šฉ์ž ์„ธ์…˜(๋‹ค์ค‘ ์„ธ์…˜, TTY ์ „ํ™˜)์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • 2D ๋ Œ๋”๋ง(LPainter), Scene ๋ฐ View ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•์„ ์ง€์›ํ•˜๋Š” ๋ Œ๋”๋ง ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.
  • ์ž์‹ ๋งŒ์˜ ์…ฐ์ด๋”์™€ OpenGL ES 2.0 ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ.
  • ํ•„์š”์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ๋‹ค์‹œ ๊ทธ๋ ค์ง‘๋‹ˆ๋‹ค(์˜์—ญ ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ์—๋งŒ).
  • ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ์ž‘์—…์œผ๋กœ ๋ณต์žกํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ v-sync๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ๋†’์€ FPS๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋‹จ์ผ ์Šค๋ ˆ๋“œ ๊ตฌํ˜„์—์„œ๋Š” ํ”„๋ ˆ์ž„ ๋ธ”๋žญํ‚น ํŽ„์Šค์™€์˜ ๋™๊ธฐํ™”๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ง€์—ฐ์œผ๋กœ ์ธํ•ด ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ํ”„๋ ˆ์ž„์ด ๋ˆ„๋ฝ๋˜์–ด ๋†’์€ FPS๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ) (v๊ณต๋ฐฑ).
  • ๋‹จ์ผ, ์ด์ค‘ ๋ฐ ์‚ผ์ค‘ ๋ฒ„ํผ๋ง์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์šฉ ํด๋ฆฝ๋ณด๋“œ ๊ตฌํ˜„.
  • Wayland ๋ฐ ํ™•์žฅ ์ง€์›:
    • XDG Shell์€ ํ‘œ๋ฉด์„ ์ฐฝ์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋กœ, ํ™”๋ฉด ์ฃผ์œ„๋กœ ํ‘œ๋ฉด์„ ์ด๋™ํ•˜๊ณ  ์ตœ์†Œํ™”, ํ™•์žฅ, ํฌ๊ธฐ ์กฐ์ • ๋“ฑ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • XDG ์žฅ์‹ - ์„œ๋ฒ„ ์ธก์—์„œ ์ฐฝ ์žฅ์‹์„ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค.
    • ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ์‹œ๊ฐ„ - ๋น„๋””์˜ค ๋””์Šคํ”Œ๋ ˆ์ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • Linux DMA-Buf - dma-buf ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋น„๋””์˜ค ์นด๋“œ๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.
  • Intel(i915), AMD(amdgpu) ๋ฐ NVIDIA ๋“œ๋ผ์ด๋ฒ„(์ „์šฉ ๋“œ๋ผ์ด๋ฒ„ ๋˜๋Š” nouveau) ๊ธฐ๋ฐ˜ ํ™˜๊ฒฝ์—์„œ์˜ ์ž‘์—…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ์•„์ง ๊ตฌํ˜„๋˜์ง€ ์•Š์€ ๊ธฐ๋Šฅ(๊ณ„ํš ๋ชฉ๋ก):
    • ํ„ฐ์น˜ ์ด๋ฒคํŠธ - ํ„ฐ์น˜ ์Šคํฌ๋ฆฐ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
    • ํฌ์ธํ„ฐ ์ œ์Šค์ฒ˜ - ํ„ฐ์น˜ ์Šคํฌ๋ฆฐ ์ปจํŠธ๋กค.
    • ๋ทฐํฌํ„ฐ - ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ‘œ๋ฉด ๊ฐ€์žฅ์ž๋ฆฌ์˜ ์„œ๋ฒ„์ธก ํฌ๊ธฐ ์กฐ์ • ๋ฐ ํŠธ๋ฆฌ๋ฐ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • LView ๊ฐ์ฒด ๋ณ€ํ™˜.
    • XWayland - X11 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

Wayland ๊ธฐ๋ฐ˜์˜ ๋ณตํ•ฉ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Louvre 1.0์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
Wayland ๊ธฐ๋ฐ˜์˜ ๋ณตํ•ฉ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Louvre 1.0์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


์ถœ์ฒ˜ : opennet.ru

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