рд╡рд╛рд▓реНрд╡ рдкреНрд░реЛрдЯреЙрди 4.11 рд░рд┐рд▓реАрдЭ рдХрд░рддреЗ, рд▓рд┐рдирдХреНрд╕рд╡рд░ рд╡рд┐рдВрдбреЛрдЬ рдЧреЗрдореНрд╕ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕рдВрдЪ

рд╡рд╛рд▓реНрд╡ рдХрдВрдкрдиреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╡реАрди рдкреНрд░рдХрд▓реНрдк рд╢рд╛рдЦрд╛ рдкреНрд░реЛрдЯреЙрди 4.11, рд╡рд╛рдЗрди рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдШрдбрд╛рдореЛрдбреАрдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрдгрд┐ рд╡рд┐рдВрдбреЛрдЬрд╕рд╛рдареА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЖрдгрд┐ рд▓рд┐рдирдХреНрд╕рд╡рд░реАрд▓ рд╕реНрдЯреАрдо рдХреЕрдЯрд▓реЙрдЧрдордзреНрдпреЗ рд╕рд╛рджрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЧреЗрдорд┐рдВрдЧ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рд▓реЙрдиреНрдЪрдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рдиреЗ. рдкреНрд░рдХрд▓реНрдк рд╡рд┐рдХрд╛рд╕ рдкреНрд░рд╕рд╛рд░ BSD рдкрд░рд╡рд╛рдиреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд. рддреЗ рддрдпрд╛рд░ рдЭрд╛рд▓реНрдпрд╛рд╡рд░, рдкреНрд░реЛрдЯреЙрдирдордзреНрдпреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реЗ рдмрджрд▓ рдореВрд│ рд╡рд╛рдЗрди рдЖрдгрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рдЬрд╕реЗ рдХреА DXVK рдЖрдгрд┐ vkd3d.

рдкреНрд░реЛрдЯреЙрди рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрдЯреАрдо рд▓рд┐рдирдХреНрд╕ рдХреНрд▓рд╛рдпрдВрдЯрдордзреНрдпреЗ рдлрдХреНрдд рд╡рд┐рдВрдбреЛрдЬ-рдХреЗрд╡рд│ рдЧреЗрдорд┐рдВрдЧ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдереЗрдЯ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ. рдкреЕрдХреЗрдЬрдордзреНрдпреЗ DirectX 10/11 (рдЖрдзрд╛рд░реАрдд рдбреАрдПрдХреНрд╕рд╡реНрд╣реАрдХреЗ) рдЖрдгрд┐ резреи (рдЖрдзрд╛рд░реАрдд vkd3d), рд╡рд▓реНрдХрди API рд╡рд░ рдбрд╛рдпрд░реЗрдХреНрдЯрдПрдХреНрд╕ рдХреЙрд▓реНрд╕рдЪреНрдпрд╛ рднрд╛рд╖рд╛рдВрддрд░рд╛рджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд░рдгреЗ, рдЧреЗрдо рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕рд╕рд╛рдареА рд╕реБрдзрд╛рд░рд┐рдд рд╕рдорд░реНрдерди рдЖрдгрд┐ рдЧреЗрдордордзреНрдпреЗ рд╕рдорд░реНрдерд┐рдд рд╕реНрдХреНрд░реАрди рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рдирдЪреА рдкрд░реНрд╡рд╛ рди рдХрд░рддрд╛ рдкреВрд░реНрдг-рд╕реНрдХреНрд░реАрди рдореЛрдб рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдореВрд│ рд╡рд╛рдЗрдирдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд, рдкреЕрдЪреЗрд╕рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдореБрд│реЗ рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб рдЧреЗрдордЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рдХреНрд╖рдгреАрдп рд╡рд╛рдврд▓реА рдЖрд╣реЗ "esync"(Eventfd рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди) рдХрд┐рдВрд╡рд╛ "futex/fsync".

рдореБрдЦреНрдп рдкреНрд░реЛрдЯреЙрди 4.11 рдордзреНрдпреЗ рдмрджрд▓:

  • рд╡рд╛рдЗрди 4.11 рдХреЛрдбрдмреЗрд╕рд╕рд╣ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рдХреЗрд▓реЗ рдЧреЗрд▓реЗ, рдЬреНрдпрд╛рдордзреВрди 3300 рд╣реВрди рдЕрдзрд┐рдХ рдмрджрд▓ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ (рдорд╛рдЧреАрд▓ рд╢рд╛рдЦрд╛ рд╡рд╛рдЗрди 4.2 рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреА). рдкреНрд░реЛрдЯреЙрди 154 рдордзреАрд▓ 4.2 рдкреЕрдЪреЗрд╕ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╣рд▓рд╡рд┐рд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рдЖрддрд╛ рдореБрдЦреНрдп рд╡рд╛рдЗрди рдкреЕрдХреЗрдЬрдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗрдд;
  • futex() рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рдкреНрд░рд┐рдорд┐рдЯрд┐рд╡реНрд╣рд╕рд╛рдареА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ, рдЬреЗ esync рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд CPU рд▓реЛрдб рдХрдореА рдХрд░рддреЗ. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдирд╡реАрди рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рддреЗ рд╡рд┐рд╢реЗрд╖ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЙрдкрд▓рдмреНрдз рдлрд╛рдЗрд▓ рд╡рд░реНрдгрдирдХрд░реНрддреНрдпрд╛рдВрдЪреНрдпрд╛ esync рдЖрдгрд┐ рд╕рдВрднрд╛рд╡реНрдп рдердХрд╡рд╛ рд╕рд╛рдареА.

    рдереНрд░реЗрдб рдкреВрд▓рдЪреНрдпрд╛ рдЗрд╖реНрдЯрддрдо рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рдирд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдХреНрд╖рдорддреЗрд╕рд╣ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓рдордзреНрдпреЗ рдорд╛рдирдХ futex() рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рдврд╡рдгреЗ рд╣реЗ рдХреЗрд▓реЗ рдЬрд╛рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХрд╛рдорд╛рдЪреЗ рд╕рд╛рд░ рдЖрд╣реЗ. рдкреНрд░реЛрдЯреЙрдирд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ FUTEX_WAIT_MULTIPLE рдзреНрд╡рдЬрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЕрд╕рд▓реЗрд▓реЗ рдкреЕрдЪреЗрд╕ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдЖрд╣реЗрдд рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдореБрдЦреНрдп рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓рдордзреНрдпреЗ рд╕рдорд╛рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЧреНрд▓рд┐рдмрд╕реА. рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рдмрджрд▓ рдЕрджреНрдпрд╛рдк рдореБрдЦреНрдп рдХрд░реНрдирд▓рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реАрдд, рддреНрдпрд╛рдореБрд│реЗ рдпрд╛ рдХреНрд╖рдгреА рддреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдпрд╛ рдкреНрд░рд┐рдорд┐рдЯрд┐рд╡реНрд╕рд╕рд╛рдареА рдЖрдзрд╛рд░ рдЕрд╕рд▓реЗрд▓реЗ рд╡рд┐рд╢реЗрд╖ рдХрд░реНрдирд▓;

    рд╡рд╛рд▓реНрд╡ рдкреНрд░реЛрдЯреЙрди 4.11 рд░рд┐рд▓реАрдЭ рдХрд░рддреЗ, рд▓рд┐рдирдХреНрд╕рд╡рд░ рд╡рд┐рдВрдбреЛрдЬ рдЧреЗрдореНрд╕ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕рдВрдЪ

  • рдЗрдВрдЯрд░рд▓реЗрдЕрд░ рдбреАрдПрдХреНрд╕рд╡реНрд╣реАрдХреЗ (Vulkan API рдЪреНрдпрд╛ рд╡рд░ DXGI, Direct3D 10 рдЖрдгрд┐ Direct3D 11 рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА) рдЖрд╡реГрддреНрддреАрд╡рд░ рдЕрджреНрдпрддрдирд┐рдд 1.3рдЖрдгрд┐ рдбреА 9 рд╡реНрд╣реАрдХреЗ (Vulkan рд╡рд░ рдбрд╛рдпрд░реЗрдХреНрдЯ3D 9 рдЪреА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА) рдЖрд╡реГрддреНрддреА 0.13f рдкрд░реНрдпрдВрдд. рдкреНрд░реЛрдЯреЙрдирдордзреНрдпреЗ D9VK рд╕рдорд░реНрдерди рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, PROTON_USE_D9VK рдзреНрд╡рдЬ рд╡рд╛рдкрд░рд╛;
  • рд╡рд░реНрддрдорд╛рди рдореЙрдирд┐рдЯрд░ рд░рд┐рдлреНрд░реЗрд╢ рджрд░ рдЧреЗрдордордзреНрдпреЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ;
  • рдорд╛рдКрд╕ рдлреЛрдХрд╕ рдЖрдгрд┐ рд╡рд┐рдВрдбреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдирд┐рд░рд╛рдХрд░рдгреЗ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗрдд;
  • рдлрд┐рдХреНрд╕реНрдб рдЗрдирдкреБрдЯ рд▓реЕрдЧ рдЖрдгрд┐ рдЬреЙрдпрд╕реНрдЯрд┐рдХрд╕рд╛рдареА рдХрдВрдкрди рд╕рдорд░реНрдердирд╛рд╕рд╣ рд╕рдорд╕реНрдпрд╛ рдЬреЗ рдХрд╛рд╣реА рдЧреЗрдордордзреНрдпреЗ рд╣реЛрддрд╛рдд, рд╡рд┐рд╢реЗрд╖рдд: рдпреБрдирд┐рдЯреА рдЗрдВрдЬрд┐рдирд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЧреЗрдордордзреНрдпреЗ;
  • OpenVR SDK рдЪреНрдпрд╛ рдирд╡реАрдирддрдо рдЖрд╡реГрддреНрддреАрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ;
  • DirectX рд╕рд╛рдЙрдВрдб рд▓рд╛рдпрдмреНрд░рд░реА (API XAudio2, X3DAudio, XAPO рдЖрдгрд┐ XACT3) рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣ FAudio рдШрдЯрдХ 19.07 рд░рд┐рд▓реАрдЬ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд;
  • рдЧреЗрдордореЗрдХрд░рд╡рд░реАрд▓ рдЧреЗрдордордзреАрд▓ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдмрд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ;
  • рдЕрдиреЗрдХ рд╡рд╛рдИрди рдореЙрдбреНрдпреВрд▓реНрд╕ рдЖрддрд╛ рд▓рд┐рдирдХреНрд╕ рд▓рд╛рдпрдмреНрд░рд░реАрдРрд╡рдЬреА рд╡рд┐рдВрдбреЛрдЬ рдкреАрдИ рдлрд╛рдЗрд▓реНрд╕ рдореНрд╣рдгреВрди рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЖрд╣реЗрдд. рдпрд╛ рдХреНрд╖реЗрддреНрд░рд╛рдд рдХрд╛рдо рдЬрд╕рдЬрд╕реЗ рдкреБрдвреЗ рдЬрд╛рдИрд▓, PE рдЪрд╛ рд╡рд╛рдкрд░ рдХрд╛рд╣реА DRM рдЖрдгрд┐ рдЕрдБрдЯреА-рдЪреАрдЯ рдкреНрд░рдгрд╛рд▓реАрдВрдирд╛ рдорджрдд рдХрд░реЗрд▓. рддреБрдореНрд╣реА рд╕рд╛рдиреБрдХреВрд▓ рдкреНрд░реЛрдЯреЙрди рдмрд┐рд▓реНрдб рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣рд╛рд▓рд╛ рдмрд╣реБрдзрд╛ PE рдлрд╛рдЗрд▓реНрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реНрд╣реЕрдЧреНрд░рдВрдЯ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓.

рд╡реНрд╣реЙрд▓реНрд╡реНрд╣рдЪреЗ рдкреЕрдЪ рдореБрдЦреНрдп рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓рдордзреНрдпреЗ рд╕реНрд╡реАрдХрд╛рд░рдгреНрдпрд╛рдЖрдзреА, esync рдРрд╡рдЬреА futex() рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреЕрдЪрдЪреНрдпрд╛ рд╕рдВрдЪрд╛рдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдереНрд░реЗрдб рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рдкреВрд▓рд╕рд╛рдареА рд╕рдорд░реНрдердирд╛рд╕рд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрд░реНрдирд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. fsync. AUR рдордзреНрдпреЗ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рд╕рд╛рдареА рдЖрдзреАрдЪ рдкреНрд░рдХрд╛рд╢рд┐рдд fsync рдкреЕрдЪрд╕рд╣ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗрд▓реЗ рддрдпрд╛рд░ рдХрд░реНрдирд▓ рдкреЕрдХреЗрдЬ. Ubuntu 18.04 рдЖрдгрд┐ 19.04 рд╡рд░, рддреБрдореНрд╣реА linux-mfutex-valve рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдХрд░реНрдирд▓ PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve) рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛;

рддреБрдордЪреНрдпрд╛рдХрдбреЗ fsync рд╕рдкреЛрд░реНрдЯ рдЕрд╕рд▓реЗрд▓реЗ рдХрд░реНрдирд▓ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА Proton 4.11 рдЪрд╛рд▓рд╡рддрд╛, рддреЗрд╡реНрд╣рд╛ рдХрдиреНрд╕реЛрд▓ тАЬfsync: up and runтАЭ рдЕрд╕рд╛ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрд▓. рддреБрдореНрд╣реА PROTON_NO_FSYNC=1 рдзреНрд╡рдЬ рд╡рд╛рдкрд░реВрди fsync рд▓рд╛ рд╕рдХреНрддреАрдиреЗ рдмрдВрдж рдХрд░реВ рд╢рдХрддрд╛.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