Hi, I tested IMM locally on Linux and it is already very close to working well.
I also noticed there is already a linux branch with several useful Linux-related changes, such as:
- native 7z/extraction support
- Linux hotreload/dependency checks
- cross-platform path normalization
- some Linux UI fixes
On my side, a native release binary works on Linux:
npm run build
cargo build --release --manifest-path src-tauri/Cargo.toml
The app can start, load EF/XXMI paths, scan EFMI mods, and display the mod list.
The main remaining issue I found is config file location.
There are still many places using relative config paths, for example:
readTextFile("config.json")
writeTextFile("config.json", ...)
readTextFile(`config${game}.json`)
writeTextFile(`config${game}.json`, ...)
Files involved include:
src/utils/init.ts
src/utils/filesys.ts
src/utils/errorCatcher.tsx
On Linux, this can make configs appear next to the executable, depending on how the app is launched. For example, if installed under ~/.local/bin, it may create:
~/.local/bin/config.json
~/.local/bin/configEF.json
For official Linux support, I think configs should use a stable Tauri app data directory instead, such as appDataDir() or localDataDir().
I also hit two AppImage packaging issues on Arch/CachyOS:
linuxdeploy strip failed with .relr.dyn, fixed locally with NO_STRIP=1.
- The generated AppImage crashed because the WebKitGTK helper process was missing:
WebKitNetworkProcess: No such file or directory
So for the first Linux target, a native binary or .deb package may be easier than AppImage.
I also attached two screenshots from my local Linux build. They show that the app was successfully compiled, launched, and is working well with my EFMI setup.

Hi, I tested IMM locally on Linux and it is already very close to working well.
I also noticed there is already a
linuxbranch with several useful Linux-related changes, such as:On my side, a native release binary works on Linux:
The app can start, load EF/XXMI paths, scan EFMI mods, and display the mod list.
The main remaining issue I found is config file location.
There are still many places using relative config paths, for example:
Files involved include:
src/utils/init.tssrc/utils/filesys.tssrc/utils/errorCatcher.tsxOn Linux, this can make configs appear next to the executable, depending on how the app is launched. For example, if installed under
~/.local/bin, it may create:For official Linux support, I think configs should use a stable Tauri app data directory instead, such as
appDataDir()orlocalDataDir().I also hit two AppImage packaging issues on Arch/CachyOS:
linuxdeploystrip failed with.relr.dyn, fixed locally withNO_STRIP=1.So for the first Linux target, a native binary or
.debpackage may be easier than AppImage.I also attached two screenshots from my local Linux build. They show that the app was successfully compiled, launched, and is working well with my EFMI setup.