Valve သည် Linux တွင် Windows ဂိမ်းများအသုံးပြုရန်အတွက် Proton 4.11 ကို ထုတ်ဝေခဲ့သည်။

Valve ကုမ္ပဏီ ထုတ်ဝေခဲ့သည် စီမံကိန်းဌာနခွဲအသစ် ပရိုတွန် 4.11Wine ပရောဂျက်၏ တိုးတက်မှုများကို အခြေခံ၍ Windows အတွက် ဖန်တီးထားသော ဂိမ်းဆော့ဖ်ဝဲများကို စတင်ရန်နှင့် Linux ရှိ Steam catalog တွင် တင်ပြခြင်းတို့ကို သေချာစေရန် ရည်ရွယ်ပါသည်။ ပရောဂျက်တိုးတက်မှုများ ကူးစက်ပျံ့နှံ့သည် BSD လိုင်စင်အောက်တွင်။ ၎င်းတို့ အဆင်သင့်ဖြစ်သဖြင့် Proton တွင် တီထွင်ထားသော အပြောင်းအလဲများကို မူရင်းဝိုင်နှင့် DXVK နှင့် vkd3d ကဲ့သို့သော ဆက်စပ်ပရောဂျက်များသို့ လွှဲပြောင်းပေးပါသည်။

Proton သည် သင့်အား Steam Linux ကလိုင်းယင့်တွင် Windows သီးသန့်ဂိမ်းဆော့ဖ်ဝဲများကို တိုက်ရိုက် run နိုင်စေပါသည်။ ပက်ကေ့ဂျ်တွင် DirectX 10/11 (အပေါ်အခြေခံ၍ အကောင်အထည်ဖော်မှုတစ်ခုပါဝင်သည်။ DXVK) နှင့် 12 (အပေါ်အခြေခံသည်။ vkd3d) ၊ DirectX ခေါ်ဆိုမှုများကို Vulkan API သို့ ဘာသာပြန်ခြင်းဖြင့် လုပ်ဆောင်ခြင်းဖြင့် ဂိမ်းထိန်းချုပ်သူများ အတွက် ပိုမိုကောင်းမွန်သော ပံ့ပိုးကူညီမှုနှင့် ဂိမ်းများတွင် ပံ့ပိုးထားသည့် မျက်နှာပြင် ရုပ်ထွက်များ မခွဲခြားဘဲ မျက်နှာပြင်အပြည့်မုဒ်ကို အသုံးပြုနိုင်သည့် စွမ်းရည်ကို ပံ့ပိုးပေးပါသည်။ မူရင်း Wine နှင့် နှိုင်းယှဉ်ပါက၊ ကြိုးအစုံလိုက်ဂိမ်းများ၏ စွမ်းဆောင်ရည်သည် ဖာထေးမှုများကို အသုံးပြုခြင်းကြောင့် သိသိသာသာ တိုးမြင့်လာပါသည်။esync"(Eventfd Synchronization) သို့မဟုတ် "futex/fsync"။

အဓိက Proton 4.11 တွင် ပြောင်းလဲမှုများ:

  • Wine 4.11 codebase နှင့် synchronization ပြုလုပ်ခဲ့ပြီး အပြောင်းအလဲ 3300 ကျော်ကို လွှဲပြောင်းခဲ့သည် (ယခင်ဌာနခွဲသည် ဝိုင် 4.2 ကို အခြေခံထားသည်)။ Proton 154 မှ ဖာထေးမှု 4.2 ခုကို အထက်သို့ ရွှေ့ထားပြီး ယခု ပင်မဝိုင်အထုပ်တွင် ထည့်သွင်းထားသည်။
  • esync နှင့် နှိုင်းယှဉ်ပါက CPU load ကို လျှော့ချပေးသည့် futex() စနစ်ခေါ်ဆိုမှုအပေါ် အခြေခံ၍ ထပ်တူပြုခြင်းဆိုင်ရာ primitives များအတွက် စမ်းသပ်မှုဆိုင်ရာ ပံ့ပိုးမှုကို ပေါင်းထည့်ထားသည်။ ထို့အပြင်၊ အကောင်အထည်ဖော်မှုအသစ်သည်အသုံးပြုရန်လိုအပ်မှုနှင့်ပြဿနာများကိုဖြေရှင်းနိုင်သည်။ အထူးဆက်တင်များ ရရှိနိုင်သောဖိုင်ဖော်ပြချက်များအတွက် esync နှင့် ဖြစ်နိုင်ခြေကုန်ခန်းမှုအတွက်။

    လုပ်ဆောင်နေသော အလုပ်၏ အနှစ်သာရမှာ thread pool ၏ အကောင်းဆုံး ထပ်တူပြုမှုအတွက် လိုအပ်သော စွမ်းရည်များဖြင့် Linux kernel အတွင်းရှိ standard futex() စနစ်ခေါ်ဆိုမှု၏ လုပ်ဆောင်နိုင်စွမ်းကို ချဲ့ထွင်ရန် ဖြစ်ပါသည်။ Proton အတွက် လိုအပ်သော FUTEX_WAIT_MULTIPLE အလံအတွက် ပံ့ပိုးမှုရှိသော ဖာထေးမှုများသည် ရှိနှင့်ပြီးဖြစ်သည်။ လွှဲပြောင်း ပင်မ Linux kernel တွင်ပါဝင်ခြင်းနှင့် glibc. ပြင်ဆင်ထားသော အပြောင်းအလဲများသည် ပင်မ kernel တွင် မပါဝင်သေးသောကြောင့် ယခုအချိန်တွင် လိုအပ်ပါသည်။ တည်ထောင် ဤရှေးဟောင်းအရာများအတွက် ပံ့ပိုးမှုရှိသော အထူး kernel;

    Valve သည် Linux တွင် Windows ဂိမ်းများအသုံးပြုရန်အတွက် Proton 4.11 ကို ထုတ်ဝေခဲ့သည်။

  • အလွှာ DXVK (Vulkan API ၏ထိပ်တွင် DXGI၊ Direct3D 10 နှင့် Direct3D 11 ကို အကောင်အထည်ဖော်ခြင်း) ဗားရှင်းသို့ အပ်ဒိတ်လုပ်ထားသည်။ 1.3နှင့် D9VK (Vulkan ၏ထိပ်ရှိ Direct3D 9 ကို စမ်းသပ်အသုံးပြုခြင်း) ဗားရှင်း 0.13f အထိ။ Proton တွင် D9VK ပံ့ပိုးမှုကို ဖွင့်ရန်၊ PROTON_USE_D9VK အလံကို အသုံးပြုပါ။
  • လက်ရှိ မော်နီတာ ပြန်လည်ဆန်းသစ်မှုနှုန်းကို ဂိမ်းများသို့ ပေးပို့သည်။
  • မောက်စ်အာရုံစူးစိုက်မှုနှင့် ဝင်းဒိုးစီမံခန့်ခွဲမှုကို ကိုင်တွယ်ရန် ပြင်ဆင်မှုများ ပြုလုပ်ထားသည်။
  • အထူးသဖြင့် Unity အင်ဂျင်ကို အခြေခံသည့် ဂိမ်းများတွင် အချို့ဂိမ်းများတွင် ဖြစ်ပေါ်သည့် Joystick များအတွက် တုန်ခါမှု ပံ့ပိုးမှုနှင့်အတူ ပြဿနာများကို ထည့်သွင်းခြင်း နောက်ကျခြင်းနှင့် ပြဿနာများကို ဖြေရှင်းပေးသည်။
  • OpenVR SDK ၏နောက်ဆုံးထွက်ဗားရှင်းအတွက် ပံ့ပိုးမှုထပ်ဖြည့်ထားသည်။
  • DirectX အသံစာကြည့်တိုက်များ (API XAudio2၊ X3DAudio၊ XAPO နှင့် XACT3) ကို အကောင်အထည်ဖော်ခြင်းဖြင့် FAudio အစိတ်အပိုင်းများကို 19.07 ထွက်ရှိရန် မွမ်းမံထားပါသည်။
  • GameMaker ရှိ ဂိမ်းများတွင် ကွန်ရက်စနစ်ခွဲဆိုင်ရာ ပြဿနာများကို ဖြေရှင်းပြီးပါပြီ။
  • Wine module အများအပြားကို Linux စာကြည့်တိုက်များအစား Windows PE ဖိုင်များအဖြစ် တည်ဆောက်ထားပါသည်။ ဤနယ်ပယ်တွင် အလုပ်တိုးတက်လာသည်နှင့်အမျှ PE ကိုအသုံးပြုခြင်းသည် အချို့သော DRM နှင့် လိမ်လည်မှုဆန့်ကျင်ရေးစနစ်များကို ကူညီပေးပါလိမ့်မည်။ စိတ်ကြိုက် Proton တည်ဆောက်မှုများကို သင်အသုံးပြုပါက PE ဖိုင်များတည်ဆောက်ရန်အတွက် Vagrant virtual machine ကို ပြန်လည်ဖန်တီးရန် လိုအပ်ပါသည်။

Valve ၏ ဖာထေးမှုများကို ပင်မ Linux kernel တွင် ထည့်သွင်းခြင်းမပြုမီ၊ esync အစား futex() ကိုအသုံးပြု၍ ဖာထေးမှုအစုတစ်ခုတွင် လုပ်ဆောင်ခဲ့သည့် thread synchronization pool အတွက် ပံ့ပိုးမှုဖြင့် အထူး kernel တစ်ခုကို ထည့်သွင်းရန်လိုအပ်ပါသည်။ fsync. Arch Linux အတွက် AUR ရှိပြီးသားပါ။ ပုံနှိပ်ထုတ်ဝေ fsync ဖာထေးမှုများဖြင့် ပြုစုထားသော အဆင်သင့်လုပ်ထားသော kernel အထုပ်။ Ubuntu 18.04 နှင့် 19.04 တွင်၊ သင်သည် linux-mfutex-valve စမ်းသပ် kernel PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);

သင့်တွင် fsync ပံ့ပိုးမှုရှိသော kernel တစ်ခုရှိလျှင် Proton 4.11 ကို သင် run သောအခါ၊ console သည် “fsync: up and running” ဟူသော မက်ဆေ့ချ်ကို ပြသမည်ဖြစ်သည်။ PROTON_NO_FSYNC=1 အလံကို အသုံးပြု၍ fsync ကို ပိတ်ရန် သင် တွန်းအားပေးနိုင်ပါသည်။

source: opennet.ru

မှတ်ချက် Add