๋ฐธ๋ธ ํ์ฌ
Proton์ ์ฌ์ฉํ๋ฉด Steam Linux ํด๋ผ์ด์ธํธ์์ Windows ์ ์ฉ ๊ฒ์ ์ ํ๋ฆฌ์ผ์ด์
์ ์ง์ ์คํํ ์ ์์ต๋๋ค. ํจํค์ง์๋ DirectX 10/11 ๊ตฌํ์ด ํฌํจ๋์ด ์์ต๋๋ค.
์ฃผ์
- Wine 4.11 ์ฝ๋๋ฒ ์ด์ค์์ ๋๊ธฐํ๊ฐ ์ํ๋์ด 3300๊ฐ ์ด์์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ก๋์์ต๋๋ค(์ด์ ๋ถ๊ธฐ๋ Wine 4.2๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํจ). Proton 154์ 4.2๊ฐ ํจ์น๊ฐ ์ ์คํธ๋ฆผ์ผ๋ก ์ด๋๋์ด ์ด์ ๊ธฐ๋ณธ Wine ํจํค์ง์ ํฌํจ๋์์ต๋๋ค.
- esync์ ๋นํด CPU ๋ถํ๋ฅผ ์ค์ด๋ futex() ์์คํ
ํธ์ถ์ ๊ธฐ๋ฐ์ผ๋ก ๋๊ธฐํ ํ๋ฆฌ๋ฏธํฐ๋ธ์ ๋ํ ์คํ์ ์ง์์ ์ถ๊ฐํ์ต๋๋ค. ๋ํ ์๋ก์ด ๊ตฌํ์ ๋ค์์ ์ฌ์ฉํด์ผ ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
ํน๋ณํ ์ค์ esync ๋ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ํ์ผ ์ค๋ช ์๊ฐ ๊ณ ๊ฐ๋ ์ ์์ต๋๋ค.์ํ๋๋ ์์ ์ ํต์ฌ์ ์ค๋ ๋ ํ์ ์ต์ ๋๊ธฐํ์ ํ์ํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ Linux ์ปค๋์ ํ์ค futex() ์์คํ ํธ์ถ ๊ธฐ๋ฅ์ ํ์ฅํ๋ ๊ฒ์ ๋๋ค. Proton์ ํ์ํ FUTEX_WAIT_MULTIPLE ํ๋๊ทธ๋ฅผ ์ง์ํ๋ ํจ์น๋ ์ด๋ฏธ
์๋ ๊ธฐ๋ณธ Linux ์ปค๋์ ํฌํจํ๊ธฐ ์ํด๊ธ๋ฆฌ๋น . ์ค๋น๋ ๋ณ๊ฒฝ ์ฌํญ์ ์์ง ๋ฉ์ธ ์ปค๋์ ํฌํจ๋์ง ์์์ผ๋ฏ๋ก ์ง๊ธ์ ํ์ํฉ๋๋ค.ํ๋ฆฝํ๋ค ์ด๋ฌํ ๊ธฐ๋ณธ ์์๋ฅผ ์ง์ํ๋ ํน์ ์ปค๋; - ์ค๊ฐ์ธต
DXVK (Vulkan API ์์ DXGI, Direct3D 10 ๋ฐ Direct3D 11 ๊ตฌํ) ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.1.3 ๊ณผD9VK (Vulkan ์์ Direct3D 9๋ฅผ ์คํ์ ์ผ๋ก ๊ตฌํํ ๊ฒ) ๋ฒ์ 0.13f๊น์ง. Proton์์ D9VK ์ง์์ ํ์ฑํํ๋ ค๋ฉด PROTON_USE_D9VK ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ธ์. - ํ์ฌ ๋ชจ๋ํฐ ์๋ก ๊ณ ์นจ ๋น๋๊ฐ ๊ฒ์์ผ๋ก ์ ์ก๋ฉ๋๋ค.
- ๋ง์ฐ์ค ํฌ์ปค์ค ๋ฐ ์ฐฝ ๊ด๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ๋๋ก ์์ ๋์์ต๋๋ค.
- ์ผ๋ถ ๊ฒ์, ํนํ Unity ์์ง ๊ธฐ๋ฐ ๊ฒ์์์ ๋ฐ์ํ๋ ์กฐ์ด์คํฑ์ ์ ๋ ฅ ์ง์ฐ ๋ฐ ์ง๋ ์ง์ ๋ฌธ์ ๋ฅผ ์์ ํ์ต๋๋ค.
- ์ต์ ๋ฒ์ ์ OpenVR SDK์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- DirectX ์ฌ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(API XAudio2, X3DAudio, XAPO ๋ฐ XACT3)๊ฐ ๊ตฌํ๋ FAudio ๊ตฌ์ฑ ์์๊ฐ ๋ฆด๋ฆฌ์ค 19.07๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
- GameMaker ๊ฒ์์ ๋คํธ์ํฌ ํ์ ์์คํ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
- ์ด์ ๋ง์ Wine ๋ชจ๋์ด Linux ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋์ Windows PE ํ์ผ๋ก ๋น๋๋ฉ๋๋ค. ์ด ๋ถ์ผ์ ์์ ์ด ์งํ๋จ์ ๋ฐ๋ผ PE์ ์ฌ์ฉ์ ์ผ๋ถ DRM ๋ฐ ์นํธ ๋ฐฉ์ง ์์คํ ์ ๋์์ด ๋ ๊ฒ์ ๋๋ค. ์ฌ์ฉ์ ์ ์ Proton ๋น๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ PE ํ์ผ์ ๋น๋ํ๋ ค๋ฉด Vagrant ๊ฐ์ ๋จธ์ ์ ๋ค์ ์์ฑํด์ผ ํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
Valve์ ํจ์น๊ฐ ๊ธฐ๋ณธ Linux ์ปค๋์ ์ฑํ๋๊ธฐ ์ ์ esync ๋์ futex()๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ํจ์น ์ธํธ์ ๊ตฌํ๋ ์ค๋ ๋ ๋๊ธฐํ ํ์ ์ง์ํ๋ ํน์ ์ปค๋์ ์ค์นํด์ผ ํฉ๋๋ค.
fsync๋ฅผ ์ง์ํ๋ ์ปค๋์ด ์๋ ๊ฒฝ์ฐ Proton 4.11์ ์คํํ๋ฉด ์ฝ์์ "fsync: up and running" ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค. PROTON_NO_FSYNC=1 ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ fsync๋ฅผ ๊ฐ์ ๋ก ๋ ์ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru