25 април, 2024

Valve предлага промени в Linux ядрото, за да стане по-удобно за игрите. Ранните тестове показват скромни подобрения на производителността. По-конкретно се търси да се разшири функционалността на futex() (fast user-space locking) и модификации на glibc и lbpthread за подобряване на операциите с много задачи.

Valve отдавна подкрепя идеята за подобряване на възможностите на Linux, когато става въпрос за компютърни игри. Последните им усилия започнаха с злополучната Steam Machine, която работи на SteamOS, базирана на Linux. Освен това положи усилия за подобряване на слоя за съвместимост с отворения код Wine.

Проблемът с Wine е, че той се бори с по-взискателни към хардуера програми. Valve атакува това предизвикателство, като пусна бета версия на Steam Play, която включва Proton, което да „укроти“ Wine. Въпреки че това помогна на някои, все още имаше много проблеми с представянето.

В най-новата версия на Proton, Valve предлага промени в Linux, за да се преодолеят проблемите, когато се стартират някои игри.

Предлагаме промени в Linux ядрото [lkml.org], за да разширим futex() и за да изложим това, за което смятаме, че е необходим допълнителен бит на основна функционалност за поддържане на оптимална синхронизация“, казват разработчиците на Valve във форума на Steam.

Тези промени основно ще разширят функционалността на futex(). Proton 4.11 ще има кръпка fsync, за да използва новото ядро, когато се поддържа. Разработчиците също предлагат промени в glibc и libpthread.

Предлагаме също модификации на glibc и libpthread, за да направим тази функция достъпна за родните многопоточни приложения на Linux, използвайки libpthread, което може да се възползва от поведението на чакане на която и да е от група фуксеси“, казва Габриел Крисман Бертази, софтуерен инженер на Collabora в дискусия в Steam за LKML.

Бертази продължи, че фуксите в ранните тестове са забелязали подобрение на производителността от 4 процента за играта Beat Saber и 1,5 процента за Shadow of the Tomb Raider, докато се изпълняват на Proton.

Linux общността приветства корекцията, въпреки че трябва да бъде изчистена малко, за да отговаря на текущите стандарти за кодиране. Коментарите в Steam също са много положителни. Valve е публикувал glibc пачове с доказателство за концепция за преглед. Ако се интересувате от изпробването на бета версията, Valve е публикувал пакети както за Arch, така и за Ubuntu Linux.

Тагове: , , , , , , ,