aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-14 15:40:33 -0600
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-14 15:40:33 -0600
commit6410929e17d642618f284d5c97d457f1ac653e6e (patch)
tree5c0ee09e04f38a2dd70f1734d25c74e0b8ae5d43 /README.md
parent817e8f5cd26739c69d930d21cd9dc4c0b6e4984e (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.md48
1 files changed, 43 insertions, 5 deletions
diff --git a/README.md b/README.md
index 83139ff..73f9ace 100644
--- a/README.md
+++ b/README.md
@@ -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
```
-