Valve пропонує дещо змінити у ядрі Linux

2 хв. читання

Valve давно сподівається, що Linux замінить Windows і стане основною ігровою платформою для ПК. Та поки цього не сталось, тож Valve бере ініціативу у свої руки й пропонує внести зміни в ядро Linux і зробити його більш gaming-friendly.

За часів Windows 8 (яку компанія вважала катастрофою) Valve почала розробку Steam Machines — ігрових ПК і приставок на Linux. Так вони так ніколи й не вийшли на ринок, зокрема через випуск Windows 10, що була більш орієнтована на геймерів, ніж її попередниця.

Тоді Valve змінила фокус і зосередилась на Linux. Розробники застосовують Wine, щоб геймери могли запускати на Linux ігри, призначені для Windows. Wine — це проєкт з відкритим кодом, який реалізує Windows API поверх сімейства операційних систем Unix та Linux. Він на ходу перетворює виклики Windows API у виклики POSIX. За допомогою Wine можна запустити багато Windows-застосунків на Linux або macOS.

Однак через Wine складно запустити ігри, що потребують багато обладнання. Аби розв'язати цю проблему, Valve випускає бету Steam Play, яка містить і геймерську версію Wine: Proton. Ще кілька удосконалень — і на Linux стало можливим запускати не лише ігри, а й 3D-застосунки.

Це допомагало, але все ще лишалися проблеми з продуктивністю. Тож у примітках до останнього випуску Proton, Valve пропонує зробити Linux більш придатним і зручним для ігор. Це передбачає експериментальну заміну esync, який покращує продуктивність у багатопотокових іграх або будь-яких програмах, що навантажують процесор. Однак в esync є потенційні проблеми з файловим дескриптором і його потрібно додатково налаштовувати.

Тож Valve пропонує внести зміни в ядрі Linux. Йдеться про розширення системного виклику futex() (fast user-space locking), щоб сприяти оптимальній синхронізації потоків. Proton 4.11 містить набір патчів fsync, що використовуватиме цю нову функціональність ядра Linux для заміни esync. Також розробники пропонують змінити glibc і libpthread.

Поки, схоже, спільноті ядра Linux подобається ця ініціатива. Досі єдиними коментарями були пропозиції почистити запропонований патч. Valve опублікувала proof-on-concept-патчі glibc для огляду і подальшого обговорення. Вони розкривають відповідну функціональність ядра як частину бібліотеки pthread. Компанія вважає, що застосування цієї функції (або її еквіваленту) підвищило б ефективність у нативних багатопотокових застосунках, таких як Steam та рушій Source 2.

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.6K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація