Valve ကုမ္ပဏီ
Proton သည် သင့်အား Steam Linux ကလိုင်းယင့်တွင် Windows သီးသန့်ဂိမ်းဆော့ဖ်ဝဲများကို တိုက်ရိုက် run နိုင်စေပါသည်။ ပက်ကေ့ဂျ်တွင် DirectX 10/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; - အလွှာ
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 ပံ့ပိုးမှုရှိသော kernel တစ်ခုရှိလျှင် Proton 4.11 ကို သင် run သောအခါ၊ console သည် “fsync: up and running” ဟူသော မက်ဆေ့ချ်ကို ပြသမည်ဖြစ်သည်။ PROTON_NO_FSYNC=1 အလံကို အသုံးပြု၍ fsync ကို ပိတ်ရန် သင် တွန်းအားပေးနိုင်ပါသည်။
source: opennet.ru