aboutsummaryrefslogtreecommitdiff
path: root/libs/basic_games_native/src/steamutils.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix Steam game detection in game mode + add result cacheSulfurNitride2026-03-161-4/+26
| | | | | | | | | | | | | | | | | - Prepend STEAM_COMPAT_CLIENT_INSTALL_PATH as first Steam path candidate. Steam always sets this env var when launching any app (including in gamescope/game mode), so it reliably points to the correct Steam root even when $HOME resolves differently inside the gamescope session. - Canonicalize VDF-sourced library paths before dedup in getAllLibraryFolders() so /home/ ↔ /var/home/ symlinks (Bazzite/Fedora immutable distros) don't produce duplicate scan entries. - Cache findSteamGames() results in a static hash. Previously, findSteamGamePath() rebuilt the full library scan 45+ times per launch (once per registered game plugin). Now the scan runs at most once. Fixes game detection on Bazzite in Steam Game Mode. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Replace Python plugins with native C++ .so, remove bundled Python (~95MB)SulfurNitride2026-03-121-0/+156
- Add native plugins: form43_checker, script_extender_checker, preview_dds, basic_games (75 game defs via IPluginProxy pattern with Steam/GOG detection) - Remove portable Python from Dockerfile and build-inner.sh - Add Python settings tab with venv support (system python3 + PyQt6) - Skip loading plugin_python.so when Python disabled (default: off) - Update pythonrunner.cpp to use venv at ~/.local/share/fluorine/python-venv/ - Preserve real file permissions in FUSE VFS (fixes native executable +x bits) - Add FUSE_SET_ATTR_MODE handler so chmod works through VFS - Fix desktop shortcut Exec= to use fluorine-manager launcher, not bare binary Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>