Valve: Linux bekommt Windows-Thread-Synchronisation für Steam

Die Thread-Synchronisation funktioniert unter Windows anders als unter Linux. Für Wine und Proton in Steam nutzt Valve deshalb einen Hack, mit dem es einige Probleme gibt. Eine neue Kernel-Schnittstelle für Linux soll das ändern.

Artikel veröffentlicht am ,
Eine stilisierte Kuppelstange einer Dampflokomotive dient als Logo von Steam.
Eine stilisierte Kuppelstange einer Dampflokomotive dient als Logo von Steam. (Bild: Andrey Korchagin/CC-BY-SA 2.0)

Mit der aktuellen Version 4.11 von Proton führt Valve für seine Spiele-Plattform Steam mit Fsync eine neue experimentelle Technik für Linux ein. Mit dieser soll die Synchronisation von Threads auch unter Linux so ähnlich funktionieren, wie dies bei Windows umgesetzt wird. Das soll Geschwindigkeitsvorteile beim Ausführen von Windows-Spielen unter Linux bringen.

Inhalt:
  1. Valve: Linux bekommt Windows-Thread-Synchronisation für Steam
  2. Futex für mehrere Objekte

Bisher setzen die Beteiligten auf das sogenannte Esync, das bestehende Techniken des Linux-Kernels verwendet. Ziel ist es, einerseits die Thread-Synchronisation im Userspace umzusetzen und dies andererseits so zu gestalten, dass Threads gleichzeitig den Zustand mehrerer Objekte erfragen können. Letzteres ist unter Linux aber bisher nicht ohne weiteres möglich.

Die vom Wine-Sponsor Codeweavers dazu erdachte Technik Esync erstellt deshalb für jedes Synchronisationsobjekt einen Eventfd-File-Descriptor. Mit diesen kann der Kernel eine Userspace-Anwendung über bestimmte Ereignisse informieren. Das ermöglicht es, Information über die einzelnen Objekte zu erhalten. Das Problem an dieser Implementierung ist aber, dass die Anzahl der pro Prozess verfügbaren File Descriptor standardmäßig auf 4.096 beschränkt ist.

Zwar heben einige Linux-Distributionen dieses Limit deutlich an. Aber auch das reicht offenbar nicht aus. Laut Aussage der Entwickler gibt es Anwendungen, die bei der Nutzung von Esync mehrere Millionen File-Descriptor erzeugen, so dass die verfügbare Anzahl irgendwann schlicht aufgebraucht ist. Darüber verursacht Esync eine leicht erhöhte CPU-Auslastung.

Stellenmarkt
  1. Fachinformatikerin / Fachinformatiker (m/w/d) der Fachrichtung Systemintegration mit Schwerpunkt ... (m/w/d)
    Kreis Paderborn, Paderborn
  2. Solution Architect Shopfloor Management (m/w/d)
    DRÄXLMAIER Group, München
Detailsuche

Die Umsetzung von Esync ist letztlich nur ein sehr ausgefallener Hack, der bestehende Begrenzungen der Kernel-Technik durch einen neuen Ansatz umgeht. Immerhin gibt es mit den sogenannten Futex (Fast Userspace Mutex) bereits seit langem eine Kernel-Technik zur Thread-Synchronisation, bei der die Mehrheit der Operationen im Userspace ausgeführt wird. Das ist wie erwähnt eines der Ziele der Technik von Valve. Die Entwickler wollen die Technik aber erweitern.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Futex für mehrere Objekte 
  1. 1
  2. 2
  3.  


Aktuell auf der Startseite von Golem.de
Framework Laptop im Hardware-Test
Schrauber aller Länder, vereinigt euch!

Der modulare Framework Laptop ist ein wahrgewordener Basteltraum. Und unsere Begeisterung für das, was damit alles möglich ist, lässt sich nur schwer bändigen.
Ein Test von Oliver Nickel und Sebastian Grüner

Framework Laptop im Hardware-Test: Schrauber aller Länder, vereinigt euch!
Artikel
  1. FTTH: Liberty Network startet noch mal in Deutschland
    FTTH
    Liberty Network startet noch mal in Deutschland

    Das erste FTTH-Projekt ist gescheitert. Jetzt wandert Liberty von Brandenburg nach Bayern an den Starnberger See.

  2. 5.000 Dollar Belohnung: Elon Musk wollte Twitter-Konto von 19-Jährigem stilllegen
    5.000 Dollar Belohnung
    Elon Musk wollte Twitter-Konto von 19-Jährigem stilllegen

    Tesla-Chef Elon Musk bot einem US-Teenager jüngst angeblich 5.000 US-Dollar, damit der seinen auf Twitter betriebenen Flight-Tracker einstellt.

  3. Let's Encrypt: Was Admins heute tun müssen
    Let's Encrypt
    Was Admins heute tun müssen

    Heute um 17 Uhr werden bei Let's Encrypt Zertifikate zurückgezogen. Wir beschreiben, wie Admins prüfen können, ob sie betroffen sind.
    Eine Anleitung von Hanno Böck

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • RTX 3080 12GB 1.499€ • iPhone 13 Pro 512GB 1.349€ • DXRacer Gaming-Stuhl 159€ • LG OLED 55 Zoll 1.149€ • PS5 Digital mit o2-Vertrag bestellbar • Prime-Filme für je 0,99€ leihen • One Plus Nord 2 335€ • Intel i7 3,6Ghz 399€ • Alternate: u.a. Sennheiser Gaming-Headset 169,90€ [Werbung]
    •  /