Repository navigation
Releases: BCD1210/soju
Release list
Soju v1.6.9
This release adds a DXMT tessellation cap for Steam games that overuse tessellation, such as the Dark Souls III stalls reported in #48.
- Steam support v2: the same pinned DXMT, Wine 11.0 driver and webhelper wrapper as v1, plus a backport of upstream DXMT's
d3d11.maxTessFactoroption. Upstream main is not used because it deadlocks in Soju's Wine driver. - How to use it: put a
dxmt.confcontainingd3d11.maxTessFactor = 16in the game's folder. Try8if stalls remain, and delete the file to undo. Lower values reduce tessellated detail. See Tessellation cap. - Updating: close Windows Steam, then run
soju steam-gamesonce. It downloads and verifies steam-support-v2 and keeps your games and per-game renderer settings.
Validation on M4 Pro / macOS 26.5:
- A tessellation load test drew 40,000 factor-64 patches per frame. It averaged about 124 ms per frame without a cap (same as v1), 12.3 ms with a cap of 16 and 5.0 ms with a cap of 8.
- The D3D11 smoke test presented 180 frames.
- On clones of a real v1 Steam bottle,
soju steam-gamesupgraded to v2 cleanly. - 121 Python tests, 16 Node tests, the Swift checks and the app build and signature also pass.
Dark Souls III itself was not available for testing, so whether the cap removes its stalls is still to be confirmed in #48.
Download the ZIP for the Mac app. Homebrew users: brew update && brew upgrade BCD1210/soju/soju.
Soju v1.6.8
This release fixes Steam library import for signed-in users (#52) and stops soju install from hanging when Blizzard's Battle.net setup stalls at 45% (#51).
- Steam import: Steam's All Games page is now a React page that no longer carries the markers Soju used to recognise a signed-in user. Import kept showing "Finish signing in on Steam's page" even after a successful sign-in. Soju now reads the signed-in account from the new page and imports owned games through Steam's API as before. Mismatched accounts are still rejected, and signed-out pages make no account requests.
- Battle.net setup: if Battle.net is not installed yet, setup state left by an unfinished attempt (
ProgramData\Battle.net,Battle.net_components,Blizzard Entertainment) is moved aside to~/.battlenet-macos/build/previous-setup-*(kept for its logs). An installer that has not finished after 10 minutes is stopped and retried once with a fresh download. If it stalls again, setup stops with the log location instead of waiting forever. - App build: the Mac app now builds with current Xcode (Swift 6.2+).
Validation: 119 Python tests, 16 Node tests (including new React-page import cases), Swift purchase-link checks, shell syntax, and the native Apple Silicon app build and signature verification. Steam's live React pages were checked in WebKit, signed out. A live signed-in Steam import and the real 45% stall could not be reproduced on the validation Macs, so #51 and #52 stay open for the reporters' results.
Download the ZIP for the Mac app. Homebrew users: brew update && brew upgrade BCD1210/soju/soju.
Steam support v2 — DXMT maxTessFactor option
Verified open-source rendering components for Windows Steam on Apple Silicon, v2.
- Same pinned DXMT (924a607), Wine 11.0 winemac and Steam webhelper wrapper as v1.
- New:
patches/dxmt-max-tess-factor.patchbackports upstream DXMT ef116534, thed3d11.maxTessFactordxmt.conf option, for games that overuse tessellation (#48). - Binary package, full corresponding source (same upstream snapshots plus the v2 Soju patches and build script) and licenses.
Validation on M4 Pro / macOS 26.5 in a throwaway prefix:
- The D3D11 smoke test presented 180 hardware frames.
- A tessellation load test (40,000 factor-64 patches per frame) averaged:
- about 124 ms per frame without a cap (same as v1);
- 12.3 ms with
d3d11.maxTessFactor = 16; - 5.0 ms with
d3d11.maxTessFactor = 8.
- v1 ignores the option (about 124 ms in every case).
Used by Soju v1.6.9. Existing users: close Windows Steam and run soju steam-games.
No Apple GPTK, games, store clients or user data are redistributed.
Soju v1.6.7
This release adds an opt-in, reversible per-game renderer workaround for Steam compatibility problems such as the Dark Souls III stalls reported in #48.
soju steam-games renderer dxvk <game.exe path>selects DXVK + MoltenVK for one 64-bit game. DXMT remains the default.dxmt,status, andresetselect DXMT, inspect the current profile, or restore the original files and settings.- Downloads are pinned and SHA-256 checked. Existing game-local DLLs and overrides are backed up; failed changes roll back. Active sessions, changed files and conflicting profiles are rejected.
- Steam's client renderer and other executable profiles are preserved, including through
soju steam-games --repair. - New community compatibility notes record the D2R/M5 success report (#49) separately from unresolved Star Rail (#47) and D2R OS-upgrade (#44) reports.
Commands and setup · Community reports
Validation: 116 Python tests, 12 Node tests, Swift checks, shell syntax, native Apple Silicon app build/signature verification. On M4 Pro / macOS 26.5, five hardware D3D11 smoke-test passes each presented 180 frames across DXMT, DXVK, full repair, switching back and reset in a temporary prefix.
Dark Souls III's reported ~30 FPS DXVK workaround remains user-reported; the game itself was not available on the validation Mac. This release does not fix upstream DXMT tessellation or claim Star Rail compatibility. Those issue threads remain open for follow-up.
Download the ZIP for the Mac app. Homebrew users: brew update && brew upgrade BCD1210/soju/soju. Close Windows Steam and its games before changing a renderer; existing games do not need reinstalling.
Soju v1.6.6
D2R now checks Soju's documented macOS 26.4 minimum before starting from the command line or unified library. On older or unrecognized macOS versions, it explains how to update instead of attempting the launch. Battle.net remains available for other games with a warning.
soju doctornow reports the D2R macOS requirement for Battle.net installations.soju doctor d2rprovides a focused check.- Diagnostic summaries distinguish environment checks from actual game compatibility.
- Includes the Sony controller routing fix and Battle.net troubleshooting documentation merged since v1.6.5.
For #44: update macOS, restart, and retry the existing installation. The reporter's hang remains open for confirmation after that update; this release corrects the missing diagnosis and launch preflight.
Validation: 102 Python tests, 12 Node tests, Swift purchase-link checks, shell syntax checks, and an Apple Silicon app build with signature verification.
Download the ZIP below for the native Mac app. Existing games and launcher installations do not need to be removed.
Soju v1.6.5 — Steam runtime recovery and safe uninstall
This update fixes Steam runtime recovery and removal.
- Repair missing or incompatible Wine runtimes even when Steam is already installed, preserving existing games.
- Stop the selected Steam runtime and wait before deleting its bottle; leave files intact if shutdown fails.
- Include downloaded Wine, the prepared renderer, and rollback copies in uninstall.
- Block runtime changes while a downloaded, prepared, legacy, or explicitly configured Steam session is running.
Download the ZIP, replace Soju.app, and reopen it. For an existing Steam installation that needs repair, close Windows Steam and its games, then run soju steam-install or use Steam setup in Platforms.
Soju v1.6.4 — Steam setup and library import fixes
This update fixes Steam setup and improves owned-library import.
- Install a checksum-pinned Wine 11 runtime directly from its upstream release; Homebrew’s disabled Wine cask is no longer required.
- Complete Steam’s first client download before preparing its login renderer, preventing missing steamui.dll and the first-launch black screen.
- Import games from legacy signed-in Steam pages through Steam’s own session, and restore polling when Retry import is selected.
- Keep the previous library on failed imports and clarify that Windows Steam installation is separate from account import.
Download the macOS ZIP below and replace Soju.app. Existing games and account imports are kept. For an interrupted Steam setup, open Platforms and install Steam again. The current Steam rendering package requires macOS 26 or later.
Soju v1.6.3 — Support Soju
Soju now has a small Support Soju link in the app sidebar, bringing voluntary support and community contributions together in one place.
- Visit the Support Soju page for ways to help, including compatibility reports, code, documentation and sharing the project.
- Donation options will become available once recipient setup is complete.
- The page explains how purchases marked Supports Soju can support development, at no extra cost to the buyer.
Download Soju-1.6.3-macos-arm64.zip, unzip it and move Soju.app into Applications or ~/Applications.
The app uses the same local library, account and store features as v1.6.2. Apple Silicon; app UI requires macOS 14 or later. See the desktop setup guide for component requirements and signing notes.
Soju v1.6.2
Soju 1.6.2
- Discover automatically uses an approved purchase affiliate link when available, and an ordinary official-store link otherwise.
- Affiliated purchase buttons show “Supports Soju” with a commission disclosure.
- Simplified purchase navigation with one store button per listing.
Affiliate mappings are currently awaiting provider approval; ordinary store links remain available.
Download the Apple Silicon app below. macOS 14 or later is required for the desktop app. Platform-specific runtime requirements still apply; see the desktop guide.
Soju 1.6.1 — Accounts & Discover
Soju 1.6.1
This patch keeps Python bytecode caches out of the signed Mac app bundle, preserving its signature after library scans and account/store requests. It includes all Accounts & Discover features below.
Your games, in one library
- Connect Steam through its official sign-in page, including QR sign-in and Steam Guard. No personal API key or profile URL required.
- Import owned games from GOG GALAXY's local library.
- Filter installed and uninstalled games, with duplicate-free merging and official launcher install actions.
Discover your next game
- Search Steam and GOG with regional prices for the US, Korea, UK, Germany and Japan.
- Open official product pages, with direct search links for Epic Games and Battle.net as well.
Local by design
- Account library snapshots stay on your Mac. Steam's web session stays in Soju's WebKit storage and can be cleared from Accounts.
- Purchases, downloads and game updates remain with each official platform.
- No Soju account or telemetry.
Epic Games and Battle.net currently support installed-game detection and official launcher/store links; full account imports are not included.
Download and unzip Soju-1.6.1-macos-arm64.zip. The native UI requires Apple Silicon and macOS 14+. The current Steam rendering package requires macOS 26+; game compatibility varies. The app is ad-hoc signed, with the existing macOS opening instructions in the Mac app guide.