Wrapper programs to map shared memory from a wine process into a Linux process.
This is basically forked from wineshm-go, but I don't know and don't want anything to do with GO, and I had to change some lines to get it to work. Hopefully, the intention of this project is to be more generic and extensible.
This project is used by my Monocoque project which is a device manager for Simulators. It depends on simapi for the headers for the various simulators that are supported. When pulling lastest if the submodule does not download run:
git submodule sync --recursive
git submodule update --init --recursive
Then to compile wrapper for various shared memory files...
make CFLAGS=-DACPHYSICS
make CFLAGS=-DACSTATIC
Yes, unfortunately you'll have to do a seaparte compile and run those two instances of the wrapper for each memory mapped file.
protontricks --no-runtime --background-wineserver -c "wine /home/racedev/git/wine-linux-shm-adapter/assets/shmwrapper1.exe 'acpmf_physics' r /home/racedev/git/wine-linux-shm-adapter/assets/shmwrapper2.bin" 244210
- This thing leaks more memory than my Grandma, i need to find a way to exit the child process gracefully so I can free memory
- Support more sims/programs
- The third wrapper (shmwrapper3.c) is meant to allow a wine prefix to access a linux memory mapped file. The test I wrote for it works, however, when I've tried to use it in practice, e.g. with CrewChief, it does not seem to work.