diff options
| author | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-02-14 15:40:33 -0600 |
|---|---|---|
| committer | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-02-14 15:40:33 -0600 |
| commit | 6410929e17d642618f284d5c97d457f1ac653e6e (patch) | |
| tree | 5c0ee09e04f38a2dd70f1734d25c74e0b8ae5d43 /README.md | |
| parent | 817e8f5cd26739c69d930d21cd9dc4c0b6e4984e (diff) | |
Migrate data paths to ~/.local/share/fluorine/, add native build, fix %command% and system Proton scanning
- All data paths migrated from ~/.var/app/com.fluorine.manager/ to
~/.local/share/fluorine/ so native and Flatpak builds share the same
instances, plugins, and configs
- New fluorinepaths.h/.cpp with fluorineDataDir() helper and one-time
migration from old path (writes MOVED.txt breadcrumb)
- New libs/nak/src/paths.rs as Rust equivalent (data_dir())
- Strip %command% tokens from launch wrapper in protonlauncher.cpp
- Always scan /usr/share/steam/compatibilitytools.d/ for system Proton
packages (Arch installs Proton there); add Flatpak filesystem permission
- Native build (build-native.sh) installs to ~/.local/share/fluorine/
with desktop entry and ~/.local/bin symlink instead of portable zip
- build-flatpak.sh wrapper for Flatpak builds
- Fix container locale (LANG=C.UTF-8) for AutoUic warnings
- Fix prefixExists() to handle both compatdata and pfx directory layouts
- Fix globalInstancesRootPath() to use fluorineDataDir() on Linux
- Fix umu-run Flatpak lookup to use fluorineDataDir()
- Update README with build instructions and Arch dependency list
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 48 |
1 files changed, 43 insertions, 5 deletions
@@ -32,17 +32,56 @@ You can then get started with: `flatpak run com.fluorine.manager` or you should More information can be found in the [FAQ](https://github.com/SulfurNitride/Fluorine-Manager/blob/main/docs/FAQ.md). -You can find me in the [NaK Discord](https://discord.gg/9JWQzSeUWt) +You can find me in the [NaK Discord](https://discord.gg/9JWQzSeUWt) If you want to support the things I put out, I do have a [Ko-Fi](https://ko-fi.com/sulfurnitride) I will never charge money for any of my content. -## Build +## Building + +Both builds install to `~/.local/share/fluorine/` — the same location, so Flatpak and native share instances, plugins, and configs. + +### Flatpak (recommended for end users) ```bash -cmake -B build -cmake --build build -j"$(nproc)" +./build-flatpak.sh bundle +# Produces a .flatpak file you can install with: +# flatpak install --user fluorine-manager.flatpak ``` +### Native (container build) + +Requires podman (or docker). The container handles all dependencies automatically. + +```bash +./build-native.sh +# Builds inside a container, then installs to ~/.local/share/fluorine/ +# Creates a desktop entry and symlinks fluorine-manager into ~/.local/bin/ +``` + +### Native (building from source on host) + +If you want to build directly on your system without a container, you need: + +**Build tools:** GCC/Clang, CMake, Ninja, Rust toolchain, pkg-config, patchelf + +**Libraries:** +- Qt 6 (base, webengine, websockets, wayland) +- Boost (program_options, thread) +- Python 3 dev headers, pybind11, PyQt6 +- spdlog, toml++, tinyxml2, sqlite3, fontconfig +- libfuse3, lz4, zlib, zstd, bzip2, lzma +- OpenSSL, libcurl + +**Python packages:** `sip` (build tools), `psutil`, `vdf` + +Then build: +```bash +cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_PLUGIN_PYTHON=ON +cmake --build build --parallel +``` + +Note: `python-sip` (the build tools package providing `sipbuild`) is required in addition to `python-pyqt6-sip` (the runtime module). If you see `ModuleNotFoundError: No module named 'sipbuild'`, install `python-sip`. + ## Known Limitations - Some third-party MO2 plugins are Windows-only and will fail on Linux (for example DLL/ctypes `windll` assumptions). @@ -55,4 +94,3 @@ libs/ MO2 sub-libraries src/ Main organizer source docs/ Notes and tracking ``` - |
