Valve ngeculake Proton 4.11, suite kanggo game Windows ing Linux
Perusahaan Valve diterbitake cabang proyek anyar Proton 4.11 Kab, adhedhasar pangembangan proyek Wine lan ngarahake kanggo njamin peluncuran aplikasi game sing digawe kanggo Windows lan ditampilake ing katalog Steam ing Linux. Pangembangan proyek Penyebaran ing lisensi BSD. Sanalika wis siyap, owah-owahan sing dikembangake ing Proton ditransfer menyang Anggur asli lan proyek sing gegandhengan, kayata DXVK lan vkd3d.
Proton ngidini sampeyan langsung mbukak aplikasi game mung Windows ing klien Steam Linux. Paket kasebut kalebu implementasi DirectX 10/11 (adhedhasar DXVK) lan 12 (adhedhasar vkd3d), digunakake liwat terjemahan telpon DirectX menyang API Vulkan, nyedhiyakake dhukungan sing luwih apik kanggo pengontrol game lan kemampuan kanggo nggunakake mode layar wutuh preduli saka resolusi layar sing didhukung ing game. Dibandhingake karo Anggur asli, kinerja game multi-threaded wis tambah akeh amarga nggunakake patch "esync"(Eventfd Sinkronisasi) utawa "futex/fsync".
Sinkronisasi karo basis kode Wine 4.11 ditindakake, saka ngendi luwih saka 3300 owah-owahan ditransfer (cabang sadurunge adhedhasar anggur 4.2). 154 tambalan saka Proton 4.2 wis dipindhah munggah lan saiki kalebu ing paket Wine utama;
Ditambahake dhukungan eksperimen kanggo primitif sinkronisasi adhedhasar telpon sistem futex (), sing nyuda beban CPU dibandhingake karo esync. Kajaba iku, implementasine anyar solves masalah karo perlu kanggo nggunakake setelan khusus kanggo esync lan bisa kesel deskriptor file kasedhiya.
Inti saka karya iki kanggo nggedhekake fungsi saka futex standar () telpon sistem ing kernel Linux karo kapabilitas perlu kanggo sinkronisasi optimal saka blumbang thread. Tambalan kanthi dhukungan kanggo gendera FUTEX_WAIT_MULTIPLE sing dibutuhake kanggo Proton wis ana ditransfer kanggo Gawan ing kernel Linux utama lan glibc. Owah-owahan sing disiapake durung kalebu ing kernel utama, mula saiki perlu kanggo netepake kernel khusus kanthi dhukungan kanggo primitif kasebut;
Sadurunge patch Valve diadopsi menyang kernel Linux utama, nggunakake futex () tinimbang esync mbutuhake nginstal kernel khusus kanthi dhukungan kanggo blumbang sinkronisasi benang sing ditindakake ing sakumpulan patch. fsync. Kanggo Arch Linux ing AUR wis diterbitake paket kernel siap-siap dikompilasi karo patch fsync. Ing Ubuntu 18.04 lan 19.04, sampeyan bisa nggunakake kernel eksperimental linux-mfutex-valve PPA (sudo add-apt-repository ppa:valve-experimental/kernel-bionic; sudo apt-get install linux-mfutex-valve);