Valve eldonas Proton 4.11, aron por ruli Vindozajn ludojn en Linukso

Valva Kompanio eldonita nova projektbranĉo Protono 4.11, surbaze de la evoluoj de la projekto Wine kaj celita certigi la lanĉon de videoludaj aplikaĵoj kreitaj por Vindozo kaj prezentitaj en la katalogo de Steam en Linukso. Projektaj evoluoj disvastigi sub BSD-licenco. Ĉar ili estas pretaj, la ŝanĝoj evoluigitaj en Proton estas transdonitaj al la originala Wine kaj rilataj projektoj, kiel ekzemple DXVK kaj vkd3d.

Proton permesas al vi rekte ruli nur Vindozajn videoludajn aplikaĵojn en la Steam Linuksa kliento. La pako inkluzivas efektivigon de DirectX 10/11 (bazita sur DXVK) kaj 12 (surbaze de vkd3d), laborante per traduko de DirectX-vokoj al la Vulkan API, disponigas plibonigitan subtenon por ludregiloj kaj la kapablon uzi plenekranan reĝimon sendepende de la ekranrezolucioj subtenataj en ludoj. Kompare kun la originala Wine, la agado de plurfadenaj ludoj signife pliiĝis danke al la uzo de diakiloj "sinkronigi"(Eventfd Sinkronigo) aŭ "futex/fsync".

Ĉefa ŝanĝoj en Proton 4.11:

  • Sinkronigo kun la kodbazo Wine 4.11 estis efektivigita, el kiu estis transdonitaj pli ol 3300 ŝanĝoj (la antaŭa branĉo baziĝis sur vino 4.2). 154 diakiloj de Proton 4.2 estis movitaj kontraŭflue kaj nun estas inkluditaj en la ĉefa Wine-pakaĵo;
  • Aldonita eksperimenta subteno por sinkronigaj primitivuloj bazitaj sur la sistemvoko futex(), kiu reduktas la CPU-ŝarĝon kompare kun esync. Krome, la nova efektivigo solvas problemojn kun la bezono uzi specialaj agordoj por sinkronigi kaj ebla elĉerpiĝo de disponeblaj dosierpriskribiloj.

    La esenco de la laboro farita estas vastigi la funkciecon de la norma futex() sistemvoko en la Linukso-kerno kun la kapabloj necesaj por optimuma sinkronigo de la fadena aro. Flikaĵoj kun subteno por la flago FUTEX_WAIT_MULTIPLE necesa por Proton jam estas translokigita por inkludo en la ĉefa Linuksa kerno kaj glibc. La pretaj ŝanĝoj ankoraŭ ne estas inkluzivitaj en la ĉefa kerno, do nuntempe ĝi estas necesa establi speciala kerno kun subteno por ĉi tiuj primitivuloj;

    Valve eldonas Proton 4.11, aron por ruli Vindozajn ludojn en Linukso

  • Intertavolo DXVK (efektivigo de DXGI, Direct3D 10 kaj Direct3D 11 aldone al la Vulkan API) ĝisdatigita al versio 1.3kaj D9VK (eksperimenta efektivigo de Direct3D 9 aldone al Vulkan) ĝis versio 0.13f. Por ebligi D9VK-subtenon en Proton, uzu la flagon PROTON_USE_D9VK;
  • La nuna monitora refreŝiga indico estas transdonita al ludoj;
  • Korektoj estis faritaj por pritrakti musan fokuson kaj fenestroadministradon;
  • Korektis enigmalfruon kaj problemojn kun vibrado-subteno por stirstangoj kiuj okazas en iuj ludoj, precipe en ludoj bazitaj sur la Unity-motoro;
  • Aldonita subteno por la plej nova versio de OpenVR SDK;
  • FAudio-komponentoj kun efektivigo de DirectX sonbibliotekoj (API XAudio2, X3DAudio, XAPO kaj XACT3) estis ĝisdatigitaj por liberigi 19.07;
  • Problemoj kun la reto-subsistemo en ludoj sur GameMaker estis solvitaj;
  • Multaj Wine-moduloj nun estas konstruitaj kiel Windows PE-dosieroj anstataŭ Linukso-bibliotekoj. Dum laboro en ĉi tiu areo progresas, la uzo de PE helpos iujn DRM kaj kontraŭ-trompantajn sistemojn. Se vi uzas kutimajn Proton-konstruaĵojn, vi plej verŝajne devos rekrei la virtualan maŝinon Vagrant por konstrui la PE-dosierojn.

Antaŭ ol la flikoj de Valve estas adoptitaj en la ĉefan Linuksan kernon, uzi futex () anstataŭ esync postulas instali specialan kernon kun subteno por la fadena sinkroniga naĝejo efektivigita en aro de flikoj. fsync. Por Arch Linux en AUR jam eldonita preta kernpakaĵo kompilita per fsync-flakoj. Sur Ubuntu 18.04 kaj 19.04, vi povas uzi la eksperimentan kernon linux-mfutex-valve PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Se vi havas kernon kun fsync-subteno, kiam vi rulas Proton 4.11, la konzolo montros la mesaĝon "fsync: up and running". Vi povas devigi fsync esti malŝaltita uzante la flago PROTON_NO_FSYNC=1.

fonto: opennet.ru

Aldoni komenton