Firefox์˜ Wayland ์ง€์› ๊ฐœ์„ ์„ ์œ„ํ•œ ๋กœ๋“œ๋งต

Firefox๋ฅผ Wayland๋กœ ํฌํŒ…ํ•˜๊ณ  ์žˆ๋Š” Fedora ๋ฐ RHEL์˜ Firefox ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์ธ Martin Stransky๋Š” Wayland ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋Š” Firefox์˜ ์ตœ์‹  ๊ฐœ๋ฐœ์„ ๊ฒ€ํ† ํ•˜๋Š” ๋ณด๊ณ ์„œ๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค.

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

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

Wayland์™€ ๊ด€๋ จ๋œ ๋‹ค๋ฅธ ๊ฐœ์„  ์‚ฌํ•ญ์—๋Š” ๋‹ค์–‘ํ•œ DPI ํ™”๋ฉด์—์„œ Firefox์— 93๊ฐ€์ง€ ํฌ๊ธฐ ์กฐ์ • ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ถ”๊ฐ€๋˜์–ด ๋‹ค์ค‘ ๋ชจ๋‹ˆํ„ฐ ๊ตฌ์„ฑ์—์„œ ์ฐฝ์„ ํ™”๋ฉด ๊ฐ€์žฅ์ž๋ฆฌ๋กœ ์ด๋™ํ•  ๋•Œ ๊นœ๋ฐ•์ž„์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. Firefox 95์—์„œ๋Š” ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ(์˜ˆ: ์™ธ๋ถ€ ์†Œ์Šค์—์„œ ๋กœ์ปฌ ํŒŒ์ผ๋กœ ํŒŒ์ผ์„ ๋ณต์‚ฌํ•  ๋•Œ, ํƒญ์„ ์ด๋™ํ•  ๋•Œ)๋ฅผ ํ•ด๊ฒฐํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

Firefox 96์ด ์ถœ์‹œ๋˜๋ฉด์„œ Wayland์šฉ Firefox ํฌํŠธ๋Š” ์ ์–ด๋„ Fedora์˜ GNOME ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋  ๋•Œ X11 ๋นŒ๋“œ์™€ ๊ธฐ๋Šฅ๋ฉด์—์„œ ์ „๋ฐ˜์ ์œผ๋กœ ๋™๋“ฑํ•ด์งˆ ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ๊ทธ ํ›„, ๊ฐœ๋ฐœ์ž์˜ ๊ด€์‹ฌ์€ ๊ทธ๋ž˜ํ”ฝ ์–ด๋Œ‘ํ„ฐ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๊ณ  ๋“œ๋ผ์ด๋ฒ„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ๊ธฐ๋ณธ ๋ธŒ๋ผ์šฐ์ € ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ถฉ๋Œํ•˜์ง€ ์•Š๋„๋ก ๋ณดํ˜ธํ•˜๋Š” GPU ํ”„๋กœ์„ธ์Šค์˜ Wayland ํ™˜๊ฒฝ์—์„œ ์ž‘์—…์„ ์—ฐ๋งˆํ•˜๋Š” ๋ฐ๋กœ ์ „ํ™˜๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. GPU ํ”„๋กœ์„ธ์Šค์—๋Š” ํ˜„์žฌ ์ฝ˜ํ…์ธ  ์ฒ˜๋ฆฌ ํ”„๋กœ์„ธ์Šค์—์„œ ์‹คํ–‰๋˜๋Š” VAAPI๋ฅผ ์ด์šฉํ•œ ๋น„๋””์˜ค ๋””์ฝ”๋”ฉ์šฉ ์ฝ”๋“œ๋„ ํฌํ•จ๋  ์˜ˆ์ •์ด๋‹ค.

