Valve Proton 4.11-ро мебарорад, ки маҷмӯи барои идора кардани бозиҳои Windows дар Linux

Ширкати Valve нашр шудааст филиали лоиҳаи нав Протон 4.11, дар асоси пешрафтҳои лоиҳаи Wine ва ба таъмини роҳандозии барномаҳои бозӣ, ки барои Windows сохта шудаанд ва дар каталоги Steam дар Linux пешниҳод шудаанд, нигаронида шудааст. Пешрафтҳои лоиҳа паҳн шудан таҳти иҷозатномаи BSD. Вақте ки онҳо омодаанд, тағиротҳои дар Proton таҳияшуда ба Wine аслӣ ва лоиҳаҳои марбут ба монанди DXVK ва vkd3d интиқол дода мешаванд.

Proton ба шумо имкон медиҳад, ки бевосита дар муштарии Steam Linux барномаҳои бозикунии танҳо Windows-ро иҷро кунед. Маҷмӯа татбиқи DirectX 10/11 (дар асоси ДХВК) ва 12 (дар асоси vkd3d), ки тавассути тарҷумаи зангҳои DirectX ба API Vulkan кор мекунад, дастгирии беҳтари контроллерҳои бозӣ ва қобилияти истифодаи ҳолати пурраи экранро новобаста аз қарорҳои экран дар бозиҳо дастгирӣ мекунад. Дар муқоиса бо шароби аслӣ, ба туфайли истифодаи часбҳо, иҷрои бозиҳои чанд ришта ба таври назаррас афзоиш ёфтааст "ҳамоҳангсозӣ"(Synchronization Eventfd) ё "futex/fsync".

асосӣ тағирот дар Proton 4.11:

  • Ҳамоҳангсозӣ бо пойгоҳи коди Wine 4.11 анҷом дода шуд, ки аз он зиёда аз 3300 тағирот интиқол дода шуданд (филиали қаблӣ ба вино 4.2 асос ёфтааст). 154 часпак аз Proton 4.2 ба боло кӯчонида шуданд ва ҳоло ба бастаи асосии Шароб дохил карда шудаанд;
  • Дастгирии таҷрибавӣ барои примитивҳои ҳамоҳангсозӣ дар асоси занги системаи futex() илова карда шуд, ки сарбории CPU-ро дар муқоиса бо esync кам мекунад. Илова бар ин, татбиқи нав мушкилотро бо зарурати истифода ҳал мекунад танзимоти махсус барои синхронизатсия ва тамомшавии эҳтимолии тавсифи файлҳои дастрас.

    Моҳияти кори анҷомдодашуда аз он иборат аст, ки функсияи занги системаи стандартии futex() дар ядрои Linux бо имкониятҳое, ки барои ҳамоҳангсозии оптималии ҳавзи ришта заруранд. Часбҳо бо дастгирии парчами FUTEX_WAIT_MULTIPLE барои Proton аллакай мавҷуданд интиқол дода шудааст барои дохил кардан ба ядрои асосии Linux ва glibc. Тағироти омодашуда ҳанӯз ба ядрои асосӣ дохил карда нашудаанд, бинобар ин дар айни замон зарур аст таъсис диҳед ядрои махсус бо дастгирии ин примитивҳо;

    Valve Proton 4.11-ро мебарорад, ки маҷмӯи барои идора кардани бозиҳои Windows дар Linux

  • Байниқабат ДХВК (Татбиқи DXGI, Direct3D 10 ва Direct3D 11 дар болои API Vulkan) ба версия навсозӣ шудааст 1.3ва Д9ВК (иҷрои таҷрибавии Direct3D 9 дар болои Вулкан) то версияи 0.13f. Барои фаъол кардани дастгирии D9VK дар Proton, парчами PROTON_USE_D9VK -ро истифода баред;
  • Меъёри навсозии монитори ҷорӣ ба бозиҳо интиқол дода мешавад;
  • Барои идора кардани фокуси муш ва идоракунии тирезаҳо ислоҳҳо ворид карда шуданд;
  • Қафомонии собит вуруд ва мушкилот бо дастгирии ларзиш барои джойстикҳо, ки дар баъзе бозиҳо, махсусан дар бозиҳои бар асоси муҳаррики Unity рух медиҳанд;
  • Дастгирии иловашуда барои версияи охирини OpenVR SDK;
  • Ҷузъҳои FAudio бо татбиқи китобхонаҳои садоии DirectX (API XAudio2, X3DAudio, XAPO ва XACT3) барои нашри 19.07 навсозӣ шудаанд;
  • Мушкилот бо зерсистемаи шабакавӣ дар бозиҳо дар GameMaker ҳал карда шуданд;
  • Ҳоло бисёр модулҳои Wine ҳамчун файлҳои Windows PE ба ҷои китобхонаҳои Linux сохта шудаанд. Вақте ки кор дар ин самт пеш меравад, истифодаи PE ба баъзе системаҳои DRM ва зидди фиреб кӯмак хоҳад кард. Агар шумо сохтаҳои фармоишии Proton-ро истифода баред, эҳтимолан ба шумо лозим меояд, ки мошини виртуалии Vagrant-ро барои сохтани файлҳои PE дубора эҷод кунед.

Пеш аз он ки часбҳои Valve ба ядрои асосии Linux қабул карда шаванд, истифодаи futex() ба ҷои esync насби ядрои махсусро бо дастгирии ҳавзи ҳамоҳангсозии ришта, ки дар маҷмӯи часбҳо амалӣ карда мешавад, талаб мекунад. fsync. Барои Arch Linux дар 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: фаъол ва иҷрошаванда" -ро нишон медиҳад. Шумо метавонед fsync-ро бо истифода аз парчами PROTON_NO_FSYNC=1 маҷбур кунед, ки хомӯш карда шавад.

Манбаъ: opennet.ru

Илова Эзоҳ