Skip to content

Releases: metalsharp/MetalSharp

v0.59.1

Choose a tag to compare

@github-actions github-actions released this 09 Aug 02:19
ff3ead2

0.59.1 Release Notes 🚀 (Several Important Fixes and Features)

New Features:

  • M12 Now Runs through VKD3D-Proton -> DXVK -> Custom MoltenVK; Still experimental, some games work, some don't quite work yet. Ironing out Geometry Shader issues for the next release but want to get this current release in.
  • Cmd + Q now force kills a running game if it gets stuck (M12 is a bit iffy about this)
  • Msync Toggle in the Sidebar
  • MetalFX Toggle in the Sidebar for Upscaling with Modes M11->M10, which can help bring performance gains.
  • Controller Input Selection from the Sidebar
  • Cmd + P for an system overlay viewer
  • Stronger Mono/FNA(/Xna/.Net) Support in the existing Mono/FNA Pipeline

Bug Fixes:

  • Migrations were lossy; Now users won't be left with a stuck configuration, should fix transient update failures
  • Switching between engines now clears previously placed dll's from game folders before deploying matching sets for the saved option.
  • User saved themes now persist after app-open / app-close
  • MoltenVK updated from 1.4.1 to improved custom-built 1.4.2 inside the genuine runtime placement location.
  • MacOS 14 Users now get Metal 3.1 Support through DXMT
  • MacOS 15->25 users now get Metal 3.2 Support through DXMT
  • Developer Feedback and Bug Reports through the settings
  • Telemetry In settings (Give access for developers to see only crash logs and transient failures to improve MetalSharp) ; Can Toggle Off at anytime.
  • Games using OpenGL work now as expected. Vulkan was overriding configuration.
  • Wine is now gated as 'Metalsharp-Wine' ; Aims to fix issues where steam was not launching due to another wine install, such as crossover or sakiragur being installed already. It is expected to work now regardless.

More Confirmed Games:

  • Reminiscence : M11
  • Terraria : Mono / FNA
  • Stardew Valley : Mono / FNA
  • The Binding Of Isaac; Rebirth : M11 (32)
  • Repo can work through M12 now
  • Schedule I can work through M12 now
  • Silksong can work through M12 now

When playing games, the typical flow is: Save the bottle engine as the games DirectX version, and matching bit. (32) , no 32 for 64 bit. Play from MetalSharp's Library directly so game overrides are sent through the game request and games will work correctly this way. Steam-Emu is only for older source games, usually only use this option with M9 or D3DMetal since gptk does not launch steam.

v0.58.0

Choose a tag to compare

@github-actions github-actions released this 04 Aug 18:52
d302ccb

Security Update: It is recommended for all users to update to this version to address some newly discovered npm vulnerabilities. See: aikido.dev/blog/keyv-and-friends-compromised-in-npm-supply-chain-attack

Metalsharp packages were not effected but this update ensures no one is at threat due to NPM version.

Early Theme update as a result; New themes are present on the dashboard for users to use early, they were 0.60.0 intended but everyone gets to enjoy them now :) - It is safe for all users to install the update from inside the application, all bottle saves and settings are retained through updates.

0.60.0 Dependancy Bundles - Upcoming Release Preview / Developer Build For Native Arm64 Wine with FEX

Choose a tag to compare

@aaf2tbz aaf2tbz released this 31 Jul 17:55
dcf7908

MetalSharp 0.60.0 Dependency Bundles | Not an Official Release

Released: July 31, 2026
Type: Runtime dependency archive for the next MetalSharp release
Current app release: MetalSharp 0.57.0

Important:

This is not a new MetalSharp application release and does not include an application DMG. MetalSharp 0.57.0 remains the current app release. This permanent archive preserves the custom native ARM64 Wine runtime for integration, testing, and the upcoming 0.60 update.

At a Glance

This release packages MetalSharp's complete native ARM64 Wine runtime and its graphics, compatibility, media, installer, managed-runtime, and Steam integration dependencies.

  • Wine: Native macOS ARM64 Wine 11.12
  • Guest support: AArch64, ARM64EC/ARM64X, x86_64, and i386/WoW64
  • Translation: Native ARM64 xtajit64.dll for x86_64 and custom FEX-derived xtajit.dll for i386
  • Graphics: MoltenVK, DXVK, vkd3d-proton, DXMT/Winemetal, and MetalSharp OpenGL-to-Metal
  • Archive: Four downloadable parts; 3.06 GB compressed (2.85 GiB), approximately 16 GiB staged
  • Contents: 45,892 entries
  • SHA-256: 9210991e4249d8dd647fba1bb7e8dcfe808f760c638eeebbf55752f560ad8f0c