๋˜ํ•œ Fission ํ”„๋กœ์ ํŠธ์˜ ์ผ๋ถ€๋กœ ๊ฐœ๋ฐœ๋œ ์—„๊ฒฉํ•œ ์‚ฌ์ดํŠธ ๊ฒฉ๋ฆฌ ๋ชจ๋“œ๊ฐ€ Firefox์˜ ์•ˆ์ •์ ์ธ ๋ถ„๊ธฐ ์‚ฌ์šฉ์ž ์ค‘ ์†Œ์ˆ˜๋ฅผ ์œ„ํ•ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋Š” ์ ์„ ์ฃผ๋ชฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ์‚ฌ์šฉ๋œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ์„ธ์Šค ํ’€(๊ธฐ๋ณธ์ ์œผ๋กœ 8๊ฐœ)์— ๋Œ€ํ•œ ํƒญ ์ฒ˜๋ฆฌ์˜ ์ž„์˜ ๋ฐฐํฌ์™€ ๋‹ฌ๋ฆฌ ๊ฒฉ๋ฆฌ์„  ๋ชจ๋“œ๋Š” ๊ฐ ์‚ฌ์ดํŠธ์˜ ์ฒ˜๋ฆฌ๋ฅผ ํƒญ์ด ์•„๋‹Œ ๋„๋ฉ”์ธ(๊ณต์šฉ)๋ณ„๋กœ ๊ตฌ๋ถ„๋œ ์ž์ฒด ๋ณ„๋„ ํ”„๋กœ์„ธ์Šค์— ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ ‘๋ฏธ์‚ฌ), ์™ธ๋ถ€ ์Šคํฌ๋ฆฝํŠธ ๋ฐ iframe ๋ธ”๋ก์˜ ์ถ”๊ฐ€ ๊ฒฉ๋ฆฌ ์ฝ˜ํ…์ธ ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•ต๋ถ„์—ด ๋ชจ๋“œ ํ™œ์„ฑํ™”๋Š” about:config ๋˜๋Š” about:preferences#experimental ํŽ˜์ด์ง€์˜ "fission.autostart=true" ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ œ์–ด๋ฉ๋‹ˆ๋‹ค.

์—„๊ฒฉํ•œ ๊ฒฉ๋ฆฌ ๋ชจ๋“œ๋Š” Spectre ์ทจ์•ฝ์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋ถ€์ฑ„๋„ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋ฉฐ ๋ฉ”๋ชจ๋ฆฌ ์กฐ๊ฐํ™”๋ฅผ ์ค„์ด๊ณ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์šด์˜ ์ฒด์ œ์— ๋” ํšจ์œจ์ ์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘ ๋ฐ ์ง‘์ค‘ ๊ณ„์‚ฐ์˜ ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ CPU ์ฝ”์–ด์— ๊ฑธ์ณ ๋กœ๋“œ ๋ถ„์‚ฐ์˜ ํšจ์œจ์„ฑ์„ ๋†’์ด๊ณ  ์•ˆ์ •์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค(iframe์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ถฉ๋Œ์€ ๊ธฐ๋ณธ ์‚ฌ์ดํŠธ ๋ฐ ๊ธฐํƒ€ ํƒญ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค).

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

Firefox์˜ ๋‹ค๋ฅธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ๋Š” Fluent ์ง€์—ญํ™” ์‹œ์Šคํ…œ์œผ๋กœ์˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์™„๋ฃŒ, ๊ณ ๋Œ€๋น„ ๋ชจ๋“œ ๊ฐœ์„ , ํ•œ ๋ฒˆ์˜ ํด๋ฆญ์œผ๋กœ about:processes์— ํ”„๋กœ์„ธ์Šค ์„ฑ๋Šฅ ํ”„๋กœํ•„์„ ๊ธฐ๋กํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€, ์ด์ „ ์„ค์ •์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ์„ค์ • ์ œ๊ฑฐ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Firefox 89 ์ด์ „์— ์‚ฌ์šฉ๋˜์—ˆ๋˜ ์ƒˆ ํƒญ ํŽ˜์ด์ง€์˜ ์Šคํƒ€์ผ์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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