Files

78 lines
2.8 KiB
Markdown

# mint — Linux (x86_64)
Prebuilt Linux binaries for [trumank/mint](https://github.com/trumank/mint) (x86_64, glibc),
plus a one-click installer that downloads, verifies (sha256) and installs `mint`.
## One-click install
```bash
curl -fsSL https://gitea.mygoband.com/carrydela/mint-linux/raw/branch/main/install.sh | bash
```
Installs to `~/.local/bin` (or `/usr/local/bin` as root), then runs a headless smoke test.
## Manual install
Grab the tarball from the [latest release](https://gitea.mygoband.com/carrydela/mint-linux/releases/latest),
check `sha256sum`, extract, put `mint` on your PATH:
```bash
curl -fLO https://gitea.mygoband.com/carrydela/mint-linux/releases/download/v0.1.1/mint-linux-x86_64.tar.gz
sha256sum -c mint-linux-x86_64.tar.gz.sha256 # download the .sha256 alongside
tar -xzf mint-linux-x86_64.tar.gz
install -m 0755 mint /usr/local/bin/
mint --version
```
## Requirements
- x86_64 Linux, glibc
- GUI runtime libs for the GUI (headless `--version` works without them):
- Debian/Ubuntu: `libxcb1 libxkbcommon0 libgl1 libwayland-client0 libx11-6`
- Fedora/RHEL: `libxcb libxkbcommon mesa-libGL wayland-client libX11`
## Build notes
Built from `trumank/mint` main (v0.2.10) with the **default `hook` feature enabled**:
```bash
# build-time deps (NOT needed at runtime)
apt install -y mingw-w64
rustup target add x86_64-pc-windows-gnu --toolchain nightly-2026-04-24
cargo +nightly-2026-04-24 build --package mint --release
```
The Linux MINT executable is built with the default `hook` feature enabled.
The hook itself is cross-compiled for `x86_64-pc-windows-gnu` because
Deep Rock Galactic runs as a Windows application under Proton.
MinGW-w64 is therefore required **at build time only, not at runtime** —
the hook DLL is embedded into the Linux binary via Cargo artifact dependency
(`include_bytes!(env!("CARGO_CDYLIB_FILE_HOOK_hook"))`) and written by MINT
itself to `FSD/Binaries/Win64/x3daudio1_7.dll` when installing mods.
Binary is stripped.
## Symbol build (crash triage)
To resolve crash offsets (e.g. `X3DAudio1_7.dll + 0x521F15` from a Proton crash log)
into Rust symbols, build the hook with debug info and symbolize:
```bash
# one-off profile override (see [profile.release.package.hook] in Cargo.toml)
cargo +nightly-2026-04-24 build --package mint --release
# symbolize RVAs against the debug hook.dll (image base 0x180000000)
python3.12 symbolize_hook.py <hook.dll> 0x521f15 0x57bff 0x54351
# or directly:
x86_64-w64-mingw32-addr2line -Cfipe <hook.dll> 0x180521f15 0x180057bff 0x180054351
```
A debug-symbolized DLL matching the shipped code layout is attached to the
release as `hook-debug-symbolized.dll`. See `CRASH-NOTES.md` for the
MINT HOOK FAILED analysis.
## Files
- `install.sh` — one-click installer (see above)
- `mint-linux-x86_64.tar.gz` — release asset (published on releases, not in the repo)