Skip to content

Releases: bobbycomet/Kalium

Backpatch restored (Skyrim SE/AE)

Choose a tag to compare

@bobbycomet bobbycomet released this 13 Sep 02:27
388cfa2

What was fixed and why

Backpatch is available again. It had been held back because downpatching alone was not enough after Bethesda’s 1.7.x update.

In 1.7.x, the format of ContentCatalog.txt changed. That file lives outside the game install (typically under Local AppData / the Proton prefix). The new format is incompatible with any version below 1.7.x (including 1.6.1170 and other 1.6.x targets): the older binary crashes on load when it reads the updated catalog.

What 1.2.1 does: on Apply (and auto/console apply), Kalium renames
ContentCatalog.txtContentCatalog.txt.bak.

  • The .bak keeps the original file so nothing is deleted.
  • The live catalog is no longer read by the downpatched game, so the backpatch can complete and run successfully.

UI: ContentCatalog.txt field with Browse and Auto-detect (Proton prefixes, Local AppData, MO2 compatdata).
CLI/API: content_catalog= / require_content_catalog= on run_backpatch, plus disable_content_catalog() and find_content_catalog().

Without this rename, depot apply alone does not fix the crash. With it, backpatch to 1.6.x (and other pre-1.7 targets) works.

1.2.0 MO2 repair

Choose a tag to compare

@bobbycomet bobbycomet released this 12 Sep 15:36
78576a1

Added

Repair MO2 (staged recovery, mod safe, save safe, tested on Skyrim SE/AE, backup is option for safety)

New capability to repair MO2 application files on an existing managed instance while optionally preserving instance (user) data. This does not create a new Steam shortcut, AppID, or Wine/Proton prefix — repair always targets the same install path and the same compatdata/<id>/pfx.

The feature is modeled as recovery of two separate state classes:

Application state (replaced) Instance state (optional backup / restore)
MO2 binaries, shipped plugins, runtime, helpers, USVFS mods/, downloads/, profiles/, stylesheets/, overwrite/, ModOrganizer.ini

Safety workflow

Backup → Confirm → Repair → Test → Restore
  • Backup and Restore are explicit, user-triggered steps — never silent.
  • Repair does not automatically restore instance data after reinstall.
  • Users are expected to launch MO2 from Steam and verify the original problem is gone before restoring.
  • Automated backup/restore is optional; fully manual backup/restore is supported.

Backup location rules

  • Backups must live outside the MO2 install folder (enforced).
  • Default suggestion: same drive, sibling folder, e.g.
    …/Games/MO2…/Games/MO2_backups/MO2_<timestamp>/
  • User may browse to any other path.

GUI

  • Settings → managed prefix → “Repair MO2” opens a dedicated staged dialog.
  • Stages: backup, confirmation checkbox, repair, test guidance, restore.
  • Per-folder selection (mods, downloads, profiles, stylesheets, overwrite, ini).
  • downloads/ and overwrite/ are optional (off by default in the UI).
  • “Skip backup — repair application only” for users handling data themselves.
  • Optional “remove backed-up folders after repair” so a clean MO2 can be tested before restore.
  • Manual backup checklist available in the dialog.

CLI (kalium fix-mo2)

New staged subcommand (see wiki for full usage):

  • backup — copy selected instance data out and verify
  • repair — replace application files only
  • restore — copy instance data back from a backup folder
  • checklist — print the manual backup checklist

New module

  • kalium/installers/fix_mo2.py — backup, application repair, restore, path helpers, checklist text.

Changed

  • Settings managed-prefix actions include Repair MO2 alongside USVFS, VFS memory, LOOT, and vcrun2022.
  • Repair-related messaging emphasizes same prefix / same path and that some mods may not survive a filesystem copy (re-download may be required).
  • Large-list timing is called out (HDD / overhaul packs can take an hour or longer).

Notes / caveats

  • overwrite/ may contain SKSE output, shader caches, and other generated VFS content — not only loose mod files.
  • Backup verification compares size/fingerprint; restore treats fingerprint mismatches as warnings (partial copies / picky mods) rather than always hard-failing the whole restore.
  • After application repair, Kalium still re-applies USVFS 0.5.7.2, theme, VFS max_memory, and custom-executable path normalization when those helpers succeed.

Files of interest

Path Role
kalium/installers/fix_mo2.py Core backup / repair / restore
kalium/main.py fix-mo2 CLI
kalium/ui/main_window.py Repair MO2 dialog + Settings button
'''

Some fixes

Choose a tag to compare

@bobbycomet bobbycomet released this 11 Sep 08:36
ed8356b

Removed some hardcoded destinations I left in when testing

Removed Backpatch from the UI. The issue is the Backpatch worked, but Steam, does not like when Linux tries to down grade a game. This is a Steam, Proton issue, nothing I do will fix that, so it will stay experimental in CLI.

v1.1.1.3 Downpatcher fix

Choose a tag to compare

@bobbycomet bobbycomet released this 11 Sep 04:14
be79071

Fixed

  • Skyrim SE targets now use full three-depot sets
    All 1.6.x versions (1.6.1170, 1.6.1130, 1.6.640) previously only downloaded the exe depot (489833). They now download the complete set (disk + core + exe) so the resulting install matches the target version exactly.

Updated manifests

Version Depots
1.6.1170 489831 / 8442952117333549665
489832 / 8042843504692938467
489833 / 1914580699073641964
1.6.1130 489831 / 3737743381894105176
489832 / 4341968404481569190
489833 / 2442187225363891157
1.6.640 489831 / 3660787314279169352
489832 / 2756691988703496654
489833 / 5291801952219815735
1.5.97 Unchanged (was already correct)

Improved

  • More robust version matching
    Accepts clean IDs (1.6.1170) as well as UI labels and slightly mangled strings (e.g. 1.6.1170 Recommended for AE 1.6.x mods)). Prevents “unknown target” errors when the frontend passes the display label instead of the ID.

Notes

  • 1.5.97 continues to use its existing full three-depot set.
  • Behavior for other games (Fallout 4, Starfield, Cyberpunk 2077, Witcher 3) is unchanged.
Screenshot_20260910_231247

v1.1.1.21 USVFS 0.5.7.2 patch

Choose a tag to compare

@bobbycomet bobbycomet released this 10 Sep 17:31
4df08cc

Improved reliability of USVFS 0.5.7.2 on recent Proton/Wine (especially GE-Proton 10.x and secondary-drive setups). The previous update fixed the Wine 10.20+ virtual folder duplication issue, but some users still needed a one-time vanilla game launch before MO2 would correctly overlay mods. This release hardens the USVFS integration and mount handling so the virtual filesystem attaches more consistently on first launch from a fresh or multi-library instance. Some game launches may take up to 3 minutes, do not close the game. Seeing the black screen as it loads is normal. Allow it to work.

USVFS crash fix

Choose a tag to compare

@bobbycomet bobbycomet released this 09 Sep 23:29
f5acff9

v1.1.1.2

Fixed

  • USVFS 0.5.7.2 is no longer enabled by default during MO2 install.
    Automatically updating to USVFS 0.5.7.2 could freeze games and lock the screen. That often looked like a compositor/Wayland problem and produced misleading warnings. The install wizard now leaves Update USVFS to 0.5.7.2 unchecked so stock MO2 USVFS is kept unless you opt in.

Changed

  • MO2 install step 4: USVFS update checkbox defaults to off.
  • Checkbox label/tooltip updated to mark the update as optional and note that it can cause issues on some systems.
  • Fallback when the checkbox is missing also skips the USVFS update (safe default).

Notes

  • You can still enable the USVFS 0.5.7.2 update manually in the installer if you need it (e.g., for virtual-folder duplication / slow boots on certain Wine/Proton 10.20+ setups).
  • Existing MO2 instances are unchanged. To update or roll back USVFS later, use Settings → Update USVFS (or kalium install-usvfs -p <mo2 path>).
  • CLI setup-mo2 still updates USVFS unless you pass --no-usvfs.

1.1.1.1 Beta fixes

Choose a tag to compare

@bobbycomet bobbycomet released this 08 Sep 20:16
cc8d2db

The same fix as 1.1.1, but for existing MO2 instances. Back up files for safety.

1.1.1 Beta fixes

Choose a tag to compare

@bobbycomet bobbycomet released this 08 Sep 18:10
b99b7e4

MO2 Game Selector & Detection Improvements

NOTE: This fix currently applies to new MO2 instances. A migration/fix for existing instances is planned for a future update.

If you know what you are doing, you can manually move your existing mods to the new instance, just as you would when migrating an MO2 instance on Windows. Make sure you understand how your MO2 instance is configured before doing this manually.

Improved

  • Game selector now defaults to blank for improved portability and to prevent Kalium from making an implicit game selection.

  • The selector displays known-game templates by default, but the user must explicitly select a game or browse to a game folder before continuing.

  • “Skip for now” is now available when appropriate instead of being blocked by automatic game detection.

  • The game selector now preserves the full Steam display name, including names such as:

    • The Elder Scrolls V: Skyrim Special Edition
    • The Elder Scrolls V: Skyrim
  • The full Steam display name is used for the MO2 gameName= value so MO2 plugins can correctly identify the selected game.

  • gamePath= continues to use the actual folder selected or browsed to by the user. The selector does not attempt to infer or alter the physical game path.

  • Game selection is now treated as metadata/information, while the selected filesystem path remains authoritative for the actual game location.

  • Duplicate game entries are prevented through a new seen_names guard.

Fixed

  • Fixed the “Game plugin does not exist” / “Instance does not exist” loop when using Switch to instance.
  • Fixed portable MO2 instances failing to bind correctly on their first launch.
  • Portable MO2 instances now preserve their existing Z: paths during instance binding instead of having their paths incorrectly rewritten.
  • Fixed automatic game detection forcing an unintended blank selector.
  • Fixed “Skip for now” behavior when automatic detection cannot or should not select a game.

Technical Changes

kalium/installers/mo2_game.py

  • Updated detect_managed_game_choices() to default to a blank selection and only populate known-game templates until the user explicitly selects or browses for a game.
  • Updated normalize_mo2_game_name() so the selector retains the full Steam display name for informational purposes while normalizing only the value written to MO2's internal gameName= configuration.
  • Added a seen_names guard to detect_managed_game_choices() to prevent duplicate game entries.

Game Identity vs. Game Path

Kalium now clearly separates the logical identity of a game from its physical filesystem location:

Steam display name
        ↓
    gameName=
        ↓
  MO2 game identity

User-selected folder
        ↓
     gamePath=
        ↓
  Actual game location

This prevents the game selector's informational data from interfering with the actual path used by MO2.

Result

MO2 instance creation and switching are now more reliable, particularly for portable MO2 installations, while game detection is less presumptive and more portable across different Linux and Steam configurations.

v1.1.0 Beta

Choose a tag to compare

@bobbycomet bobbycomet released this 07 Sep 21:05
674d584
Update README with mod issues and WINEPREFIX details

Added notes regarding mod compatibility issues with specific versions and installation processes. Clarified the importance of the WINEPREFIX setting for running LOOT and addressed potential graphical issues.

v1.0.0 Beta

Choose a tag to compare

@bobbycomet bobbycomet released this 05 Sep 08:24
9faf8fa
Enhance README with NaK reference and redesign note

Updated project description to include link to NaK and mention redesign.