Install

Download install-metalsharp-wine-runtime.sh and run:

chmod +x install-metalsharp-wine-runtime.sh
./install-metalsharp-wine-runtime.sh

The installer looks for either the complete archive or all four parts in the current directory, beside the script, and in Downloads or Desktop. If none are found, it downloads the parts from this release. It then:

  1. Verifies each part's fixed hash.
  2. Reassembles and tests the archive.
  3. Verifies every extracted payload hash.
  4. Creates the MetalSharp ~/.metalsharp/runtime/wine/bin and graphics layout adapters.
  5. Installs the runtime transactionally.

Replacing an existing runtime requires --replace. Prefixes, Steam state, bottles, saves, and shader caches are never removed.

Manual Reassembly

Download all four .part files, PARTS-SHA256SUMS.txt, and REASSEMBLE.txt into the same directory, then run:

shasum -a 256 -c PARTS-SHA256SUMS.txt
cat MetalSharp-Wine-Runtime-COMPLETE-all-arch-2026-07-31.tar.zst.part01 \
    MetalSharp-Wine-Runtime-COMPLETE-all-arch-2026-07-31.tar.zst.part02 \
    MetalSharp-Wine-Runtime-COMPLETE-all-arch-2026-07-31.tar.zst.part03 \
    MetalSharp-Wine-Runtime-COMPLETE-all-arch-2026-07-31.tar.zst.part04 \
    > MetalSharp-Wine-Runtime-COMPLETE-all-arch-2026-07-31.tar.zst
shasum -a 256 MetalSharp-Wine-Runtime-COMPLETE-all-arch-2026-07-31.tar.zst
zstd -t MetalSharp-Wine-Runtime-COMPLETE-all-arch-2026-07-31.tar.zst

Expected reconstructed SHA-256:

9210991e4249d8dd647fba1bb7e8dcfe808f760c638eeebbf55752f560ad8f0c

Runtime and Architecture Support

  • Native macOS ARM64 Wine 11.12 and wineserver.
  • AArch64/ARM64 Windows PE execution.
  • ARM64EC/ARM64X PE modules and import redirection.
  • x86_64 execution through the canonical native ARM64 xtajit64.dll provider.
  • i386/WoW64 execution through the custom FEX-derived native ARM64 xtajit.dll provider.
  • Wine-managed 32-bit guest addressing, PEB32/TEB32, syscall and Unix-call pointer conversion, TLS, contexts, SEH, APCs, callbacks, and multithread lifecycle support.
  • Darwin 16 KiB page-aware W^X handling, executable-code invalidation, and managed/JIT runtime support.
  • Native ARM64 Unix bridges for every guest architecture; no i386 or x86_64 Mach-O bridge is required.

The runtime does not require Rosetta or Apple's optional hardware TSO mode. x86 memory ordering is preserved in software with ARM64 acquire/release operations, barriers, and acquire/release atomics. All FEX TSO toggles are disabled in the packaged configuration.

Performance Runtime

  • P7/P8 architecture-transition classification and persistent FEX code caches.
  • Bounded shared-image caching, precise exception state, and stable safe-point and teardown behavior for x86_64 and i386/WoW64.
  • Deduplicated WoW64 executable-memory invalidation and batched Vulkan host procedure discovery.
  • Versioned per-prefix cache generations for DXVK, vkd3d-proton, DXMT, MetalSharp, Metal, and XDG, with automatic invalidation when runtime inputs change.
  • Native ARM64 hot-set prefetch helper and a bounded all-architecture manifest containing 222 entries and 211,225,570 bytes, staged during prefix setup.
  • Accepted P8 result: 0.791952 GB/s physical throughput, 1.908866 GB/s effective warm-start throughput, 0.990010 GB/s including the 100 ms overlap, and a 58.41% reduction in attributed cold-start stalls.
  • The P8 helper, manifest, source, validation evidence, provider staging, and environment integration are included in this package; P8 is not an external overlay.

Graphics

Vulkan and MoltenVK

  • Patched MoltenVK 1.4.2 with pinned Vulkan ICD selection.
  • Vulkan portability enumeration, Vulkan 1.3, dynamic rendering, synchronization2, maintenance4, buffer-device-address, robustness, and other features required by the Direct3D translation layers.
  • Native ARM64 Vulkan host paths for AArch64, ARM64EC/x86_64, and i386/WoW64 guests.

Direct3D: DXVK and vkd3d-proton

  • DXVK 3.0.2 final DLLs for AArch64, ARM64EC, x86_64, and i386.
  • D3D9 DLL loading, adapter enumeration, Apple M4 selection, and capability queries across all four guest modes.
  • D3D11/DXGI device creation, offscreen clears, copies, and deterministic CPU readback.
  • vkd3d-proton 3.1.0 d3d12.dll and d3d12core.dll for all four guest architectures.
  • D3D12 device creation, direct queues, resources, state transitions, upload/default/readback copies, fences, CPU waits, and deterministic readback.
  • Custom handling for MoltenVK's optional extension boundaries and architecture-correct PE-to-native-ARM64 routing.

D3D9 validation covers DLL loading, adapter selection, and capabilities. It does not claim device rendering or presentation.

DXMT and Winemetal

  • DXMT 0.80 D3D11/DXGI stack, Arm64 Translated
  • ARM64EC and i386 PE stages paired with native ARM64 winemetal.so.
  • Relocatable ARM64 libunwind.1.dylib closure.
  • Coverage for WMTCopyAllDevices, native bridge loading, DXGI imports, and factory creation/release.

OpenGL to Metal

  • Multi-architecture Wine opengl32.dll integration.
  • Native ARM64 MetalSharp OpenGL sidecar with pinned glslang and SPIRV-Cross.
  • WGL loading, pixel formats, contexts, Metal renderer identity, framebuffer clear/readback, and GLSL 1.20 drawing on all four guest architectures.
  • Opt-in GLSL 3.30 and 4.50 translation through SPIR-V, Metal Shading Language, Metal pipelines, and deterministic readback.

The modern OpenGL path validates the documented translated draw/readback surface; it is not a claim of complete OpenGL 4.x conformance.

Synchronization and Process Lifecycle

  • Toggleable Mach-semaphore MSync.
  • Events, semaphores, mutexes, wait-all, signal-and-wait, APCs, abandonment, named cross-process events, and second-thread coverage.
  • Exact per-prefix wineserver shutdown and disposable-prefix cleanup.
  • Canonical provider hashes and staging checks prevent wineboot from restoring stale xtajit.dll or xtajit64.dll providers.

SDL, Input, and Controllers

  • SDL2 2.32.10 and SDL3 3.4.10 DLLs for AArch64, ARM64EC, x86_64, and i386.
  • Relocatable native ARM64 SDL2 provider with Wine winebus integration.
  • Dummy audio/video initialization, hidden windows, software-surface clear/readback, events, dynamic loading, second threads, and clean shutdown.
  • XInput DLL families, DirectInput, and DirectInput8.
  • Controller enumeration, normalized state, axes, force-feedback capability, vibration calls, keyboard, and mouse support across all guest modes.
  • Duplicate raw-HID suppression for controllers also exposed through SDL/IOHID.

Audio, Media, and Windows Libraries

  • XAudio2, XACT, FAudio, and XNA...
Read more

v0.57.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 21:00
a396459

Surprise!!!

Brand New Themes:

  • Skeleton (My Favorite)
  • Orange Peel
  • Forest
  • DragonFruit

As well as some polish to the existing Light/Dev Themes, and Bottle Buttons now only drop the card directly below it, not the entire row.

Developer Notes:

  • 0.60.0 Will be Dropped soon. It is postponed so I can fix bugs. The source bundles are released for developers and for the eventual 0.60.0 update.
  • Migrations now clean prefix preseveration after update is completed instead of leaving a sizeable backup in internal storage
  • Steam is no longer left running after Migration's Update-Wineboot

Edit: Currently aware of an issue where installing this program will not let you launch steam if either crossover, sakirugir, or another wine launcher is installed. This is why I need people to submit issues 😭 - Will fix before the next update.

v0.56.8

Choose a tag to compare

@github-actions github-actions released this 22 Jul 21:38
99c78a8

What's New

Library

  • Refreshed the Library layout for a cleaner, more responsive experience.
  • Steam and backend status indicators now remain visible beside the title as the window narrows.
  • Launch, refresh, search, and filter controls now reflow below the title on smaller windows.

Sharp Library

  • Added a Library source menu for switching between installed Windows applications and GOG games.
  • Streamlined the installed-app view so its header stays focused on installing and refreshing applications.
  • Updated application cards to show app type, installation state, and size together.
  • Reorganized primary app controls around Play, bottle routing, and a consolidated Tools panel.
  • Added Set Cover for selecting custom application artwork.
  • Added Add Asset for copying files into an application's bottle under drive_c/metalsharp-assets.
  • Kept Uninstall readily available from the Tools panel.
  • Improved route labels so installed and uninstalled games display their selected launch pipeline more clearly.

