In de brief: Valve stelt wijzigingen aan de Linux-kernel voor om deze spelvriendelijker te maken. In het bijzonder wil hij de functionaliteit van futex () (snelle vergrendeling van gebruikersruimte) en glibc- en lbpthread-aanpassingen uitbreiden om multi-threaded operaties te verbeteren.

Hoes steunt al lang het idee om hun talenten te verbeteren Linux Als het om pc-games gaat. Zijn laatste inspanningen begonnen met kwaadwillende acteurs StoommachineHet draaide op SteamOS op basis van Linux. Hij heeft ook inspanningen geleverd om de open source Windows-compatibiliteitslaag Wine te ontwikkelen.

Het probleem met Wine is dat het worstelt met programma's die meer hardware nodig hebben. Valve aangevallen door de bètaversie van deze uitdaging te lanceren Steam-spel Proton - een spelvriendelijke wijnbereiding. Hoewel dit sommigen hielp, waren er nog steeds veel prestatiegerelateerde problemen.

In de nieuwste structuur van het proton patch-opmerkingenValve beveelt wijzigingen aan aan de Linux-kernel om de problemen te overwinnen die het tegenkomt bij het proberen om bepaalde spellen uit te voeren.

Om te beginnen is er een experimentele back-up van esync, fsync genaamd, die "ondersteuning biedt voor op futex gebaseerde in-process synchronisatieprimitieven" en het CPU-gebruik meer vermindert dan esync. Omdat het echter vereist dat de functie eventfd () van de kernel wordt gebruikt, zijn aanpassingen aan de Linux-kernel vereist om correct te werken.

"We stellen wijzigingen voor aan de Linux-kernel [lkml.org] om de futex () -systeemaanroep uit te breiden om te laten zien wat volgens ons de extra extra kernfunctionaliteit is die nodig is om een ​​optimale threadpoolsynchronisatie te ondersteunen.




Deze wijzigingen breiden voornamelijk de futex () -functionaliteit uit om een ​​optimale threadpoolsynchronisatie te creëren. Als Proton 4.11 wordt ondersteund, zal het de fsync-patch hebben om de nieuwe kernel te gebruiken.



De ontwikkelaars stellen ook wijzigingen voor aan glibc en libpthread.

Collabora's software-engineer Gabriel Krisman Bertazi zei: “We stellen ook wijzigingen voor aan glibc en libpthread om deze functie beschikbaar te maken voor Linux native multithreaded applicaties die libpthread gebruiken. in een discussiethread LKML.




Bertazi zei dat de futeks in de vroege tests prestatieverbeteringen van 4 procent zagen voor de Beat Sabre-game en 1,5 procent voor Shadow of the Tomb Raider tijdens het werken aan Proton.



De Linux-gemeenschap verwelkomt de patch, maar deze moet een beetje worden opgeruimd om aan de huidige coderingsnormen te voldoen.

Ventiel releases 'proof of concept' glibc-pleisters ter beoordeling. Hij gelooft dat deze veranderingen de gaming-functionaliteit in Linux aanzienlijk zullen verbeteren.




"We zullen productiviteitswinst behalen door gebruik te maken van natuurlijk threaded applicaties zoals Steam en Source 2 engine" Zei Valve.

Als u geïnteresseerd bent in het uitproberen van de bèta, Valve verzonden Pakketten voor Arch en Ubuntu Linux.

Afbeelding tegoed: Casimiro PT Via Shutterstock