Skip to content

Launch native Linux KeeperFX directly instead of via Wine#119

Merged
rainlizard merged 1 commit into
rainlizard:mainfrom
ForkedInTime:linux-native-launch
Jun 30, 2026
Merged

Launch native Linux KeeperFX directly instead of via Wine#119
rainlizard merged 1 commit into
rainlizard:mainfrom
ForkedInTime:linux-native-launch

Conversation

@ForkedInTime

Copy link
Copy Markdown
Contributor

Native Linux launch for KeeperFX (no Wine)

KeeperFX now ships native Linux builds — the game executable is keeperfx with no .exe extension. On Linux, Unearth currently always wraps the game in Wine and only recognizes keeperfx.exe, so Save & Play fails against a native KeeperFX install. This PR makes Save & Play work natively on Linux.

All changes are guarded so Windows behavior is unchanged:

  • Game.gd keeperfx_is_installed() — also accept an extension-less keeperfx.
  • Game.gd cmdline() — on X11, run the executable directly when it is not a .exe (native binary); keep Wine for an actual .exe (Windows build under Wine).
  • Settings.gd auto_detect_executable() — detect a native keeperfx binary (no extension) in addition to keeperfx.exe / keeper.exe.
  • ChooseDkExe.gd — on X11, clear the *.exe-only file-dialog filter so the native binary is selectable.

Testing

On Linux against a native KeeperFX build: auto-detect finds the native keeperfx, the editor opens straight to editing (no “select executable” nag), and cmdline() produces cd '<dir>' && './keeperfx' -level N -campaign X — verified that command launches the native game directly, no Wine.

KeeperFX now ships native Linux builds (the executable is 'keeperfx', no .exe).
On Linux, Unearth previously always wrapped the game in Wine and only recognized
keeperfx.exe, so Save & Play failed against a native install. All changes are
guarded so Windows behavior is unchanged:

- keeperfx_is_installed(): also accept an extension-less 'keeperfx'.
- cmdline(): on X11, run the executable directly when it is not a .exe; keep
  using Wine for an actual .exe (Windows build under Wine).
- auto_detect_executable(): detect a native 'keeperfx' binary in addition to
  keeperfx.exe / keeper.exe.
- ChooseDkExe: on X11, clear the *.exe-only filter so the native binary is
  selectable in the file dialog.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rainlizard

Copy link
Copy Markdown
Owner

Looks good, thanks.

@rainlizard rainlizard merged commit a2f1dee into rainlizard:main Jun 30, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants