Adding Functionality to Make Windows Games Run Faster on Linux
Talkat Open Source Summit Europe 2023 · on Wednesday, 2023-09-20· at 16:50· Room 0B (Floor 0), Abandoibarra Etorb., 4, 48011 Bilbao, Bizkaia, Spain·
summary
A kernel-backed scanner implements PAGEMAP_SCAN ioctl and extends userfaultfd write-protect async plus unpopulated pte markers to track per-page write state, return compact address ranges with flags, and handle normal, THP, hugetlb and hole mappings. Patches hit version 33, include ~100 self-tests, and add max-pages and walk-offset args. Replacing mprotect+SIGSEGV with this path cuts reported game load anomalies (cases rising from 10–20 s to over 1–2 minutes) back down and shows strong performance gains in microbenchmarks.
AI-written summary · about
chapters (12)
- 0:00Improving Windows games on Linux
- 7:13Linux kernel memory basics
- 10:08Soft dirty flag limits
- 14:03CRiU project challenges
- 15:06ioctl-based solution
- 20:07ioctl for all memory types
- 23:00Performance optimizations
- 29:13Benchmarking results
- 32:40Development challenges
- 36:11Future steps
- 36:39Wine integration impact
- 38:04Upstream kernel work
related talks
25mExploring Intel Sub-Page Protection in Context of Live Migration
01mWelcome to the Gaming MC!
01h 03mC++ Function Multiversioning in Windows
41mEnhancing Your Gaming Experience on Linux With Sched_ext
01h 01mFile I/O for Game Developers: Past, Present, and Future with C++
40mInspecting and Optimizing Memory Usage in Linux
29mTowards an Alternative Memory Architecture
01h 06mPerformance engineering: being friendly to your hardware
