ARM, ARM86, PPC0.2.6LE ๋ฐ RISC-V ํ๋ก์ธ์๊ฐ ์ฅ์ฐฉ๋ ์ฅ๋น์์ x64 ๋ฐ x0.1.8_86 ์ํคํ ์ฒ์ฉ์ผ๋ก ์ปดํ์ผ๋ Linux ํ๋ก๊ทธ๋จ์ ์คํํ๋๋ก ์ค๊ณ๋ Box86 64 ๋ฐ Box64 64 ์๋ฎฌ๋ ์ดํฐ ๋ฆด๋ฆฌ์ค๊ฐ ๊ฒ์๋์์ต๋๋ค. ํ๋ก์ ํธ๋ ํ ๊ฐ๋ฐ์ ํ์ ์ํด ๋์์ ๊ฐ๋ฐ๋ฉ๋๋ค. Box86์ 32๋นํธ x86 ์์ฉ ํ๋ก๊ทธ๋จ ์คํ ๊ธฐ๋ฅ์ผ๋ก ์ ํ๋๊ณ Box64๋ 64๋นํธ ์คํ ํ์ผ ์คํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด ํ๋ก์ ํธ๋ ์์ธ๊ณผ Proton์ ํตํด Windows ๋น๋๋ฅผ ์์ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฒ์ ํฌํจํ์ฌ ๊ฒ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์์์ ๊ตฌ์ฑํ๋ ๋ฐ ํฐ ๊ด์ฌ์ ๊ธฐ์ธ์ด๊ณ ์์ต๋๋ค. ํ๋ก์ ํธ์ ์์ค์ฝ๋๋ C๋ก ์์ฑ๋์ด MIT ๋ผ์ด์ ์ค๋ก ๋ฐฐํฌ๋ฉ๋๋ค(Box86, Box64).
ํ๋ก์ ํธ์ ํน์ง์ ์๋ฎฌ๋ ์ด์ ์ด ์ ํ๋ฆฌ์ผ์ด์ ์์ฒด์ ๊ธฐ๊ณ์ด ์ฝ๋์ ํน์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ง ์ ์ฉ๋๋ ํ์ด๋ธ๋ฆฌ๋ ์คํ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. libc, libm, GTK, SDL, Vulkan ๋ฐ OpenGL์ ํฌํจํ ์ผ๋ฐ์ ์ธ ์์คํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋์ ํ๋ซํผ์ ๊ณ ์ ํ ์ต์ ์ผ๋ก ๋์ฒด๋ฉ๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธ์ถ์ ์๋ฎฌ๋ ์ด์ ์์ด ์คํ๋์ด ์๋นํ ์ฑ๋ฅ ํฅ์์ ๊ฐ์ ธ์ต๋๋ค.
๋์ ํ๋ซํผ์ ๊ณ ์ ํ ๋์ฒด ํญ๋ชฉ์ด ์๋ ์ฝ๋ ์๋ฎฌ๋ ์ด์ ์ ํ ๊ธฐ๊ณ ๋ช ๋ น์ด ์ธํธ์์ ๋ค๋ฅธ ์ธํธ๋ก์ ๋์ ์ฌ์ปดํ์ผ(DynaRec) ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์ํ๋ฉ๋๋ค. ๊ธฐ๊ณ ๋ช ๋ น์ด๋ฅผ ํด์ํ๋ ๊ฒ๊ณผ ๋น๊ตํ์ฌ ๋์ ์ฌ์ปดํ์ผ์ 5~10๋ฐฐ ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋๋ค.
์ฑ๋ฅ ํ ์คํธ์์ Box86 ๋ฐ Box64 ์๋ฎฌ๋ ์ดํฐ๋ Armhf ๋ฐ Aarch64 ํ๋ซํผ์์ ์คํ๋์์ ๋ QEMU ๋ฐ FEX-emu ํ๋ก์ ํธ๋ณด๋ค ํจ์ฌ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์์ผ๋ฉฐ ๊ฐ๋ณ ํ ์คํธ(glmark2, openarena)์์๋ ๋์์ ๋ํ ๊ธฐ๋ณธ ์ด์ ๋ธ๋ฆฌ๋ฅผ ์คํํ๋ ๊ฒ๊ณผ ๋์ผํ ์ฑ๋ฅ์ ๋ฌ์ฑํ์ต๋๋ค. ํ๋ซํผ. ์ปดํจํ ์ง์ฝ์ ์ธ 7-zip ๋ฐ dav1d ํ ์คํธ์์ Box64์ ์ฑ๋ฅ์ ๊ธฐ๋ณธ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ 27%~53% ๋ฒ์์์ต๋๋ค(๋น๊ต๋ฅผ ์ํด QEMU๋ 5~16%, FEX-emu๋ 13~26%์ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋์ต๋๋ค). ). ๋ํ Apple์ด M2 ARM ์นฉ์ด ์๋ ์์คํ ์์ x86 ์ฝ๋๋ฅผ ์คํํ๋ ๋ฐ ์ฌ์ฉํ๋ Rosetta 1 ์๋ฎฌ๋ ์ดํฐ๋ฅผ ๋น๊ตํ์ต๋๋ค. Rosetta 2๋ ๊ธฐ๋ณธ ๋น๋์ 7%, Box71 - 64%์ ์ฑ๋ฅ์ผ๋ก 57zip ๊ธฐ๋ฐ ํ ์คํธ๋ฅผ ์ ๊ณตํ์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ๊ณผ์ ํธํ์ฑ์ ๊ดํด์๋ ํ ์คํธํ 165๊ฐ ๊ฒ์ ์ค ์ฝ 70%๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์๋ํ์ต๋๋ค. ๋ ๋ค๋ฅธ 10% ์ ๋๋ ์๋ํ์ง๋ง ํน์ ์์ฝ ๋ฐ ์ ํ ์ฌํญ์ด ์์ต๋๋ค. ์ง์๋๋ ๊ฒ์์๋ WorldOfGoo, Airline Tycoon Deluxe, FTL, Undertale, A Risk of Rain, Cook Serve Delicious ๋ฐ ๋๋ถ๋ถ์ GameMaker ๊ฒ์์ด ํฌํจ๋ฉ๋๋ค. ๋ฌธ์ ๊ฐ ์ง์ ๋ ๊ฒ์ ์ค์๋ Mono ํจํค์ง์ ์ฐ๊ฒฐ๋ Unity3D ์์ง ๊ธฐ๋ฐ ๊ฒ์์ ๋ํ ์ธ๊ธ์ด ์์ต๋๋ค. ์ด ์์ง์ Mono์์ ์ฌ์ฉ๋๋ JIT ์ปดํ์ผ๋ก ์ธํด ์๋ฎฌ๋ ์ด์ ์ด ํญ์ ์๋ํ์ง ์๊ณ ์๋นํ ARM ๋ณด๋์์๋ ํญ์ ๋ฌ์ฑํ ์ ์๋ ๋์ ๊ทธ๋ํฝ ์๊ตฌ ์ฌํญ. GTK ์ ํ๋ฆฌ์ผ์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋์ฒด๋ ํ์ฌ GTK2๋ก ์ ํ๋ฉ๋๋ค(GTK3/4 ๋์ฒด๋ ์์ ํ ๊ตฌํ๋์ง ์์).
์ ๋ฆด๋ฆฌ์ค์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ:
- Vulkan ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ๋ฐ์ธ๋ฉ์ด ์ถ๊ฐ๋์์ต๋๋ค. Vulkan ๋ฐ DXVK ๊ทธ๋ํฝ API์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค(Vulkan ์์ DXGI, Direct3D 9, 10 ๋ฐ 11 ๊ตฌํ).
- GTK ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ๋ฐ์ธ๋ฉ์ด ํฅ์๋์์ต๋๋ค. GTK ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ gstreamer ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ๋ฐ์ธ๋ฉ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- RISC-V ๋ฐ PPC64LE ์ํคํ ์ฒ์ ๋ํ ์ด๊ธฐ ์ง์(ํ์ฌ ํด์ ๋ชจ๋๋ง)์ด ์ถ๊ฐ๋์์ต๋๋ค.
- SteamPlay ๋ฐ Proton ๋ ์ด์ด์ ๋ํ ์ง์์ ๊ฐ์ ํ๊ธฐ ์ํ ์์ ์ด ์ด๋ฃจ์ด์ก์ต๋๋ค. Raspberry Pi 64 ๋ฐ 3์ ๊ฐ์ AArch4 ๋ณด๋์์ Steam์ ๋ค์ํ Linux ๋ฐ Windows ๊ฒ์์ ์คํํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ํฅ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, mmap ์ฑ๋ฅ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ์๋ฐ ์ถ์ .
- libc์ ๋ณต์ ์์คํ ํธ์ถ์ ๋ํ ์ง์์ด ํฅ์๋์์ต๋๋ค. ์๋ก์ด ์์คํ ํธ์ถ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋์ ์ฌ์ปดํ์ผ ์์ง์ SSE/x87 ๋ ์ง์คํฐ ์์ ์ ๊ฐ์ ํ๊ณ , ์๋ก์ด ๊ธฐ๊ณ ์ฝ๋์ ๋ํ ์ง์์ ์ถ๊ฐํ๊ณ , ๋ถ๋ ์์์ ๋ฐ ์ด์ค ์ซ์์ ๋ณํ์ ์ต์ ํํ๊ณ , ๋ด๋ถ ์ ํ ์ฒ๋ฆฌ๋ฅผ ๊ฐ์ ํ๊ณ , ์๋ก์ด ์ํคํ ์ฒ์ ๋ํ ์ง์ ์ถ๊ฐ๋ฅผ ๋จ์ํํ์ต๋๋ค.
- ELF ํ์ผ ๋ก๋๊ฐ ๊ฐ์ ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru