Wine ๋๋ Proton ๊ธฐ๋ฐ Linux์์ Windows ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์น, ๊ตฌ์ฑ ๋ฐ ์คํ์ ๋จ์ํํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ Bottles 2022.1.28 ํ๋ก์ ํธ์ ๋ฆด๋ฆฌ์ค๊ฐ ์ ๊ณต๋ฉ๋๋ค. ์ด ํ๋ก๊ทธ๋จ์ Wine ํ๊ฒฝ์ ์ ์ํ๋ ์ ๋์ฌ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ธํฐํ์ด์ค์ ์์ฉ ํ๋ก๊ทธ๋จ ์คํ์ ์ํ ๋งค๊ฐ ๋ณ์๋ ๋ฌผ๋ก ์คํ๋ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฐ๋ฅธ ์๋์ ํ์ํ ์ข ์์ฑ์ ์ค์นํ๊ธฐ ์ํ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ Python์ผ๋ก ์์ฑ๋์์ผ๋ฉฐ GPLv3 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค. ์ด ํ๋ก๊ทธ๋จ์ Flatpak ํ์๊ณผ Arch Linux์ฉ ํจํค์ง๋ก ์ ๊ณต๋ฉ๋๋ค.
Winetricks ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ ๋์ Bottles๋ ์ ์ฒด ์ข ์์ฑ ๊ด๋ฆฌ ์์คํ ์ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ ํจํค์ง ๊ด๋ฆฌ์์ ์ข ์์ฑ ๊ด๋ฆฌ์ฒ๋ผ ์๋ํ๋ ์ถ๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํฉ๋๋ค. ์คํ ์ค์ธ Windows ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ ๊ฐ ์ข ์์ฑ์ด ๊ณ ์ ํ ์ข ์์ฑ์ ๊ฐ์ง ์ ์์ง๋ง ์ ์ ์๋์ ์ํด ๋ค์ด๋ก๋ํ๊ณ ์ค์นํด์ผ ํ๋ ์ข ์์ฑ(DLL, ๊ธ๊ผด, ๋ฐํ์ ๋ฑ) ๋ชฉ๋ก์ด ์ ์๋ฉ๋๋ค.
Bottles๋ ๋ค์ํ ํ๋ก๊ทธ๋จ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ข ์์ฑ ์ ๋ณด ์ ์ฅ์์ ์ค์ ์ง์ค์ ์ข ์์ฑ ๊ด๋ฆฌ๋ฅผ ์ํ ํดํท์ ์ ๊ณตํฉ๋๋ค. ์ค์น๋ ๋ชจ๋ ์ข ์์ฑ์ด ์ถ์ ๋๋ฏ๋ก ํ๋ก๊ทธ๋จ์ ์ ๊ฑฐํ ๋ ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋ฐ ์ฌ์ฉ๋์ง ์๋ ๊ด๋ จ ์ข ์์ฑ์ ์ ๊ฑฐํ ์๋ ์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณ๋์ Wine ๋ฒ์ ์ ์ค์นํ์ง ์๊ณ ๋จ์ผ Wine ํ๊ฒฝ์ ์ฌ์ฉํ์ฌ ์ต๋ํ ๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ ์ ์์ต๋๋ค.
Windows ์ ๋์ฌ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด Bottles๋ ํน์ ํด๋์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ๊ธฐ์ฑ ์ค์ , ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ์ข ์์ฑ์ ์ ๊ณตํ๋ ํ๊ฒฝ ๊ฐ๋ ์ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ ํ๊ฒฝ์ด ์ ๊ณต๋ฉ๋๋ค: ๊ฒ์ - ๊ฒ์์ฉ, ์ํํธ์จ์ด - ์์ฉ ํ๋ก๊ทธ๋จ์ฉ ๋ฐ ์ฌ์ฉ์ ์ ์ - ์์ ์ ์คํ์ ์ํํ๊ธฐ ์ํ ๊นจ๋ํ ํ๊ฒฝ. DXVK, VKD3D, Esync๋ ๊ฒ์ ํ๊ฒฝ์์ ํ์ฑํ๋๊ณ ๊ฐ๋ณ ๊ทธ๋ํฝ ์นด๋๋ ํ์ด๋ธ๋ฆฌ๋ ๊ทธ๋ํฝ ์์คํ ์์ ํ์ฑํ๋๋ฉฐ ์ค์ ์ PulseAudio์์ ํ์ฑํ๋์ด ์์ง์ ํฅ์์ํต๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ ํ๊ฒฝ์๋ ๋ฉํฐ๋ฏธ๋์ด ํ๋ก๊ทธ๋จ๊ณผ ์ฌ๋ฌด์ฉ ์์ฉ ํ๋ก๊ทธ๋จ ๋ชจ๋์ ์ ํฉํ ์ค์ ์ด ํฌํจ๋์ด ์์ต๋๋ค.
ํ์ํ ๊ฒฝ์ฐ ๋ค์ํ ๋ฒ์ ์ wine, proton ๋ฐ dxvk๋ฅผ ์ค์นํ๊ณ ์ฆ์ ์ ํํ ์ ์์ต๋๋ค. Lutris ๋ฐ PlayOnLinux์ ๊ฐ์ ๋ค๋ฅธ Wine ๊ด๋ฆฌ์์์ ํ๊ฒฝ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ์๋๋ฐ์ค ๊ฒฉ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์คํ๋๋ ํ๊ฒฝ์ ๊ธฐ๋ณธ ์์คํ ๊ณผ ๋ถ๋ฆฌ๋์ด ์์ผ๋ฉฐ ํ ๋๋ ํฐ๋ฆฌ์์ ํ์ํ ๋ฐ์ดํฐ์๋ง ์ก์ธ์คํ ์ ์์ต๋๋ค. ๋ฒ์ ์ ์ด ์ง์์ด ์ ๊ณต๋์ด ๊ฐ๊ฐ์ ์ ์ข ์์ฑ์ ์ค์นํ๊ธฐ ์ ์ ์ํ๋ฅผ ์๋์ผ๋ก ์ ์ฅํ๊ณ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ด์ ์ํ ์ค ํ๋๋ก ๋กค๋ฐฑํ ์ ์์ต๋๋ค.
์ ๋ฆด๋ฆฌ์ค์ ๋ณ๊ฒฝ ์ฌํญ:
- WineCommand, WineProgram ๋ฐ Executor์ ์ธ ๊ฐ์ง ๊ตฌ์ฑ ์์๋ก ๊ตฌ์ฑ๋ Wine ๊ด๋ฆฌ๋ฅผ ์ํ ์๋ก์ด ๋ฐฑ์๋๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ๋ช ๊ฐ์ง WineProgram ํธ๋ค๋ฌ๊ฐ ์ ์๋์์ต๋๋ค.
- reg, regedit - ๋ ์ง์คํธ๋ฆฌ ์์ ์ ์ํด ํ ๋ฒ์ ํธ์ถ๋ก ์ฌ๋ฌ ํค๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
- net์ ์๋น์ค๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
- wineserver - Bottles ์ ์ด ํ๋ก์ธ์ค์ ์๋์ ํ์ธํฉ๋๋ค.
- start, msiexec ๋ฐ cmd๋ .lnk ๋ฐ๋ก ๊ฐ๊ธฐ ๋ฐ .msi/.batch ํ์ผ์ ์ฌ์ฉํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
- taskmgr์ ์์ ๊ด๋ฆฌ์์ ๋๋ค.
- wineboot, winedbg, ์ปจํธ๋กค, winecfg.
- Execution Manager(Executor)๋ฅผ ๊ตฌํํ์ฌ ์คํ ํ์ผ์ด ์คํ๋๋ฉด ํ์ผ ํ์ฅ์(.exe, .lnk, .batch, .msi)์ ๋ฐ๋ผ ํ์ํ ํธ๋ค๋ฌ๋ฅผ ์๋์ผ๋ก ํธ์ถํฉ๋๋ค.
- ์ ์ฒด ๋๋ ์ถ์๋ ํ๊ฒฝ์์ ๋ช ๋ น์ ์คํํ ์ ์๋ ๊ธฐ๋ฅ์ด ์ ๊ณต๋ฉ๋๋ค.
- Linux 2 ์ปค๋์ ๋์ ๋ futex_waitv(Futex5.16) ์์คํ ํธ์ถ์ ์ฌ์ฉํ ๋๊ธฐํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. Wine 7์ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ Futex2 ๋๊ธฐํ ๋ฉ์ปค๋์ฆ์ ์ง์ํ๋ Caffe ํธ๋ค๋ฌ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ์ค์น ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ ๊ตฌ์ฑ ํ์ผ(json, ini, yaml)์ ๋ณ๊ฒฝํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋ฉ๋๋ค.
- ํ๋ก๊ทธ๋จ ๋ชฉ๋ก์์ ํญ๋ชฉ ์จ๊ธฐ๊ธฐ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ข
์์ฑ ๋ฐ ์ค์น ํ๋ก๊ทธ๋จ์ ๋ํ ๋งค๋ํ์คํธ ํ์ผ์ ๋ด์ฉ์ ํ์ํ๋ ์ ๋ํ ์์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ์ฌ์ฉ ๊ฐ๋ฅํ ์ค์น ํ๋ก๊ทธ๋จ ๋ชฉ๋ก์ ๊ฒ์ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
๋ํ Proton 7.1-GE-1 ํ๋ก์ ํธ์ ์ถ์ ๋ฐํ์ ์ฃผ๋ชฉํ ์ ์์ต๋๋ค. ์ด ํ๋ก์ ํธ์์ ๋งค๋์๋ค์ ๋ ์ต์ ๋ฒ์ ์ Wine๊ณผ ๋ค๋ฅธ Proton Windows ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ๊ธฐ ์ํด Valve์ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ฅ๋ ํจํค์ง ๋น๋๋ฅผ ํ์ฑํฉ๋๋ค. FAudio์ FFmpeg ๋ฐ ๋ค์ํ ๊ฒ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ถ๊ฐ ํจ์น ํฌํจ.
์ ๋ฒ์ ์ Proton GE๋ Wine-staging 7.1์ ํจ์น๋ฅผ ์ฌ์ฉํ์ฌ Wine 7.1๋ก ์ ํํ์ต๋๋ค(๊ณต์ Proton์ Wine 6.3์ ๊ณ์ ์ฌ์ฉํจ). vkd3d-proton, dxvk ๋ฐ FAudio ํ๋ก์ ํธ์ git ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ด๋ํ์ต๋๋ค. Forza Horizon 5, Resident Evil 5, Persona 4 Golden, Progressbar95 ๋ฐ Elder Scrolls Online์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru