Wine 5.0 туруктуу релиз

Бир жылдан кийин иштеп чыгуу жана 28 эксперименталдык версиясы сунушталды Win32 API ачык ишке ашыруунун туруктуу релиз - шарап 5.07400дөн ашык өзгөртүүнү камтыган. Жаңы версиянын негизги жетишкендиктерине PE форматында орнотулган Wine модулдарын жеткирүү, көп монитор конфигурацияларын колдоо, XAudio2 аудио API жаңы ишке ашыруу жана Vulkan 1.1 графикалык API колдоо кирет.

Шарапта тастыкталды Windows үчүн 4869 (бир жыл мурун 4737) программанын толук иштеши, дагы 4136 (бир жыл мурун 4045) программалар кошумча орнотуулар жана тышкы DLLлер менен эң сонун иштейт. 3635 программада негизги колдонмо функцияларын колдонууга тоскоол болбогон майда аткаруу көйгөйлөрү бар.

Ачкыч инновациялар Шарап 5.0:

  • PE форматындагы модулдар
    • MinGW компилятору менен көпчүлүк Шарап модулдары азыр ELFтин ордуна PE (Portable Executable, Windows'до колдонулат) аткарылуучу файл форматында курулган. PE колдонуу дисктеги жана эс тутумдук модулдардын идентификациясын текшерген ар кандай көчүрмөлөрдү коргоо схемаларын колдоо менен көйгөйлөрдү чечет;
    • PE аткарылуучу файлдары эми жасалма DLL файлдарын колдонуунун ордуна ~/.wine ($WINEPREFIX) каталогуна көчүрүлүп, файлдарды чыныгы Windows орнотууларына окшош кылып, кошумча диск мейкиндигин талап кылат;
    • PE форматына айландырылган модулдар стандартты колдоно алат wchar Юникод менен C функциялары жана константалары (мисалы, L"abc");
    • Wine C иштөө убактысы DLL түзүүдө MinGW иштөө убактысынын ордуна демейки боюнча колдонулган MinGWде курулган бинарлар менен байланыштыруу үчүн колдоо кошту;
  • Графикалык подсистема
    • Бир нече мониторлор жана графикалык адаптерлер менен иштөө үчүн кошумча колдоо, анын ичинде орнотууларды динамикалык өзгөртүү мүмкүнчүлүгү;
    • Vulkan графикалык API үчүн драйвер Vulkan 1.1.126 спецификациясына ылайык жаңыртылган;
    • WindowsCodecs китепканасы кошумча растр форматтарын, анын ичинде индекстелген палитрасы бар форматтарды конвертациялоо мүмкүнчүлүгүн берет;
  • Direct3D
    • Толук экрандуу Direct3D тиркемелерин иштеткенде, экран сактагыч чалуу бөгөттөлөт;
    • DXGI (DirectX Graphics Infrastructure) анын терезеси кичирейтилгенде тиркемеге маалымат берүү үчүн колдоону кошту, бул тиркемеге терезени кичирейтүү учурунда ресурсту көп талап кылган операциялардын аткарылышын төмөндөтүүгө мүмкүндүк берет;
    • DXGI колдонгон тиркемелер үчүн азыр Alt+Enter комбинациясын колдонуу менен толук экран жана терезе режимине которулууга болот;
    • Direct3D 12 ишке ашыруунун мүмкүнчүлүктөрү кеңейтилди, мисалы, азыр толук экрандуу жана терезелүү режимдердин ортосунда которулуу, экран режимдерин өзгөртүү, чыгарууну масштабдоо жана рендеринг буферин алмаштыруу аралыгын башкаруу (алмаштыруу аралыгы);
    • Ачыктык жана тереңдик тесттери үчүн диапазондон тышкаркы киргизүү маанилерин колдонуу, чагылдырылган текстуралар жана буферлер менен көрсөтүү жана туура эмес DirectDraw объектилерин колдонуу сыяктуу ар кандай чек ара кырдаалдарын башкаруу жакшыртылган клип, туура эмес терезелер үчүн Direct3 түзмөктөрүн түзүү, минималдуу параметр маанилери максимумга барабар болгон көрүнөө аймактарды колдонуу ж.б.
    • Direct3D 8 жана 9 так байкоону камсыз кылат "кир» жүктөлгөн текстуралардын аймактары;
    • S3TC ыкмасы менен кысылган 3D текстураларды жүктөөдө талап кылынган дарек мейкиндигинин көлөмү кыскарган (толугу менен жүктөөнүн ордуна, текстуралар бөлүктөргө бөлүнүп жүктөлөт).
    • Интерфейс ишке ашырылды ID3D11Multithread көп жиптүү тиркемелерде критикалык бөлүмдөрдү коргоо үчүн;
    • Эски DirectDraw тиркемелери үчүн жарык эсептөөлөрүнө байланыштуу ар кандай жакшыртуулар жана оңдоолор жасалган;
    • APIдеги шейдерлер жөнүндө маалымат алуу үчүн кошумча чалууларды ишке ашырды ShaderReflection;
    • wined3d азыр колдойт блистир кысылган ресурстарды иштетүү үчүн CPU негизделген;
    • Direct3Dде таанылган графикалык карталардын маалымат базасы кеңейтилди;
    • Жаңы реестр ачкычтары кошулду HKEY_CURRENT_USER\Software\Wine\Direct3D: “shader_backend” (шейдерлер менен иштөө үчүн бэкэнд: GLSL үчүн “glsl”, ARB чокусу/фрагменти үчүн “arb” жана шейдердин колдоосун өчүрүү үчүн “жок”), “strict_shader_math” 0x1 - иштетүү, 0x0 - Direct3D шейдер конверсиясын өчүрүү). "UseGLSL" ачкычы эскирди ("shader_backend" колдонушу керек);
  • D3DX
    • S3TC (S3 Texture Compression) 3D текстураны кысуу механизмин колдоо ишке ашырылды;
    • Текстураны толтуруу жана картага алынбаган беттер сыяктуу операциялардын туура ишке ашырылышы кошулду;
    • Түзүү алкагына ар кандай жакшыртуулар жана оңдоолор киргизилди визуалдык эффекттер;
  • Ядро (Windows ядро ​​интерфейстери)
    • Kernel32де колдонулган функциялардын көбү көчүрүлдү
      KernelBase, Windows архитектурасындагы өзгөрүүлөрдөн кийин;

    • Жүктөө үчүн колдонулган каталогдордо 32 жана 64 биттик DLLлерди аралаштыруу мүмкүнчүлүгү. Учурдагы бит тереңдигине дал келбеген китепканалардын этибарга алынышын камсыздайт (32/64), эгерде андан ары жолдон учурдагы бит тереңдигине туура келген китепкананы табууга болот;
    • Түзмөктүн драйверлери үчүн ядро ​​объекттеринин эмуляциясы жакшыртылды;
    • Ядро деңгээлинде иштеген синхрондоштуруу объектилери, мисалы, айлануу кулпулары, тез мутекстер жана ресурска тиркелген өзгөрмөлөр;
    • Колдонмолор батареянын абалы жөнүндө туура маалымат беришин камсыздайт;
  • Колдонуучунун интерфейси жана иш тактасынын интеграциясы
    • Кичирейтилген терезелер эми Windows 3.1 стилинин сөлөкөтүн эмес, аталыш тилкесин колдонуу менен көрсөтүлөт;
    • Жаңы баскыч стилдери кошулду SplitButton (иш-аракеттердин ачылуучу тизмеси бар баскыч) жана Command Links (кийинки этапка өтүү үчүн колдонулган диалог кутучаларындагы шилтемелер);
    • "Жүктөлүүлөр" жана "Шаблондор" папкалары үчүн символдук шилтемелер түзүлдү, алар Unix системаларындагы тиешелүү каталогдорду көрсөтөт;
  • киргизүү түзмөктөрүн
    • Ишке киргизүүдө керектүү Plug & Play түзмөк драйверлери орнотулат жана жүктөлөт;
    • Оюн контроллерлору үчүн жакшыртылган колдоо, анын ичинде мини-джойстик (шляпа которгуч), руль, газ жана тормоз педалдары.
    • 2.2 версиясына чейин Linux ядролорунда колдонулган эски Linux джойстик API'син колдоо токтотулган;
  • .NET
    • Mono кыймылдаткычы 4.9.4 чыгаруу үчүн жаңыртылган жана азыр Windows Presentation Foundation (WPF) негизинин бөлүктөрүн камтыйт;
    • Mono жана Gecko менен толуктоолорду бир жалпы каталогго орнотуу, файлдарды жаңы префикстерге көчүрүүнүн ордуна /usr/share/wine иерархиясына жайгаштыруу мүмкүнчүлүгү кошулду;
  • тармактык мүмкүнчүлүктөр
    • MSHTML китепканасында колдонулган Wine Gecko браузеринин кыймылдаткычы 2.47.1 чыгаруу үчүн жаңыртылган. Жаңы HTML API'лерди колдоо ишке ашырылды;
    • MSHTML азыр SVG элементтерин колдойт;
    • Көптөгөн жаңы VBScript функциялары кошулду (мисалы, каталарды жана өзгөчө кырдаалдарды иштетүүчүлөр, Hour, Day, Month, String, LBound, RegExp.Replace, РScriptTypeInfo_* жана ScriptTypeComp_Bind* функциялары ж.б.);
    • VBScript жана JScriptде код абалынын сакталышы камсыздалган (скрипттин туруктуулугу);
    • HTTP кызматын (WinHTTP) жана HTTP протоколун колдонуу менен суроо-талаптарды жөнөтүүчү жана кабыл алган кардар жана сервердик тиркемелер үчүн байланышкан API (HTTPAPI) баштапкы ишке ашыруу кошулду;
    • DHCP аркылуу HTTP прокси орнотууларын алуу мүмкүнчүлүгүн ишке ашырды;
    • Microsoft Passport кызматы аркылуу аутентификация сурамдарын кайра багыттоо үчүн кошумча колдоо;
  • Криптография
    • GnuTLS колдонууда эллиптикалык ийри криптографиялык ачкычтарды (ECC) колдоо ишке ашырылды;
    • PFX форматындагы файлдардан ачкычтарды жана сертификаттарды импорттоо мүмкүнчүлүгү кошулду;
    • PBKDF2 сырсөзүнүн негизинде ачкычтарды түзүү схемасы үчүн кошумча колдоо;
  • Текст жана шрифттер
    • DirectWrite API ишке ашыруу менен байланышкан OpenType өзгөчөлүктөрү үчүн колдоо кошулду глифтин жайгашуусу, алар демейки боюнча латын стили үчүн иштетилген, анын ичинде кернинг;
    • Ар кандай маалымат таблицаларын колдонуудан мурун алардын тууралыгын текшерүү аркылуу шрифттик маалыматтарды иштетүү үчүн коопсуздукту жакшыртуу;
    • DirectWrite интерфейстери акыркы SDK менен шайкеш келтирилди;
  • Үн жана видео
    • Үн API жаңы ишке ашыруу сунушталды XAudio2, долбоордун негизинде курулган FAudio. Шарапта FAudio колдонуу оюндарда үндүн жогорку сапатына жетүү жана үн көлөмүн аралаштыруу жана өркүндөтүлгөн үн эффекттери сыяктуу функцияларды колдонууга мүмкүндүк берет;
    • Медиа Фондунун негизин ишке ашырууга көптөгөн жаңы чалуулар кошулду, анын ичинде орнотулган жана ыңгайлаштырылган асинхрондук кезектер, Source Reader API, Media Session ж.б.
    • Видео тартуу чыпкасы v4l2 API ордуна v4l1 API колдонууга которулду, ал колдоого алынган камералардын диапазонун кеңейтти;
    • Камтылган AVI, MPEG-I жана WAVE декодерлери алынып салынды, алардын ордуна азыр GStreamer же QuickTime системасы колдонулууда;
    • VMR7 конфигурациясынын API'лер тобу кошулду;
    • Үн драйверлерине жеке каналдардын үнүн тууралоо үчүн кошумча колдоо;
  • Интернационалдаштыруу
    • Юникод таблицалары 12.1.0 версиясына жаңыртылган;
    • Юникодду нормалдаштырууну колдоо ишке ашырылды;
    • Учурдагы тилге негизделген географиялык аймакты автоматтык түрдө орнотуу (HKEY_CURRENT_USER\Control Panel\International\Geo) камсыздалган;
  • RPC/COM
    • Typelibге татаал структуралар жана массивдер үчүн кошумча колдоо;
    • Windows Script иштөө убактысы китепканасынын баштапкы ишке ашырылышы кошулду;
    • ADO (Microsoft ActiveX Data Objects) китепканасынын баштапкы ишке ашырылышы кошулду;
  • Орнотуучулар
    • MSI орнотуучусу үчүн патчтарды (патч файлдары) жеткирүү үчүн колдоо көрсөтүлдү;
    • WUSA (Windows Update Standalone Installer) утилитасы эми жаңыртууларды .MSU форматында орнотуу мүмкүнчүлүгүнө ээ;
  • ARM платформасы
    • ARM64 архитектурасы үчүн ntdllге стекти ачуу үчүн колдоо кошулду. Тышкы libunwind китепканаларын туташтыруу үчүн кошумча колдоо;
    • ARM64 архитектурасы үчүн объект интерфейстери үчүн үзгүлтүксүз проксилерди колдоо ишке ашырылган;
  • Иштеп чыгуу куралдары / Winelib
    • Шарапта иштеген колдонмолорду алыстан оңдоо үчүн Visual Studio'дон мүчүлүштүктөрдү оңдоочу колдонуу мүмкүнчүлүгү кошулду;
    • DBGENG (Debug Engine) китепканасы жарым-жартылай ишке ашырылды;
    • Windows үчүн түзүлгөн экилик файлдар libwine'ден көз каранды болбой калды, алар Windows'до кошумча көз карандылыксыз иштөөгө мүмкүндүк берет;
    • Баш файлдын жолун аныктоо үчүн Ресурстарды түзүүчүлөргө жана IDL компиляторлоруна '--sysroot' опциясы кошулду;
    • Winegccге '—target', '—wine-objdir', '—wine-objdir' опциялары кошулду
      '—winebuild' жана '-fuse-ld', алар кайчылаш компиляция үчүн чөйрөнү орнотууну жөнөкөйлөштүрөт;

  • Камтылган колдонмолор
    • Консолдук коддоону конфигурациялоо үчүн CHCP утилитасын ишке киргизди;
    • MSI форматындагы маалымат базаларын манипуляциялоо үчүн MSIDB утилитасы ишке киргизилди;
  • Оптималдаштыруу
    • Көптөгөн оюндардын рендердик циклинде ашыкча чыгымды азайтып, жогорку натыйжалуу системанын таймер функцияларын колдонуу үчүн ар кандай убакыт функциялары көчүрүлдү;
    • FSде Ext4 колдонуу мүмкүнчүлүгү кошулду режим тамга сезгичтиги жок иштөө;
    • LBS_NODATA режиминде иштеген тизме дисплей диалогдорунда көп сандагы элементтерди иштетүүнүн өндүрүмдүүлүгү оптималдаштырылды;
    • Futex тилине которулган Linux үчүн SRW кулпуларын (Slim Reader/Writer) тезирээк ишке ашыруу кошулду;
  • Тышкы көз карандылыктар
    • PE форматындагы модулдарды чогултуу үчүн MinGW-w64 кайчылаш компилятору колдонулат;
    • XAudio2ди ишке ашыруу FAudio китепканасын талап кылат;
    • BSD системаларындагы файл өзгөрүүлөрүнө көз салуу үчүн
      Inotify китепканасы колдонулат;

    • ARM64 платформасында өзгөчө кырдаалдарды чечүү үчүн Unwind китепканасы талап кылынат;
    • Video4Linux1дин ордуна, Video4Linux2 китепканасы азыр талап кылынат.

Source: opennet.ru

Комментарий кошуу