Juuso Alasuutari, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π°ΡΠ΄ΠΈΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π° Linux (Π°Π²ΡΠΎΡ
Proton-i, Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΠΏΡΠ΅Π½Π°ΡΡΠ½Π΅ Π½Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π° Π½Π° Proton ΠΊΡΠΌ ΠΏΠΎ-Π½ΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° Wine, Π±Π΅Π· Π΄Π° ΡΠ°ΠΊΠ° Π½ΠΎΠ²ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ Π²Π΅ΡΡΠΈΠΈ ΠΎΡ Valve. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° Proton, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π°
ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠ΄Π΅Ρ Π½Π° Proton-i Π΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ²Π΅, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ Π² Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° Wine (Π½ΡΠΊΠΎΠ»ΠΊΠΎΡΡΠΎΡΠΈΠ½ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ Π²ΡΠ² Π²ΡΡΠΊΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅), ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ³ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠ° ΠΈΠΌΠ°Π»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° ΡΠ΅, ΡΠ΅ Π½ΡΠΊΠΎΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΈ Π² Π½ΠΎΠ²ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° Wine, Π° Π½ΡΠΊΠΎΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ΅ΡΠ΅Π½ΠΈ Ρ ΠΊΡΡΠΏΠΊΠΈ Π½Π° Proton. ΠΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡΡΠ° ΠΎΡ ΡΠ΅Π·ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΎΡΠΎ ΠΈΠ·ΠΆΠΈΠ²ΡΠ²Π°Π½Π΅, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈΡΠ΅ Wine ΠΈ Proton ΠΏΠΎΠΎΡΠ΄Π΅Π»Π½ΠΎ.
ΠΠ΅ΠΊΠ° Π²ΠΈ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡΡ Proton, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Valve, ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Wine ΠΈ ΠΈΠΌΠ° Π·Π° ΡΠ΅Π» Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΈΠ³ΡΠΈ, ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π·Π° Windows ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π° Steam Π½Π° Linux. Proton Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΈΠ³ΡΠΈ ΡΠ°ΠΌΠΎ Π·Π° Windows Π² Steam Linux ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠ°ΠΊΠ΅ΡΡΡ Π²ΠΊΠ»ΡΡΠ²Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° DirectX 9 (Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° D9VK), DirectX 10/11 (Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° DXVK) ΠΈ 12 (Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° vkd3d), ΡΠ°Π±ΠΎΡΠ΅Ρ ΡΡΠ΅Π· ΠΏΡΠ΅Π²ΠΎΠ΄ Π½Π° DirectX ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΊΡΠΌ API Π½Π° Vulkan, ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ³ΡΠΎΠ²ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΡΠ» Π΅ΠΊΡΠ°Π½ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π½Π° Π΅ΠΊΡΠ°Π½Π°, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π° Π² ΠΈΠ³ΡΠΈΡΠ΅. Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ Wine, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠ½ΠΈΡΠΊΠΎΠ²ΠΈΡΠ΅ ΠΈΠ³ΡΠΈ Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° βesyncβ (Eventfd Synchronization) ΠΈΠ»ΠΈ β
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru