Valve-ը թողարկում է Proton 4.11-ը՝ Windows-ի խաղեր Linux-ով գործարկելու փաթեթ

Փական ընկերություն опубликовала նոր նախագծի մասնաճյուղ Պրոտոն 4.11, հիմնված Wine նախագծի զարգացումների վրա և ուղղված է Windows-ի համար ստեղծված և Linux-ի Steam կատալոգում ներկայացված խաղային հավելվածների գործարկման ապահովմանը։ Ծրագրի զարգացումներ տարածվել BSD լիցենզիայի ներքո: Քանի որ դրանք պատրաստ են, Proton-ում մշակված փոփոխությունները փոխանցվում են բնօրինակ Wine-ին և հարակից նախագծերին, ինչպիսիք են DXVK-ն և vkd3d-ը:

Proton-ը թույլ է տալիս ուղղակիորեն գործարկել միայն Windows-ի համար նախատեսված խաղային հավելվածները Steam Linux հաճախորդում: Փաթեթը ներառում է DirectX 10/11-ի իրականացում (հիմնված DXVK) և 12 (հիմնված vkd3d), աշխատելով Vulkan API-ի DirectX զանգերի միջոցով, ապահովում է բարելավված աջակցություն խաղերի կարգավորիչներին և լիաէկրան ռեժիմն օգտագործելու հնարավորություն՝ անկախ խաղերում աջակցվող էկրանի լուծումներից: Համեմատած օրիգինալ Wine-ի հետ, բազմաթելային խաղերի կատարումը զգալիորեն ավելացել է patches-ի օգտագործման շնորհիվ:esync«(Eventfd Synchronization) կամ «futex/fsync»:

Հիմնական փոփոխություններ Proton 4.11-ում:

  • Կատարվել է սինխրոնիզացիա Wine 4.11 կոդերի բազայի հետ, որից փոխանցվել են ավելի քան 3300 փոփոխություններ (նախորդ մասնաճյուղը հիմնված էր գինու 4.2-ի վրա): Proton 154-ի 4.2 patches տեղափոխվել են հոսանքին հակառակ և այժմ ներառված են հիմնական Wine փաթեթում;
  • Ավելացվեց փորձարարական աջակցություն համաժամացման պրիմիտիվների համար՝ հիմնված futex() համակարգի կանչի վրա, ինչը նվազեցնում է պրոցեսորի ծանրաբեռնվածությունը esync-ի համեմատ: Բացի այդ, նոր ներդրումը լուծում է օգտագործման անհրաժեշտության հետ կապված խնդիրներ հատուկ պարամետրեր esync-ի և հասանելի ֆայլերի նկարագրիչների հնարավոր սպառման համար:

    Կատարվող աշխատանքի էությունն այն է, որ ընդլայնել ստանդարտ futex() համակարգի կանչի ֆունկցիոնալությունը Linux միջուկում՝ թելերի լողավազանի օպտիմալ համաժամացման համար անհրաժեշտ հնարավորություններով: Proton-ի համար անհրաժեշտ FUTEX_WAIT_MULTIPLE դրոշի աջակցությամբ պատչերն արդեն կան փոխանցվել է հիմնական Linux միջուկում ներառելու համար և Գլիբկ. Պատրաստված փոփոխությունները դեռ ներառված չեն հիմնական միջուկում, ուստի այս պահին անհրաժեշտ է հաստատում հատուկ միջուկ, որն աջակցում է այս պարզունակներին.

    Valve-ը թողարկում է Proton 4.11-ը՝ Windows-ի խաղեր Linux-ով գործարկելու փաթեթ

  • Միջաշերտ DXVK (DXGI, Direct3D 10 և Direct3D 11-ի ներդրում Vulkan API-ի վերևում) թարմացվել է տարբերակին 1.3Իսկ D9VK (Direct3D 9-ի փորձարարական իրականացում Vulkan-ի վերևում) մինչև 0.13f տարբերակը: Proton-ում D9VK-ի աջակցությունը միացնելու համար օգտագործեք PROTON_USE_D9VK դրոշը;
  • Մոնիտորի թարմացման ընթացիկ արագությունը փոխանցվում է խաղերին.
  • Ուղղումներ են արվել մկնիկի ֆոկուսի և պատուհանների կառավարման համար.
  • Հաստատված մուտքային ուշացում և ջոյստիկների թրթռման աջակցության հետ կապված խնդիրներ, որոնք առաջանում են որոշ խաղերում, հատկապես՝ Unity շարժիչի վրա հիմնված խաղերում.
  • Ավելացված է աջակցություն OpenVR SDK-ի վերջին տարբերակի համար;
  • FAudio բաղադրիչները DirectX ձայնային գրադարանների ներդրմամբ (API XAudio2, X3DAudio, XAPO և XACT3) թարմացվել են՝ թողարկվելով 19.07;
  • Ցանցային ենթահամակարգի հետ կապված խնդիրները GameMaker-ի խաղերում լուծված են.
  • Wine շատ մոդուլներ այժմ կառուցված են որպես Windows PE ֆայլեր՝ Linux գրադարանների փոխարեն: Քանի որ այս ոլորտում աշխատանքներն ընթանում են, PE-ի օգտագործումը կօգնի որոշ DRM և հակաքաղցկեղային համակարգերի: Եթե ​​դուք օգտագործում եք հատուկ Proton build-ներ, ամենայն հավանականությամբ, ձեզ անհրաժեշտ կլինի վերստեղծել Vagrant վիրտուալ մեքենան՝ PE ֆայլերը ստեղծելու համար:

Մինչ Valve-ի պատչերն ընդունվել են Linux-ի հիմնական միջուկում, esync-ի փոխարեն futex() օգտագործելը պահանջում է հատուկ միջուկի տեղադրում, որը աջակցում է շղթաների համաժամացման լողավազանին, որն իրականացվում է մի շարք patches-ում: fsync. Arch Linux-ի համար արդեն AUR-ում հրատարակված պատրաստի միջուկի փաթեթ՝ կազմված fsync patches-ով։ Ubuntu 18.04-ում և 19.04-ում դուք կարող եք օգտագործել linux-mfutex-valve փորձնական միջուկը PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Եթե ​​դուք ունեք միջուկ fsync-ի աջակցությամբ, Proton 4.11-ն աշխատեցնելիս վահանակը կցուցադրի «fsync: up and running» հաղորդագրությունը: Դուք կարող եք ստիպել, որ fsync-ն անջատվի՝ օգտագործելով PROTON_NO_FSYNC=1 դրոշը:

Source: opennet.ru

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