wayland ํ”„๋กœํ† ์ฝœ 1.21 ์ถœ์‹œ

๊ธฐ๋ณธ 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

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