The original analysis that was done with wine 7.22 is still mostly true and you should read it first. There were some interesting improvements since then though which I’ll update you on here. (analysis of the state as of wine 8.5) Syscall Performance Optimizations That’s a small optimization that comes with 0aae4b05633c ("ntdll: Use ret instead of jmp to return from syscall dispatchers.") commit.…
I’ve been recently debugging an issue where returning from the UNIX side resulted in a jump to 0x0 . The whole PE -> UNIX interface was completely new to me so I’ve taken notes along the way. Here they are in a form of a blog post. Enjoy! (analysis of the state as of wine 7.22) The Syscall Thunk If you look at dlls/ntdll/ntdll.spec , a file that defines the DLL’s exports, you can see a bunch of…
TL;DR Glibc 2.36 was released and all the games using EAC EOS are no longer playable. A user did bisect and found the offending commit . I’ve filed a Glibc bug hoping for a quick revert. Turns out other things are also broken. Most likely it will stay this way. Win32 (via Wine + friends) is the only stable ABI on Linux :-P DT_HASH and DT_GNU_HASH In the ELF format there are two ways of providing a…
Together with mupuf we have hosted the X.Org Developers Conference 2020 , which for obvious reasons was virtual this year. We were streaming it live on YouTube from mupuf’s basement over his 1Gbps download / 100Mbps upload fiber. I have some limited experience with streaming on Twitch and a lot of experience with watching online speedrunning marathons like Games Done Quick and ESAMarathon .…
A lot of CI systems provide visualisation in forms of grids, heavily relying on color to communicate the results of the tests. The most popular mapping seems to be green for a success and red for a failure, which is unfortunate as red-green color blindness is the most common kind. With large enough user base it becomes extremely likely that someone will have hard time making sense of CI’s output.…