Wine 8.0-ի կայուն թողարկում

Մեկ տարվա մշակումից և 28 փորձնական տարբերակներից հետո ներկայացվեց Win32 API-ի բաց ներդրման կայուն թողարկում՝ Wine 8.0, որն իր մեջ ներառում էր ավելի քան 8600 փոփոխություն: Նոր տարբերակի հիմնական ձեռքբերումը նշանավորում է Wine մոդուլները ձևաչափի թարգմանելու աշխատանքների ավարտը:

Wine-ը հաստատել է Windows-ի համար 5266 (մեկ տարի առաջ՝ 5156, երկու տարի առաջ՝ 5049) ծրագրերի ամբողջական աշխատանքը, ևս 4370 (մեկ տարի առաջ՝ 4312, երկու տարի առաջ՝ 4227) ծրագրերը հիանալի աշխատում են լրացուցիչ կարգավորումներով և արտաքին DLL-ներով։ 3888 ծրագրեր (3813 մեկ տարի առաջ, 3703 երկու տարի առաջ) ունեն աննշան գործառնական խնդիրներ, որոնք չեն խանգարում հավելվածների հիմնական գործառույթների օգտագործմանը:

Հիմնական նորամուծությունները Wine 8.0-ում.

  • Մոդուլներ PE ձևաչափով
    • Չորս տարվա աշխատանքից հետո ավարտվել է բոլոր DLL գրադարանների փոխակերպումը PE (Portable Executable, օգտագործվում է Windows-ում) գործարկվող ֆայլի ձևաչափով: PE-ի օգտագործումը թույլ է տալիս օգտագործել Windows-ի համար հասանելի վրիպազերծիչներ և լուծում է տարբեր պատճենների պաշտպանության սխեմաների աջակցման հետ կապված խնդիրներ, որոնք ստուգում են համակարգի մոդուլների ինքնությունը սկավառակի վրա և հիշողության մեջ: Լուծվել են նաև 32-բիթանոց հոսթների վրա 64-բիթանոց հավելվածների և ARM համակարգերում x86 հավելվածների գործարկման հետ կապված խնդիրները։ Մնացած խնդիրների շարքում, որոնք նախատեսվում է լուծել Wine 8.x-ի հետագա փորձնական թողարկումներում, կա մոդուլների անցում դեպի NT համակարգի զանգի միջերես՝ PE և Unix շերտերի միջև ուղղակի զանգեր կատարելու փոխարեն:
    • Ներդրվել է հատուկ համակարգային զանգերի կառավարիչ, որն օգտագործվում է PE-ից Unix գրադարաններ թարգմանելու համար, որպեսզի նվազեցնի ամբողջական NT համակարգային զանգի կատարման ծախսերը: Օրինակ, օպտիմիզացիան թույլ տվեց նվազեցնել կատարողականի վատթարացումը OpenGL և Vulkan գրադարաններից օգտվելիս:
    • Winelib հավելվածները պահպանում են ELF (.dll.so) գրադարանների խառը Windows/Unix հավաքներ օգտագործելու հնարավորությունը, սակայն նման հավելվածներն առանց 32-բիթանոց գրադարանների չեն աջակցի NT համակարգի զանգերի միջերեսի միջոցով հասանելի գործառույթներին, ինչպիսին է WoW64-ը:
  • WoW64
    • WoW64 (64-բիթ Windows-on-Windows) շերտերը տրամադրված են բոլոր Unix գրադարանների համար, որոնք թույլ են տալիս PE ձևաչափով 32-բիթանոց մոդուլներին մուտք գործել 64-բիթանոց Unix գրադարաններ, որոնք, PE/Unix ուղղակի զանգերից ազատվելուց հետո, այն կդարձնեն: հնարավոր է կատարել 32-բիթանոց Windows հավելվածներ՝ առանց 32-բիթանոց Unix գրադարաններ տեղադրելու:
    • 32-բիթանոց Wine loader-ի բացակայության դեպքում 32-բիթանոց հավելվածները կարող են աշխատել Windows-ի նման նոր WoW64 ռեժիմով, որտեղ 32-բիթանոց կոդը աշխատում է 64-բիթանոց գործընթացում: Ռեժիմը միացված է Wine-ի ստեղծման ժամանակ «—enable-archs» տարբերակով։
  • Գրաֆիկական ենթահամակարգ
    • Լռելյայն կոնֆիգուրացիան օգտագործում է թեթև թեման («Light»): Դուք կարող եք փոխել թեման՝ օգտագործելով WineCfg կոմունալ ծրագիրը:
      Wine 8.0-ի կայուն թողարկում
    • Գրաֆիկական դրայվերները (winex11.drv, winemac.drv, wineandroid.drv) փոխակերպվում են Unix մակարդակով համակարգային զանգեր կատարելու և վարորդներին մուտք գործելու համար Win32u գրադարանի միջոցով:
      Wine 8.0-ի կայուն թողարկում
    • Կիրառվել է Print Processor ճարտարապետությունը, որն օգտագործվում է տպիչի դրայվերում PE և Unix մակարդակների միջև ուղղակի զանգերը վերացնելու համար:
    • Direct2D API-ն այժմ աջակցում է էֆեկտներին:
    • Direct2D API-ն ավելացրել է հրամանների ցուցակները ձայնագրելու և նվագելու հնարավորություն:
    • Vulkan գրաֆիկական API-ի դրայվերն ավելացրել է աջակցություն Vulkan 1.3.237 ճշգրտման համար (Vulkan 7-ն աջակցվում էր Wine 1.2-ում):
  • Direct3D- ը
    • Ավելացվել է նոր շեյդեր կոմպիլյատոր HLSL-ի համար (High-Level Shader Language), որն իրականացվել է vkd3d-shader գրադարանի հիման վրա: Նաև vkd3d-shader-ի հիման վրա պատրաստվել է HLSL ապամոնտաժող և HLSL նախապրոցեսոր:
    • D3DX 10-ում ներկայացված Thread Pump ինտերֆեյսը ներդրվել է:
    • Direct3D 10-ի էֆեկտները աջակցում են բազմաթիվ նոր արտահայտությունների:
    • D3DX 9-ի աջակցման գրադարանն այժմ աջակցում է Cubemap հյուսվածքների նախագծմանը:
  • Ձայն և տեսանյութ
    • GStreamer շրջանակի հիման վրա իրականացվել է MPEG-1 ձևաչափով ձայնի վերծանման ֆիլտրերի աջակցություն:
    • Ավելացվել է ֆիլտր՝ ASF (Advanced Systems Format) ձևաչափով հոսքային աուդիո և վիդեո ընթերցման համար:
    • OpenAL32.dll-ի միջանկյալ գրադարանային շերտը հեռացվել է, որի փոխարեն այժմ օգտագործվում է հավելվածներով ապահովված Windows-ի բնիկ OpenAL32.dll գրադարանը:
    • Media Foundation Player-ը բարելավել է բովանդակության տեսակի հայտնաբերումը:
    • Իրականացվել է տվյալների փոխանցման արագությունը վերահսկելու հնարավորությունը (Rate control):
    • Բարելավված աջակցություն լռելյայն խառնիչի և հաղորդավարի ընդլայնված տեսաարտադրող սարքում (EVR):
    • Ավելացվեց Writer Encoding API-ի նախնական իրականացումը:
    • Տոպոլոգիայի բեռնիչի բարելավված աջակցություն:
  • Մուտքագրեք սարքերը
    • Զգալիորեն բարելավված աջակցություն կարգավորիչների տաք միացման համար:
    • Առաջարկվում է SDL գրադարանի հիման վրա կառուցված խաղի ղեկի որոշման կոդի բարելավված ներդրում:
    • Ուժի հետադարձ կապի էֆեկտի բարելավված աջակցություն խաղային անիվների օգտագործման ժամանակ:
    • Ձախ և աջ թրթռումային շարժիչները կառավարելու հնարավորությունը, օգտագործելով HID Haptic ճշգրտումը, իրականացվել է:
    • Փոխվել է joystick կառավարման վահանակի դիզայնը:
    • Sony DualShock և DualSense կարգավորիչների աջակցությունը տրամադրվում է hidraw backend-ի օգտագործման միջոցով:
    • WinRT մոդուլը Windows.Gaming.Input-ն առաջարկվում է ծրագրային ինտերֆեյսի ներդրմամբ՝ խաղային վահանակներ, ջոյստիկներ և խաղային անիվներ մուտք գործելու համար: Նոր API-ի համար, ի թիվս այլ բաների, իրականացվում է սարքերի տաք խցանման, շոշափելի և թրթռման էֆեկտների մասին ծանուցման աջակցություն:
  • Միջազգայնացում
    • Ապահովված է Unicode CLDR (Unicode Common Locale Data Repository) պահոցից locale.nls ձևաչափով ճիշտ տեղային տվյալների բազայի ստեղծումը:
    • Unicode տողերի համեմատման գործառույթները տեղափոխվել են՝ Unicode Collation ալգորիթմի փոխարեն տվյալների բազան և Windows Sortkey ալգորիթմը օգտագործելու համար՝ ավելի մոտեցնելով վարքագիծը Windows-ին:
    • Գործառույթներից շատերը աջակցություն են ավելացրել Unicode ծածկագրի վերին տիրույթների համար (ինքնաթիռներ):
    • Հնարավոր է օգտագործել UTF-8 որպես ANSI կոդավորում:
    • Նիշերի աղյուսակները թարմացվել են Յունիկոդ 15.0.0 բնութագրով:
  • Տեքստ և տառատեսակներ
    • Տառատեսակների կապակցումը միացված է համակարգային տառատեսակների մեծ մասի համար՝ լուծելով չինական, կորեական և ճապոնական տեղայնացումներով համակարգերում բացակայող հոլովակների խնդիրը:
    • Վերամշակված հետադարձ տառատեսակի փոխարինում DirectWrite-ում:
  • միջուկ (Windows միջուկի միջերես)
    • Իրականացվել է ApiSetSchema տվյալների բազան, որը փոխարինեց api-ms-* մոդուլները և նվազեցրեց սկավառակի և հասցեների տարածքի սպառումը:
    • DOS ֆայլի ատրիբուտները պահվում են սկավառակի վրա Samba-ի հետ համատեղելի ձևաչափով՝ օգտագործելով ընդլայնված FS ատրիբուտները:
  • Ingանցային հատկություններ
    • Ավելացված է աջակցություն OCSP-ին (Վկայագրի կարգավիճակի առցանց արձանագրություն), որն օգտագործվում է չեղյալ համարված վկայագրերը ստուգելու համար:
    • Ընդլայնվել է JavaScript-ի ստանդարտների համապատասխանության ռեժիմում հասանելի EcmaScript-ի գործառույթների շրջանակը:
    • Իրականացրել է աղբահավաք JavaScript-ի համար:
    • Gecko շարժիչի փաթեթը ներառում է հնարավորություններ հաշմանդամություն ունեցող անձանց համար:
    • MSHTML-ն ավելացնում է Web Storage API-ի, Performance օբյեկտի և իրադարձությունների մշակման լրացուցիչ օբյեկտների աջակցություն:
  • Ներկառուցված հավելվածներ
    • Բոլոր ներկառուցված հավելվածները փոխակերպվել են՝ օգտագործելու Common Controls 6 գրադարանը՝ դիզայնի թեմաների աջակցությամբ և ցուցադրման՝ հաշվի առնելով բարձր պիքսելային խտությամբ էկրանները:
    • Գինու վրիպազերծիչում (winedbg) թելերը վրիպազերծելու ընդլայնված հնարավորություններ:
    • Ռեեստրի կոմունալ ծառայությունները (REGEDIT և REG) այժմ աջակցում են QWORD տիպին:
    • Notepad-ն ավելացրել է կարգավիճակի գիծ՝ կուրսորի դիրքի մասին տեղեկություններով և Goto Line ֆունկցիա՝ նշված տողի համարին անցնելու համար:
    • Ներկառուցված վահանակն ապահովում է տվյալների ելք OEM կոդի էջում:
    • «Հարցում» հրամանն ավելացվել է sc.exe (Service Control) օգտակար ծրագրին:
  • Հավաքման համակարգ
    • Տրված է մի քանի ճարտարապետության համար PE ձևաչափով գործարկվող ֆայլեր ստեղծելու հնարավորություն (օրինակ՝ «—enable-archs=i386,x86_64»)։
    • 32-բիթանոց երկար տիպի բոլոր հարթակներում Windows-ում սահմանված տվյալների տեսակներն այժմ վերասահմանվում են որպես «long» Wine-ում «int» փոխարեն: Winelib-ում այս վարքագիծը կարող է անջատվել WINE_NO_LONG_TYPES սահմանման միջոցով:
    • Ավելացվեց գրադարաններ ստեղծելու հնարավորություն՝ առանց dlltool-ի օգտագործման (միացված է winebuild-ում «—առանց dlltool» տարբերակը դնելով):
    • Բեռնման արդյունավետությունը բարելավելու և առանց կոդերի, միայն ռեսուրսներով գրադարանների չափը նվազեցնելու համար winegcc-ն իրականացնում է «միայն տվյալների» տարբերակը:
  • Ժողովածու
    • Ներկառուցված գրադարանների թարմացված տարբերակները Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXml1.1.37 1.2.13, XNUMXlt
    • Wine Mono շարժիչը .NET հարթակի ներդրմամբ թարմացվել է՝ թողարկելու 7.4:
    • Իրականացվել է RSA ալգորիթմի և RSA-PSS թվային ստորագրությունների վրա հիմնված գաղտնագրման աջակցություն:
    • Ավելացվեց UI Automation API-ի նախնական տարբերակը:
    • Աղբյուրի ծառը ներառում է LDAP և vkd3d գրադարանները, որոնք կազմված են PE ձևաչափով՝ վերացնելով այդ գրադարանների Unix հավաքների մատակարարման անհրաժեշտությունը։
    • OpenAL գրադարանը դադարեցվել է:

Source: opennet.ru

Добавить комментарий