Valve Linux жүйесінде Windows ойындарын іске қосуға арналған Proton 4.11 жиынтығын шығарады

Valve компаниясы жарияланған жаңа жоба филиалы Протон 4.11, Wine жобасының әзірлемелеріне негізделген және Windows үшін жасалған және Linux жүйесіндегі Steam каталогында ұсынылған ойын қосымшаларын іске қосуды қамтамасыз етуге бағытталған. Жобалық әзірлемелер кеңейтіңіз BSD лицензиясы бойынша. Олар дайын болған кезде, Proton жүйесінде жасалған өзгертулер бастапқы Wine және DXVK және vkd3d сияқты қатысты жобаларға тасымалданады.

Proton Steam Linux клиентінде тек Windows жүйесіндегі ойын қолданбаларын тікелей іске қосуға мүмкіндік береді. Пакет DirectX 10/11 нұсқасын қамтиды (негізделген DXVK) және 12 (негізделген vkd3d), DirectX қоңырауларын Vulkan API интерфейсіне аудару арқылы жұмыс істеу, ойын контроллері үшін жақсартылған қолдауды және ойындарда қолдау көрсетілетін экран ажыратымдылығына қарамастан толық экран режимін пайдалану мүмкіндігін қамтамасыз етеді. Түпнұсқа Шараппен салыстырғанда, патчтарды қолданудың арқасында көп ағынды ойындардың өнімділігі айтарлықтай артты »синхрондау"(Eventfd Synchronization) немесе "futex/fsync".

басты Протондағы өзгерістер 4.11:

  • Wine 4.11 кодтық базасымен синхрондау жүзеге асырылды, одан 3300-ден астам өзгертулер тасымалданды (алдыңғы бөлім шарап 4.2 негізінде жасалған). Proton 154 4.2 патчтары жоғарыға жылжытылды және енді негізгі Шарап пакетіне қосылды;
  • Futex() жүйелік шақыруына негізделген үндестіру примитивтеріне эксперименттік қолдау қосылды, ол синхрондаумен салыстырғанда CPU жүктемесін азайтады. Сонымен қатар, жаңа енгізу пайдалану қажеттілігімен проблемаларды шешеді арнайы параметрлер синхрондау және қолжетімді файл дескрипторларының ықтимал таусылуы үшін.

    Атқарылып жатқан жұмыстың мәні Linux ядросындағы стандартты futex() жүйелік шақыруының функционалдығын ағындар пулын оңтайлы синхрондау үшін қажетті мүмкіндіктермен кеңейту болып табылады. Proton үшін қажет FUTEX_WAIT_MULTIPLE жалауын қолдайтын патчтар қазірдің өзінде бар ауыстырылды негізгі Linux ядросына қосу үшін және glibc. Дайындалған өзгерістер әлі негізгі ядроға қосылмаған, сондықтан қазіргі уақытта қажет орнату осы примитивтерге қолдау көрсететін арнайы ядро;

    Valve Linux жүйесінде Windows ойындарын іске қосуға арналған Proton 4.11 жиынтығын шығарады

  • Қабатаралық DXVK (Vulkan API жоғарғы жағында DXGI, Direct3D 10 және Direct3D 11 енгізу) нұсқаға жаңартылды 1.3мен D9VK (Вулканның жоғарғы жағында Direct3D 9 эксперименттік орындалуы) 0.13f нұсқасына дейін. Proton жүйесінде D9VK қолдауын қосу үшін PROTON_USE_D9VK жалауын пайдаланыңыз;
  • Ағымдағы монитордың жаңару жылдамдығы ойындарға жіберіледі;
  • Тінтуірдің фокусын және терезені басқаруды өңдеу үшін түзетулер жасалды;
  • Кейбір ойындарда, әсіресе Unity қозғалтқышы негізіндегі ойындарда пайда болатын енгізу кідірісі және джойстиктерге арналған дірілді қолдау мәселелері;
  • OpenVR SDK соңғы нұсқасына қолдау қосылды;
  • DirectX дыбыс кітапханаларын (API XAudio2, X3DAudio, XAPO және XACT3) жүзеге асыратын FAudio құрамдастары 19.07. шығарылымға дейін жаңартылды;
  • GameMaker-тегі ойындардағы желілік ішкі жүйеге қатысты мәселелер шешілді;
  • Көптеген Wine модульдері қазір Linux кітапханаларының орнына Windows PE файлдары ретінде құрастырылған. Осы саладағы жұмыс ілгерілеген сайын, PE пайдалану кейбір DRM және алдауға қарсы жүйелерге көмектеседі. Теңшелетін Proton құрастырмаларын пайдалансаңыз, PE файлдарын құру үшін Vagrant виртуалды машинасын қайта жасау қажет болуы мүмкін.

Valve патчтары негізгі Linux ядросына қабылданбай тұрып, esync орнына futex() пайдалану патчтар жинағында жүзеге асырылған ағынды синхрондау пулын қолдауы бар арнайы ядроны орнатуды қажет етеді. fsync. AUR ішіндегі Arch Linux үшін жарияланған fsync патчтарымен құрастырылған дайын ядро ​​пакеті. Ubuntu 18.04 және 19.04 нұсқаларында linux-mfutex-клапан эксперименттік ядросының PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve) пайдалануға болады;

Егер сізде fsync қолдауы бар ядро ​​болса, Proton 4.11 іске қосылғанда, консоль «fsync: қосулы және жұмыс істейді» хабарын көрсетеді. PROTON_NO_FSYNC=1 жалаушасын пайдаланып fsync өшіруге мәжбүрлей аласыз.

Ақпарат көзі: opennet.ru

пікір қалдыру