Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· Wine 7.0

ПослС Π³ΠΎΠ΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ 30 ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… вСрсий прСдставлСн ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Win32 API — Wine 7.0, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ±Ρ€Π°Π» Π² сСбя Π±ΠΎΠ»Π΅Π΅ 9100 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Из ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… достиТСний Π½ΠΎΠ²ΠΎΠΉ вСрсии отмСчаСтся ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Wine Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PE, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅ΠΌ оформлСния, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ стСка для дТойстиков ΠΈ устройств Π²Π²ΠΎΠ΄Π° с интСрфСйсом HID, рСализация Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ WoW64 для запуска 32-разрядных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² 64-разрядном ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ.

Π’ Wine ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π° полноцСнная Ρ€Π°Π±ΠΎΡ‚Π° 5156 (Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ 5049) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для Windows, Π΅Ρ‰Ρ‘ 4312 (Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ 4227) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ прСкрасно Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΡ€ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… настройках ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… DLL. Π£ 3813 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ 3703) Π½Π°Π±Π»ΡŽΠ΄Π°ΡŽΡ‚ΡΡ нСбольшиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² Ρ€Π°Π±ΠΎΡ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ использованию основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π° Wine 7.0:

  • ΠœΠΎΠ΄ΡƒΠ»ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PE
    • ΠŸΠΎΡ‡Ρ‚ΠΈ всС DLL-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° использованиС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² PE (Portable Executable, примСняСтся Π² Windows) вмСсто ELF. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ PE Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… схСм Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ копирования, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΡ… свСрку идСнтичности систСмных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π° дискС ΠΈ Π² памяти.
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ взаимодСйствия PE-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ с Unix-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ с использованиСм ΡˆΡ‚Π°Ρ‚Π½ΠΎΠ³ΠΎ систСмного Π²Ρ‹Π·ΠΎΠ²Π° ядра NT, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Unix-ΠΊΠΎΠ΄Ρƒ ΠΎΡ‚ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠ² Windows ΠΈ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ².
    • ВстроСнныС DLL Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π½Π° дискС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΈΠΌ Ρ„Π°ΠΉΠ»Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PE, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, настоящая это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΠ»ΠΈ Π·Π°Π³Π»ΡƒΡˆΠΊΠ°. Π£ΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ позволяСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ всСгда Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΡƒΡŽ привязку ΠΊ PE-Ρ„Π°ΠΉΠ»Π°ΠΌ. Для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ повСдСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния WINEBOOTSTRAPMODE.
  • WoW64
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° WoW64 (64-bit Windows-on-Windows), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ 32-разрядныС Windows-прилоТСния Π² 64-разрядных Unix-процСссах. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ прослойки, Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ 32-разрядныС систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ NT Π² 64-разрядныС обращСния ΠΊ NTDLL.
    • ΠŸΡ€ΠΎΡΠ»ΠΎΠΉΠΊΠΈ WoW64 ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Unix-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ 32-разрядным модулям Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PE ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ 64-разрядным Unix-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° всСх ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ PE появится Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выполнСния 32-разрядных Windows-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π· установки 32-разрядных Unix-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.
  • Π’Π΅ΠΌΡ‹ оформлСния
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅ΠΌ оформлСния. Π’ состав Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Ρ‚Π΅ΠΌΡ‹ оформлСния «Light», «Blue» ΠΈ «Classic Blue», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ WineCfg.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ настройки внСшнСго Π²ΠΈΠ΄Π° всСх элСмСнтов управлСния интСрфСйса Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅ΠΌΡ‹ оформлСния. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π° элСмСнтов послС смСны Ρ‚Π΅ΠΌΡ‹ оформлСния.
    • Π’ΠΎ всС встроСнныС прилоТСния Wine Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅ΠΌ оформлСния. ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° адаптация ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊ экранам с высокой ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ пиксСлСй (High DPI).
  • ГрафичСская подсистСма
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Win32u, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ вынСсСны части Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ GDI32 ΠΈ USER32, связанныС с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΊΠ½Π°ΠΌΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра. Π’ дальнСйшСм начнётся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ пСрСносу Π² Win32u ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ winex11.drv ΠΈ winemac.drv.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ Vulkan Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° спСцификации графичСского API Vulkan 1.2.201.
    • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· API Direct2D ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²Π°Π½Π½Ρ‹Ρ… гСомСтричСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ попадания ΠΊΠ»ΠΈΠΊΠ° (hit-test).
    • Π’ API Direct2D Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… эффСктов, примСняСмых с использованиСм интСрфСйса ID2D1Effect.
    • Π’ API Direct2D API Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° интСрфСйса ID2D1MultiThread, примСняСмого для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ эксклюзивного доступа ΠΊ рСсурсам Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… прилоТСниях.
    • Π’ Π½Π°Π±ΠΎΡ€Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ WindowsCodecs Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° дСкодирования ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ WMP (Windows Media Photo) ΠΈ кодирования ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚e DDS (DirectDraw Surface). ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° кодирования ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ICNS (для macOS), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ поддСрТиваСтся Π² Windows.
  • Direct3D
    • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ отрисовки, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΠΉ Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Direct3D Π² графичСский API Vulkan. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ситуаций ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Direct3D 10 ΠΈ 11 Π² Π΄Π²ΠΈΠΆΠΊΠ΅ Π½Π° Π±Π°Π·Π΅ Vulkan Π΄ΠΎΠ²Π΅Π΄Ρ‘Π½ Π΄ΠΎ ΠΏΠ°Ρ€ΠΈΡ‚Π΅Ρ‚Π° со старым Π΄Π²ΠΈΠΆΠΊΠΎΠΌ Π½Π° основС OpenGL. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠΊΠ° отрисовки Ρ‡Π΅Ρ€Π΅Π· Vulkan слСдуСт ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ рССстра Direct3D «renderer» Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «vulkan».
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ возмоТности Direct3D 10 ΠΈ 11, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ контСксты (Deferred Contexts), Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² контСкстС устройств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ состояния, постоянныС смСщСния Π² Π±ΡƒΡ„Π΅Ρ€Π°Ρ…, чистку нСупорядочСнных прСдставлСний тСкстур, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ рСсурсами Π² бСстиповых Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32A32_TYPELESS) ΠΈ Ρ‚.ΠΏ.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ для отобраТСния Direct3D-прилоТСния Π² полноэкранном Ρ€Π΅ΠΆΠΈΠΌΠ΅.
    • Π’ API DXGI Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π³Π°ΠΌΠΌΠ°-ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ экрана, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ прилоТСниями Π½Π° Π±Π°Π·Π΅ Direct3D 10 ΠΈ 11 для измСнСния яркости экрана. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ счётчиков Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ±ΡƒΡ„Π΅Ρ€ΠΎΠ² (SwapChain).
    • Π’ Direct3D 12 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Ρ… сигнатур вСрсии 1.1.
    • Π’ ΠΊΠΎΠ΄Π΅ отрисовки Ρ‡Π΅Ρ€Π΅Π· API Vulkan ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π² систСмС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ VK_EXT_host_query_reset.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ±ΡƒΡ„Π΅Ρ€ΠΎΠ² (SwapChain) Ρ‡Π΅Ρ€Π΅Π· GDI, Ссли для отобраТСния Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ OpenGL ΠΈΠ»ΠΈ Vulkan, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π² ΠΎΠΊΠ½ΠΎ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… процСссов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° Π±Π°Π·Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° CEF (Chromium Embedded Framework).
    • ΠŸΡ€ΠΈ использовании бэкСнда для ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² GLSL для ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π½Ρ‹Ρ… инструкций обСспСчСно ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° «precise».
    • Π’ API DirectDraw Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 3D-Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ устройства, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ «RGB», «MMX» ΠΈ «Ramp».
    • Π’ Π±Π°Π·Ρƒ графичСских ΠΊΠ°Ρ€Ρ‚ Direct3D Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊΠ°Ρ€Ρ‚Ρ‹ AMD Radeon RX 5500M, AMD Radeon RX 6800/6800 XT/6900 XT, AMD Van Gogh, Intel UHD Graphics 630 ΠΈ NVIDIA GT 1030.
    • Из рССстра HKEY_CURRENT_USER\Software\Wine\Direct3D ΡƒΠ΄Π°Π»Ρ‘Π½ ΠΊΠ»ΡŽΡ‡ «UseGLSL», вмСсто ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ начиная с Wine 5.0 Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ «shader_backend».
    • Для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Direct3D 12 Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ vkd3d ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ вСрсии 1.2.
  • D3DX
    • Π’ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ D3DX 10 ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… эффСктов ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Windows Media Photo (JPEG XR)
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ прСдоставляСмыС Π² D3DX10 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ создания тСкстур, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ D3DX10CreateTextureFromMemory().
    • Частично Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ интСрфСйсы ID3DX10Sprite ΠΈ ID3DX10Font.
  • Π—Π²ΡƒΠΊ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ
    • Π’ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±Ρ‰ΠΈΠΉ бэкСнд WineGStreamer ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ GStreamer-надстройки для DirectShow ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Media Foundation, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½ΠΎΠ²Ρ‹Ρ… API дСкодирования ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.
    • На Π±Π°Π·Π΅ бэкСнда WineGStreamer Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Windows Media для синхронного ΠΈ асинхронного чтСния.
    • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Media Foundation, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ IMFPMediaPlayer, распрСдСлитСля сэмплов (sample allocator), ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° EVR ΠΈ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² отрисовки SAR.
    • Π£Π΄Π°Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° wineqtdecoder, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° QuickTime (для всСх ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ² Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ GStreamer).
  • Устройства Π²Π²ΠΎΠ΄Π°
    • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ стСк для устройств Π²Π²ΠΎΠ΄Π°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» HID (Human Interface Devices), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ возмоТности ΠΊΠ°ΠΊ Ρ€Π°Π·Π±ΠΎΡ€ HID-дСскрипторов, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° HID-сообщСний ΠΈ прСдоставлСниС ΠΌΠΈΠ½ΠΈ-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² HID.
    • Π’ бэкСндах Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° winebus.sys ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° трансляция описаний устройств Π² HID-сообщСния.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ бэкСнд DirectInput для дТойстиков, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» HID. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования эффСктов ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи Π² дТойстиках. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° панСль управлСния дТойстиками. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ взаимодСйствиС с устройствами, совмСстимыми с XInput. Π’ WinMM ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° дТойстиков ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° Π½Π° DInput, вмСсто использования бэкСнда evdev Π² Linux ΠΈ IOHID Π² macOS IOHID. Π£Π΄Π°Π»Ρ‘Π½ старый Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ дТойстиков winejoystick.drv.
    • Π’ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ DInput Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ тСсты, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… HID-устройств ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ наличия физичСского устройства.
  • ВСкст ΠΈ ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹
    • Π’ DirectWrite Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Font Set.
    • Π’ RichEdit ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ интСрфСйс TextHost.
  • Π―Π΄Ρ€ΠΎ (интСрфСйсы ядра Windows)
    • ΠŸΡ€ΠΈ запускС Π² Wine Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½ΠΎΠ³ΠΎ исполняСмого Ρ„Π°ΠΉΠ»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ‘wine foo.msi’) Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ вызываСтся start.exe, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, связанныС с Ρ‚ΠΈΠΏΠΎΠΌ Ρ„Π°ΠΉΠ»Π°.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² синхронизации NtAlertThreadByThreadId ΠΈ NtWaitForAlertByThreadId, Π±Π»ΠΈΠ·ΠΊΠΈΡ… ΠΊ Ρ„ΡŒΡŽΡ‚Π΅ΠΊΡΠ°ΠΌ Π² Linux.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² NT, примСняСмых для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ядра.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° динамичСских ΠΊΠ»ΡŽΡ‡Π΅ΠΉ рССстра для сохранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  • C Runtime
    • Π’ C runtime Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ матСматичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ пСрСнСсён ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Musl.
    • Для всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ CPU обСспСчСна коррСктная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для вычислСний с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.
  • Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ возмоТности
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ Ρ€Π΅ΠΆΠΈΠΌ совмСстимости с Internet Explorer 11 (IE11), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².
    • Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ mshtml Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ JavaScript-Ρ€Π΅ΠΆΠΈΠΌ ES6 (ECMAScript 2015), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π°ΠΊΠΈΡ… возмоТностСй, ΠΊΠ°ΠΊ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ let ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Map.
    • Установка Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Wine MSI-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с дополнСниями ΠΊ Π΄Π²ΠΈΠΆΠΊΡƒ Gecko Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ производится ΠΏΡ€ΠΈ нСобходимости, Π° Π½Π΅ Π²ΠΎ врСмя обновлСния Wine.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° DTLS.
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ сСрвис NSI (Network Store Interface), хранящий ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‰ΠΈΠΉ Π΄Ρ€ΡƒΠ³ΠΈΠΌ сСрвисам ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ сСтСвых интСрфСйсах Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.
    • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ API WinSock, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ setsockopt ΠΈ getsockopt, пСрСнСсСны Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ NTDLL ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ afd.sys, для соотвСтствия Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Windows.
    • Π’ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Wine Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ собствСнныС Ρ„Π°ΠΉΠ»Ρ‹ с сСтСвыми Π‘Π”, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ /etc/protocols ΠΈ /etc/networks, вмСсто обращСния ΠΊ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ Unix Π‘Π”.
  • ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° оборудования Apple Π½Π° Π±Π°Π·Π΅ ARM-Ρ‡ΠΈΠΏΠΎΠ² M1 (Apple Silicon).
    • Для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ BCrypt ΠΈ Secur32 Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ macOS Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ трСбуСтся установка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ GnuTLS.
    • 32-разрядныС исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ для ΠΏΠ»Π°Ρ‚ΠΎΡ„ΠΎΡ€ΠΌ ARM Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Thumb-2, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Windows. Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² задСйствован preloader.
    • Для 32-разрядных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ARM Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·ΠΌΠΎΡ‚ΠΊΠΈ (unwinding) ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.
    • Для FreeBSD Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΎ число ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… запросов Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ систСмС, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ состояниС памяти ΠΈ ΡƒΡ€ΠΎΠ²Π½Π΅ заряда аккумулятора.
  • ВстроСнныС прилоТСния ΠΈ инструмСнты для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
    • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ reg.exe Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 32- ΠΈ 64-разрядных прСдставлСний рССстра. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° копирования ΠΊΠ»ΡŽΡ‡Π΅ΠΉ рССстра.
    • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ WineDump Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°ΠΌΠΏΠ° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Windows ΠΈ ΠΏΠΎΠΊΠ°Π·Π° Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ записях CodeView.
    • Π’ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ Wine Debugger (winedbg) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ 32-разрядных процСссов ΠΈΠ· 64-разрядного ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°.
    • Π’ компилятор IDL (widl) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, встроСнных Π² PE-Ρ„Π°ΠΉΠ»Ρ‹, обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° спСцифичных для WinRT Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ конструкций, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ поиск Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π² привязкС ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅.
  • БистСма сборки
    • Π’ спСцифичных для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΌΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ Ρ‚ΠΈΠΏ исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,’i386-windows’ для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° PE ΠΈ ‘x86_64-unix’ для unix-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ‡Ρ‚ΠΎ позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ€Π°Π·Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Π² ΠΎΠ΄Π½ΠΎΠΉ установкС Wine ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΊΡ€ΠΎΡΡΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Winelib.
    • Для установки Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ PE-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠΏΡ†ΠΈΠΈ, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π½Π° использованиС Ρ€ΠΎΠ΄Π½Ρ‹Ρ… DLL-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π² winebuild Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ„Π»Π°Π³ ‘—prefer-native option’ (ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° DLL_WINE_PREATTACH Π² DllMain ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π°).
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 4 вСрсии Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Dwarf, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ сборкС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Wine.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° сборочная опция ‘—enable-build-id’ для сохранСния Π² исполняСмых Ρ„Π°ΠΉΠ»Π°Ρ… ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² сборки.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° использования компилятора Clang Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ совмСстимости с MSVC.
  • Π Π°Π·Π½ΠΎΠ΅
    • НаимСнованиС Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ (Windows Shell) ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΊ схСмС, примСняСмой начиная с Windows Vista, Ρ‚.Π΅. вмСсто ‘My Documents’ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ создаётся ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ‘Documents’, Π° большая Ρ‡Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… сохраняСтся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ‘AppData’.
    • Π’ прослойкС для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ OpenCL Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° спСцификации OpenCL 1.2.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ WinSpool Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² страниц ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° MSDASQL, ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° Microsoft OLE DB для Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ODBC.
    • Π”Π²ΠΈΠΆΠΎΠΊ Wine Mono с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄ΠΎ выпуска 7.0.0.
    • Π”Π°Π½Π½Ρ‹Π΅ Unicode ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ Π΄ΠΎ спСцификации Unicode 14.
    • Π’ Π΄Π΅Ρ€Π΅Π²ΠΎ исходных тСкстов встроСны Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt ΠΈ Zlib, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PE ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ наличия Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π² Unix-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. ΠŸΡ€ΠΈ этом Π΄Π°Π½Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈΠ· систСмы для использования внСшний сборок вмСсто встроСнных PE-Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