ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΎ Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° FEX 2508, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·Π²ΠΈΠ²Π° Π΅ΠΌΡΠ»ΠΈΡΠ°ΡΠΎΡ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ³ΡΠΈ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠ±ΡΠ°Π½ΠΈ Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅ x86 ΠΈ x86-64, Π² Linux-ΡΡΠ΅Π΄Π° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ARM64 (AArch64) ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ. ΠΠΌΡΠ»ΡΡΠΎΡΡΡ FEX ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Asahi Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ³ΡΠΈ ΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Steam, ΡΡΠ±ΡΠ°Π½ΠΈ Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° x86_64, Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ARM-ΡΠΈΠΏΠΎΠ²Π΅ Apple Silicon. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++ Ρ Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΈ Π²ΠΌΡΠΊΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ MIT Π»ΠΈΡΠ΅Π½Π·.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° x86 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ARM64 ΡΡΠ΅Π΄Π°, ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Ρ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° overlay ΡΠ»ΠΎΠΉ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΡΠ΅Π½ΠΎΠ²Π°ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° (rootfs), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ SquashFS. Π’Π°ΠΊΡΠ² ΡΠ»ΠΎΠΉ Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·Π±ΡΠ³Π²Π°Π½Π΅ Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ΄Π΅Π»Π½Π° chroot ΡΡΠ΅Π΄Π°. ΠΠ°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π²Π΅ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ°Π½ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° rootfs ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ΅Π· ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° FEXRootFSFetcher.
ΠΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Ρ ΠΎΡΡ ΡΡΠ΅Π΄Π°ΡΠ°, ΠΊΠ°ΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΡΡ Π·Π²ΡΠΊ ΠΈ 3D Π³ΡΠ°ΡΠΈΠΊΠ°, Π² rootfs ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΡΡ thunk Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ°Ρ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ° ΠΊΡΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΊΠΎΠ΄ Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° Ρ ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΊΡΠΌ OpenGL ΠΈ Vulkan). ΠΠΎΠ΄ΠΎΠ±Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΈ Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° Ρ ΠΎΡΡΠ° Π·Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΊΡΠΌ ΠΊΠΎΠ΄Π° Π² Π³ΠΎΡΡΡΠ²Π°ΡΠ°ΡΠ° ΡΡΠ΅Π΄Π°. Π‘ΡΠ΅Π΄ Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΠ±ΠΈΠ²Π°Π½Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ°: libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client ΠΈ libxshmfence.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠ·Π²ΡΡΡΠ΅Π½Π° Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ°, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ FPS Π² ΠΈΠ³ΡΠ°ΡΠ° Cyberpunk 2077 Ρ 38,9%, Doom 2016 Ρ 30,9%, Stray Ρ 25,2%, Grim Fandango Remastered Ρ 24,7%, Teardown Ρ 12,6%, ΠΈ Gold of War 2018 Ρ 4,6%. ΠΠ°ΠΉ-Π³ΠΎΠ»ΡΠΌΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΠΈΠΌΠ°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π½Π° ΡΡΠ΅ΠΊΠ° Π·Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΈ Π²ΡΡΡΠ°Π½ΠΈΡ (call-return), ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ wow64/arm64ec Π½Π° ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΠ°ΠΌΠ΅Ρ TSO (Total Store Ordering), ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ ΠΎΡ CPU Π½Π° Apple Silicon.

- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° NX Π±ΠΈΡΠ° (No Execute) Π·Π° Π·Π°Π±ΡΠ°Π½Π° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈ ΠΊΠ°ΡΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΠ΄, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Ρ ΠΎΠ΄Π° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π² ΠΈΠ³ΡΠΈ ΠΊΠ°ΡΠΎ Peggle Deluxe ΠΈ Crysis 2: Maximum Edition.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru

