<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Fluorine-Manager.git/libs/basic_games/steam_utils.py, branch main</title>
<subtitle>A port of MO2 in linux with NaK integration and FUSE based VFS. Comes with Root Builder support by default.</subtitle>
<id>http://git.schererleander.de/Fluorine-Manager.git/atom/libs/basic_games/steam_utils.py?h=main</id>
<link rel='self' href='http://git.schererleander.de/Fluorine-Manager.git/atom/libs/basic_games/steam_utils.py?h=main'/>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/'/>
<updated>2026-03-18T02:41:31Z</updated>
<entry>
<title>Fix Steam game mode: strip LD_PRELOAD, robust looksValid(), restore env for games</title>
<updated>2026-03-18T02:41:31Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-03-18T02:41:31Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=412eda0369cb89c8fed871d46227bbe671c4fd68'/>
<id>urn:sha1:412eda0369cb89c8fed871d46227bbe671c4fd68</id>
<content type='text'>
Steam injects 32-bit gameoverlayrenderer.so via LD_PRELOAD which causes
"wrong ELF class" errors for 64-bit Qt6 apps. Save and clear LD_PRELOAD
in both launcher and AppRun scripts, restore it in ProtonLauncher for
game processes.

Also hardens looksValid() with QFileInfo::exists() for absolute paths
(QDir::exists() has edge cases with relative subdirectory paths), adds
case-insensitive directory walking fallback, and adds debug logging to
both looksValid() and detectGame().

Adds ~/.steam/debian-installation to Python steam_utils.py candidates.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fix Steam game mode: clear LD_LIBRARY_PATH, deploy native basic_games, add env var detection</title>
<updated>2026-03-17T22:26:05Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-03-17T22:26:05Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=2efc7e6124ef814ac9abd874bff0dc6b3e6768d0'/>
<id>urn:sha1:2efc7e6124ef814ac9abd874bff0dc6b3e6768d0</id>
<content type='text'>
Steam game mode injects its scout/soldier runtime into LD_LIBRARY_PATH,
which breaks Python extension modules and Qt internals that resolve
dependencies via LD_LIBRARY_PATH rather than RPATH. This caused all
Python-based basic_games plugins (Witcher 3, Oblivion Remastered, BG3,
etc.) to fail to load when launched through Steam.

Changes:
- Launcher script: set LD_LIBRARY_PATH to only bundled lib/ dir instead
  of leaving Steam's runtime in the path
- AppRun: same fix — replace rather than append to LD_LIBRARY_PATH
- Deploy libbasic_games_native.so in tarball (was built but never copied)
  so basic_games entries work without Python dependency
- Add STEAM_COMPAT_CLIENT_INSTALL_PATH env var check to Python
  steam_utils.py (mirrors C++ fix from e41a79a) for game mode detection

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add Root Builder plugin, Linux game detection, and OMOD installer fix</title>
<updated>2026-02-12T01:04:11Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-02-12T01:04:11Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=8a10147bbb1fe6589c4205bcfd26d6d696512ced'/>
<id>urn:sha1:8a10147bbb1fe6589c4205bcfd26d6d696512ced</id>
<content type='text'>
- New native Root Builder plugin (src/plugins/rootbuilder.py) with copy
  and symlink deploy modes, auto-deploy hooks, backup/restore, and
  third-party conflict detection that moves incompatible plugins to
  DisabledPlugins/. In link mode, .exe/.dll are always copied to avoid
  Wine/Proton path resolution issues with symlinked executables.

- Fix basic_games detection on Linux: steam_utils now checks native
  Steam paths (~/.local/share/Steam, Flatpak, Snap), epic_utils uses
  correct Linux Heroic config paths, gog_utils falls back to Heroic
  GOG installed.json when Windows registry is unavailable.

- Fix OMOD installer crash: isArchiveSupported now handles both IFileTree
  (from mod list refresh) and string (from install check) arguments.

- Add flatpak manifest step to copy source-tree Python plugins
  (src/plugins/*.py) into the build output.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fluorine Manager: full Linux port of Mod Organizer 2</title>
<updated>2026-02-11T08:37:39Z</updated>
<author>
<name>SulfurNitride</name>
<email>SulfurNitride@users.noreply.github.com</email>
</author>
<published>2026-02-11T08:37:39Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/Fluorine-Manager.git/commit/?id=7ee008e150bc5bcf76082d726f719ee0fdfda982'/>
<id>urn:sha1:7ee008e150bc5bcf76082d726f719ee0fdfda982</id>
<content type='text'>
Complete native Linux port with FUSE-based virtual filesystem,
Proton/umu-run integration, and Flatpak packaging.

Key features:
- FUSE VFS replacing Windows USVFS (in-process + standalone helper for Flatpak)
- Proton/GE-Proton/umu-run launcher with env var forwarding
- Flatpak support (sandbox-aware VFS, NXM handler, umu-run)
- Wine prefix management UI
- Case-insensitive path resolution for Linux filesystems
- QSettings-safe INI handling (avoids Bethesda INI corruption)
- Portable instance support with auto-generated launcher scripts

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
