libretro / libretro/fbalpha2012

[determinism] differences of compiled emscripten (wasm) VS .so (linux)

Open
#118 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
31
Forks
55
PR merge metrics
No merged PRs in 30d

Description

Could someone explain me if there are differences between the compiled core emscripten (wasm) VS .so (linux) in the context of determinism?

I compiled the WASM version for browser where clients would play games, and now I would like to create an authoritative server with the linux compiled version (.so). Both versions were compiled with same git commit hash and using same Retroarch commit hash too. I need to acquire determinism between those versions, so the server mirrors the clients play. However, when replicating client's inputs the server de-syncs.

I am able to replay successfully the client inputs and acquired determinism, unfortunately the server de-syncs replaying the same inputs, even when using same emulator/core versions, config and rom.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by reproducing the successful browser replay and the server desynchronization with the same commits, emulator/core versions, configuration, ROM, and inputs, then identify the first divergent state. Done would require a documented explanation of the cross-build difference and a reproducible path to deterministic server replay.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux, wasm
Domain
build-system, game-dev
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.