Valve, Linux-da Windows oyunlarını idarə etmək üçün Proton 4.11 paketini buraxır

Valve şirkəti nəşr olundu yeni layihə filialı Proton 4.11, Wine layihəsinin inkişafı əsasında və Windows üçün yaradılmış və Linux-da Steam kataloqunda təqdim olunan oyun proqramlarının işə salınmasını təmin etmək məqsədi daşıyır. Layihə inkişafları yayılma BSD lisenziyası altında. Hazır olan kimi, Protonda hazırlanmış dəyişikliklər orijinal Şərab və DXVK və vkd3d kimi əlaqəli layihələrə köçürülür.

Proton, Steam Linux müştərisində yalnız Windows üçün oyun proqramlarını birbaşa işə salmağa imkan verir. Paketə DirectX 10/11 tətbiqi daxildir ( DXVK) və 12 (əsasən vkd3d) DirectX zənglərini Vulkan API-yə çevirməklə işləyən bu, oyun nəzarətçiləri üçün təkmilləşdirilmiş dəstək və oyunlarda dəstəklənən ekran qətnamələrindən asılı olmayaraq tam ekran rejimindən istifadə etmək imkanı verir. Orijinal Wine ilə müqayisədə, yamaqların tətbiqi sayəsində çox yivli oyunların performansı əhəmiyyətli dərəcədə artırıldı "sinxronizasiya"(Eventfd Sinxronizasiya) və ya "futex/fsync".

Əsas Proton 4.11-də dəyişikliklər:

  • Wine 4.11 kod bazası ilə sinxronizasiya həyata keçirildi, ondan 3300-dən çox dəyişiklik köçürüldü (əvvəlki filial şərab 4.2 əsasında idi). Proton 154-dən 4.2 yamaq yuxarıya köçürülüb və indi əsas Şərab paketinə daxil edilib;
  • futex() sistem çağırışına əsaslanan sinxronizasiya primitivləri üçün eksperimental dəstək əlavə edildi ki, bu da esync ilə müqayisədə CPU yükünü azaldır. Bundan əlavə, yeni tətbiq istifadə ehtiyacı olan problemləri həll edir xüsusi parametrlər mövcud fayl deskriptorlarının sinxronizasiyası və mümkün tükənməsi üçün.

    Görülən işlərin mahiyyəti iplik hovuzunun optimal sinxronlaşdırılması üçün lazım olan imkanlarla Linux nüvəsində standart futex() sistem çağırışının funksionallığını genişləndirməkdən ibarətdir. Proton üçün lazım olan FUTEX_WAIT_MULTIPLE bayrağını dəstəkləyən yamaqlar artıq mövcuddur köçürüldü əsas Linux nüvəsinə daxil olmaq üçün və glibc. Hazırlanmış dəyişikliklər hələ əsas nüvəyə daxil edilməyib, ona görə də hazırda bu lazımdır qurmaq bu primitivləri dəstəkləyən xüsusi nüvə;

    Valve, Linux-da Windows oyunlarını idarə etmək üçün Proton 4.11 paketini buraxır

  • Interlayer DXVK (Vulkan API-nin üstündə DXGI, Direct3D 10 və Direct3D 11-in tətbiqi) versiyaya yeniləndi 1.3D9VK (Vulkan üzərində Direct3D 9-un eksperimental tətbiqi) 0.13f versiyasına qədər. Protonda D9VK dəstəyini aktivləşdirmək üçün PROTON_USE_D9VK bayrağından istifadə edin;
  • Cari monitor yeniləmə dərəcəsi oyunlara ötürülür;
  • Siçan fokusunu və pəncərə idarəetməsini idarə etmək üçün düzəlişlər edilmişdir;
  • Bəzi oyunlarda, xüsusən də Unity mühərrikinə əsaslanan oyunlarda baş verən coystiklər üçün giriş gecikməsi və vibrasiya dəstəyi ilə bağlı problemlər düzəldildi;
  • OpenVR SDK-nın ən son versiyası üçün əlavə dəstək;
  • DirectX səs kitabxanalarının tətbiqi ilə FAudio komponentləri (API XAudio2, X3DAudio, XAPO və XACT3) 19.07.
  • GameMaker-də oyunlarda şəbəkə alt sistemi ilə bağlı problemlər həll edildi;
  • Bir çox Wine modulları indi Linux kitabxanaları əvəzinə Windows PE faylları kimi qurulur. Bu sahədə iş irəlilədikcə, PE-dən istifadə bəzi DRM və anti-fırıldaq sistemlərinə kömək edəcəkdir. Xüsusi Proton konstruksiyalarından istifadə etsəniz, PE fayllarını yaratmaq üçün çox güman ki, Vagrant virtual maşını yenidən yaratmalı olacaqsınız.

Valve yamaqları əsas Linux nüvəsinə qəbul edilməzdən əvvəl, esync əvəzinə futex() istifadə etmək yamaqlar dəstində həyata keçirilən ip sinxronizasiya hovuzunu dəstəkləyən xüsusi nüvənin quraşdırılmasını tələb edir. fsync. Artıq AUR-da Arch Linux üçün nəşr olundu fsync yamaları ilə tərtib edilmiş hazır nüvə paketi. Ubuntu 18.04 və 19.04-də siz linux-mfutex-valve eksperimental nüvə PPA-dan istifadə edə bilərsiniz (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

Əgər fsync dəstəyi ilə nüvəniz varsa, Proton 4.11-i işə saldığınız zaman konsol “fsync: işləyir və işləyir” mesajını göstərəcək. PROTON_NO_FSYNC=1 bayrağından istifadə edərək fsync-i söndürməyə məcbur edə bilərsiniz.

Mənbə: opennet.ru

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