giongto35 / cloud-game

Web-based Cloud Gaming service for Retro Game
https://www.youtube.com/watch?v=GUBrJGAxZZg
Apache License 2.0
2.24k stars 343 forks source link

Port Libretro frontend to C #421

Closed sergystepanov closed 3 months ago

sergystepanov commented 8 months ago

Go language FFI interface for C has proven to be quite restrictive and not suitable for this particular application. It is uncertain if goroutines will ever work with other stack-full-mangling coroutine systems like libco without writing performance-killing workarounds. The alternative is a completely isolated frontend with an IPC interface. With this approach we can focus further development of frontend's platform-specific code for just one -- Linux, leaving Docker to handle the rest (it will be impossible to run the app with a gpu-acceleration feature out of the box on mac except one that limited to Docker capabilities of gpu passthrough).

TBD