-
Notifications
You must be signed in to change notification settings - Fork 189
[Linux] Directory picker for manual game location does not work #20439
Description
Description
When manually setting a game directory on Linux via Games > Browse, selecting the correct directory results in "Game not found — This directory doesn't appear to contain the game." The game files are confirmed to exist at the expected relative paths.
Tested with both The Witcher 3 (requiredFiles: bin/x64/witcher3.exe) and Cyberpunk 2077 (requiredFiles: bin/x64/Cyberpunk2077.exe) — same result.
Steps to Reproduce
- Launch Vortex on Linux
- Go to Games, find a game (e.g. The Witcher 3 or Cyberpunk 2077)
- Click "Manually Set Game Folder"
- Navigate to the game's root directory (the one containing
bin/x64/) - Click "Open"
- Error: "Game not found — This directory doesn't appear to contain the game."
Environment
- OS: NixOS (Linux 6.19, case-sensitive ext4 filesystem)
- DE: COSMIC Desktop (Wayland)
- Electron: 38.8.1
- Vortex: 1.16.3 (also reproduced on 1.16.2)
- Packaging: Native Nix derivation (see nixpkgs PR #491344)
Relevant Logs
Vortex Version 1.16.3
Parameters .../electron .../app.asar --game Cyberpunk 2077 Vortex Support
not validating vortex files ENOENT: no such file or directory, open '.../app.asar.unpacked/assets/md5sums.csv'
using /home/can/.config/Vortex as the storage directory
[common-interpreters] python not found not found: python
reloading game store games steam
done reading steam libraries
failed to query game location {"game":"untitledgoosegame","error":"Cannot read properties of undefined (reading 'findByAppId')"}
warning notification {"message":"Some of the installed extensions couldn't be loaded because they have missing or incompatible dependencies."}
[modtype-gedosato] failed to look for GeDoSaTo {"err":"f.RegGetValue is not a function"}
Game entry not found in specified store {"pattern":"...","storeId":"xbox","availableStores":"steam"}
Game entry not found in specified store {"pattern":"...","storeId":"gog","availableStores":"steam"}
Game entry not found in specified store {"pattern":"...","storeId":"epic","availableStores":"steam"}
Steam is detected as the only store, game extensions load, but manual directory selection fails.
Investigation
selectDir() in src/util/ExtensionManager.ts calls dialog.showOpenDialog with properties: ["openDirectory"]. The result goes to browseGameLocation → findGamePath → verifyGamePath in src/extensions/gamemode_management/index.ts, which uses fsExtra.stat(path.join(gamePath, file)) to check required files.
Attempted workarounds (none worked):
--xdg-portal-required-version=999(Electron flag to force native GTK dialogs)GTK_USE_PORTAL=0(env var to bypass XDG portals entirely)- Upgrading from v1.16.2 to v1.16.3
Possibly related:
- Electron regression electron/electron#48356 —
openDirectoryopens file picker instead of directory picker on Linux with XDG portals (affects Electron 36.2+) verifyGamePathuses case-sensitivefsExtra.stat()— any casing mismatch between the game extension'srequiredFilesand the actual filesystem paths will fail silently on Linux- PR Add Linux Steam and Proton support #19381 added Linux Steam/Proton support with case-insensitive matching, but is on
masteronly (not in v1.16.x release branch)
Expected Behavior
Selecting the game's root directory should successfully detect the game and allow managing mods.