Just today I've used this in a Windows 11 QEMU VM to fix rekordbox (it failed to start about 4 out of 5 tries). rekordbox uses Unity with OpenGL for the UI and I guess the devs never tested it on a computer without GPU acceleration. Amazing stuff.
Proton uses esync or fsync which (from what I've read) are on-par with ntsync. However, esync and fsync can't be merged into upstream wine because they can't properly emulate some quirks of NT sync objects, hence the ntsync driver.
A big issue with IPC is thread scheduling. Thread B needs to get scheduled to see the request from thread A and thread A needs to get scheduled to see the response from thread B. I think there are WIP solutions to deal with this [1] this but I'm not up to date.
I found squashfs to be a great archive format. It preserves Linux file ownership and permissions, you can extract individual files without parsing the entire archive like tar and it's mountable. It's also openable in 7zip.
I wonder how pack compares to it, but its home page and github don't tell much.
No, the entire point of those vulkan extensions is to use the hardware-accelerated video processing units. You can use computer shaders for software decoding on the GPU, there is no need for special extensions to do that. AMD and Intel have specialized encoding/decoding hw too.
Isn't inverse transform sampling even faster than ziggurat? Most languages have an approximate erf^-1 implementation, everything is straight forward from there. I needed to generate random numbers from a truncated normal distribution and found inverse transform sampling easier to implement than trying to understand and adapt the ziggurat algorithm.
I think the people who say the Pixel 8 slow are gamers. Even a cheap phone is fast enough for the vast majority of people unless they play 3D games on it.
"The internet has been broken in a fundamental way. It is no longer a repository of people communicating with people"
But the examples given are... google search results and articles from big publishers, things made to cast a wide net. Those were never good ways to communicate with other people online imo. If you want to interact with real people look for smaller communities and individual creators.
> Note that an acquire load of p would have prohibited this reordering, since acquire loads block all future memory access, even if unrelated to the value being acquired.
I don't really get this part. The docs for acquire say:
> memory_order_acquire A load operation with this memory order performs the acquire operation on the affected memory location: no reads or writes in the current thread can be reordered before this load. All writes in other threads that release the same atomic variable are visible in the current thread
The prefetch is already ordered before the load in the same thread.
Saving a few ms during decompression actually matters when the game streams data from the disk in real time. People also hate loading screens and objects popping-in because the streaming pipeline is slow.
Well yes, because on Linux you use mmap to reserve virtual memory.
I wouldn't say that tooling is not aware of all that. For example, top and htop display virtual memory and resident memory and shared memory. You need to look at resident memory if you want to know physical memory usage.
I don't really get the point of the article. You can opt out of the privacy sandbox and block interests you don't want apps to see. The biggest change seems to be that chrome cand feed data into this system through an Android API, but doesn't this already happen through telemetry, analytics scripts and fingerprinting? You can also just not use chrome.