3 ms·
I'm super excited for this! But it makes me curious. What's the process like for getting such a low-level primitive added to Linux? Especially a low-level prim
by andy_xor_andrew 2y ago
I'm super excited for this! But it makes me curious.
What's the process like for getting such a low-level primitive added to Linux? Especially a low-level primitive that 1) exist basically just to emulate behavior of a completely different kernel, and 2) is only needed for a subset of users to play games?
I'm not complaining, just curious. I would assume a patch to add the above would be heavily scrutinized. Is it because the popularity of the Steam Deck / proton?
- dayjah 2y agoI don’t know if this answers your question directly: but the article points out that this is a module, not a primitive that’s in the kernel itself. The idea here is that wine/proton can interact with this module directly if it’s loaded, or continue to use their wrappers around existing fsync if not. I expect that means a little less scrutiny since if it segs the user can choose to not load it and achieve a stable OS.
- nialv7 2y agoTechnically this is not a low-level primitive. NTSYNC isn't added as a, say, system call like futex2[0] was. It's instead added as a character devivce - which you can build your kernel without, and functions via ioctls. [0]: https://docs.kernel.org/userspace-api/futex2.html https://docs.kernel.org/userspace-api/futex2.html
- no-js-user 2y agoYou've got a nice arc river in "of / getting / to". Easier to find if you look slightly away from that part of the text. https://en.wikipedia.org/wiki/River_(typography) https://en.wikipedia.org/wiki/River_(typography)