Closed fwsGonzo closed 1 month ago
The latest PR https://github.com/fwsGonzo/libriscv/pull/138 fixes a few things, now making it possible to run binary translated libriscv on Windows. In order to close this issue though, this feature should also work on Windows builds of my game. In order to test, I should create a mingw .dll on the server, place it in the Windows build folder and monitor that it gets loaded on the Windows client. If the client runs normally, I will consider it solved.
Can conform that it's working on a highly complex game and game server, where one client is running Windows with ~10-12 binary translated libriscv programs running in various threads. The first time I tried it my desktop froze and I had to reboot, but it hasn't happened since. I tried putting a mutex on the emulated dlopen() stuff - but I can only wait and see if it happens again.
For now, I consider this first attempt as a success. My game runs in Steam, wine + wine64 and several other programs run on the terminal using wine.
Even though most people don't have compilers on Windows, games are packaged, and the script is already precompiled. So, why not just create a MinGW .dll as part of that process, and then allow loading it on Windows?
Binary translated libriscv is stupidly fast. It's going to be worth it.
Preliminary results show that it works just fine.
Minimal dependencies.