Conversation
This was referenced Aug 30, 2026
ero-qt
force-pushed
the
linux-builds
branch
4 times, most recently
from
September 14, 2026 17:17
871d3e9 to
4c5c93a
Compare
ero-qt
force-pushed
the
linux-builds
branch
from
September 15, 2026 11:02
4c5c93a to
56e6530
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #154.
Adds a table of 13 known Linux Mono builds and attaches with each build's measured offsets when a game runs one.
A build is recognized by its build ID, a value the linker writes into the binary that differs for every build. Unity's Mono library has one up to 2019.4. Newer libraries have none, so those builds are recognized by the ID of
UnityPlayer.so. The player's ID is used only when the Mono library has no ID at all, never because the lookup missed, so a modified Mono cannot match a normal build's entry.Some Linux games cannot attach at all today.
Version::detectneeds either a file namedlibmono.soor aUnityPlayer.soto read the Unity version from. Games that shiplibmonobdwgc-2.0.soand no player library have neither, so attaching fails. 2018.4 is one of them. The build lookup runs first, so those games attach.The measurements also fill in the Linux offset tables, which games nobody has measured fall back on. Those tables were shared with Mac, so they are split first and only the Linux copy takes the measurements.
cargo test --all-featuresruns the suite. The new tests cover the lookup, the build ID parser, which binary names a build and when, and the version tables agreeing with the measured builds.Depends on #153.