Logs and Crash Reports

  • Redesigned Logs around three responsive views: Live log stream, Crash reports, and Recent log files.
  • Added crash-report discovery for game, bottle, Steam dump, and system crash locations.
  • Added safe in-app previews for text logs and readable strings extracted from binary crash dumps.
  • Kept log content inside a bounded panel so the page header and view selectors remain accessible.
  • Limited the displayed live stream to 1,000-line batches while backend polling continues without losing its position.

Development Preview

  • Added npm run preview for opening the live Library views against existing ~/.metalsharp data and the development backend.
  • Development preview skips the first-launch setup wizard only in unpackaged builds; packaged first-run behavior is unchanged.

Validation

  • Rust formatting passed.
  • Clippy passed with warnings treated as errors.
  • Prettier formatting passed for the updated package manifests.
  • npm and Cargo metadata both resolve the application version as 0.56.8.
  • All six version surfaces were verified as 0.56.8 on main.

Reference

v0.56.5

Choose a tag to compare

@github-actions github-actions released this 22 Jul 02:50
4a75e00

What’s New:

  • Fixed detection of Inno Setup, NSIS, MSI, and WiX installers.
  • Installer frameworks now launch through the safer WineBare pipeline.
  • Added a native extraction fallback for MoonScraper’s Wine-incompatible Inno boostrapper.
  • Installer bottles now automatically synchronize installed applications into Sharp Library.
  • Sharp Library applications correctly retain and launch through their associated bottles.
  • Uninstalling an installer-based app now removes its bottle, preventing it from reappearing after refresh.
  • Applications without cover art now use the standard MetalSharp fallback artwork.
  • Added bottle health information and launch-log access to Sharp Library cards.
  • Improved installer detection by scanning larger executables and avoiding false NSIS matches.
  • Added a dedicated shared prefix for non-Steam Sharp Library applications. 

MoonScraper Chart Editor:

MoonScraper Chart Editor 1.5.13 can now be installed and launched directly through Sharp Library. MetalSharp automatically uses native innoextract when needed, installs it through Homebrew if unavailable,and imports the extracted editor into its own bottle.

Validation:

  • MoonScraper Chart Editor 1.5.13 Win64 verified with WineBare / M11 Launch.
  • Full Rust test suite passed.
  • Rust formatting, Clippy, release build, TypeScript, Biome, Prettier, and Electron production build validated.

v0.56.3

Choose a tag to compare

@github-actions github-actions released this 21 Jul 10:08

What's Changed

*Reverted C backend Back to rust, too many problems, will pursue in a future commit.

*Enhanced performance with new flags and variables in several pipelines
*Added the baseline infrastructure for OpenGL 2-4-> Metal
*Added Sdl3 Support , was only Sdl2
*Fixed other bottles showing M12-dry runs
*Fixed M9 losing it's default pipeline
*Enhanced Glass Side Panel
*Improved Loading Speeds
*Fixed Backend Connection Killers

More Confirmed Games:

  • Ball x Pit (M11)
  • Dome Keeper (Auto)
  • Balatro (M11(32))
  • Besiege (M11)
  • Brighter Shores (M11)
  • Mind Scanners (M10) - First Confirmed D3D10 Game!
  • Plate Up! (M11)

Full Changelog: v0.54.5...v0.56.3

v0.54.5

Choose a tag to compare

@github-actions github-actions released this 09 Jul 09:35
de408ab

What's Changed

  • chore: harden testing surface, archive dead roadmaps, drop stale code by @aaf2tbz in #261

  • Feat: Added over 600 games to the rules as defined defaults based on 32/64 bit, DirectX versions.

  • WARNING: If you have an active installation of sikarugir, installing this is likely to conflict with that installation. If you are having problems, it is recommended to uninstall sikarugir to install this program, as the version in wine will conflict and create issues for the program. Thank you for your attention to this matter. You can still use gptk for dx12 games; MetalSharp will assist first-time setup for d3dmetal bottles so they do not conflict with the general metalsharp-saved state. Layered wine installations will cause conflicts otherwise, as metalsharp will not be able to overwrite the existing sikarugir saved state, by-design for security compliance / user saved-state preservation.

v0.54.1

Choose a tag to compare

@github-actions github-actions released this 08 Jul 22:48

Stable Update; Users should experience the expected MetalSharp usability with the new mono update/ GOG oauth custom browser.

v0.54.0

Choose a tag to compare

@github-actions github-actions released this 08 Jul 22:28

What's Changed

  • fix(gog, mono): inline OAuth BrowserWindow + Wine Mono install hardening by @aaf2tbz in #259

Full Changelog: v0.53.8...v0.54.0

What's Changed

  • fix(gog, mono): inline OAuth BrowserWindow + Wine Mono install hardening by @aaf2tbz in #259

Full Changelog: v0.53.8...v0.54.0