Linux-Kernel soll Windows-API für Synchronisation bekommen
Zusammenfassung
Codeweavers-Entwicklerin Elizabeth Figura schlug im Januar 2024 den Kerneltreiber NTSync vor, der Funktionen der Windows-NT-Thread-Synchronisation direkt im Linux-Kernel umsetzt. Vorgänger wie Esync und Fsync/Futex2 stießen an Grenzen, weil sich die komplexen NT-Semantiken mit vorhandenen Primitiven nicht korrekt nachbauen ließen. Bei manchen Spielen soll NTSync die Bildrate um 50 bis 150 Prozent steigern, bei anderen kaum etwas ändern.
Ideen
- Wine muss Windows-Synchronisationsobjekte möglichst exakt nachbilden.
- Threads sollen gleichzeitig auf mehrere Objekte warten können.
- Manche Operationen brauchen direkte Kontrolle, die im Userspace nicht möglich ist.
- Valve und Codeweavers trieben die Entwicklung über Jahre voran.
Einsichten
- Kompatibilitätsschichten stoßen irgendwann an die Grenzen des Gastsystems und brauchen Kernel-Unterstützung.
- Korrektheit ist bei Synchronisation wichtiger als eine clevere Nachbildung.
Fakten
- Die Arbeiten an besserer Thread-Synchronisation in Wine begannen über vier Jahre zuvor.
- Figura stellte das Konzept auf der Linux Plumbers Conference vor.
Referenzen
Kritik
- Die Leistungszahlen stammen aus Tests der Entwickler und schwanken stark zwischen einzelnen Spielen.
Empfehlungen
- Aktualisiere Kernel und Proton, um von neuen Synchronisationsmechanismen zu profitieren.
- Miss Leistungsgewinne bei Spielen selbst, statt auf Durchschnittswerte zu vertrauen.
Links zur Originalquelle und zum Webarchiv öffnen einen neuen Tab.