Case study
wine-uwp: running packaged Windows Store apps on a patched Wine
Extends Wine 11.17 so that signed MSIX Store apps, with Shapr3D as the main target, install and run on Linux without their source or symbols. About 49,000 changed lines add a DirectComposition implementation, composition swap chains and an app-model host, while Microsoft’s own XAML and app-model DLLs, harvested from a Windows 11 image on the user’s machine, run unmodified. The author says Claude did most of the reverse engineering and code; app support is uneven and checked by a project regression suite.
Requirements and limitations
- README’s app table reports Shapr3D sketching, modelling, menus, cloud sync, sign-in and STL/PDF export; Solitaire playable; Media Player playing audio from its own UI; Calculator fully working; Feedback Hub interactive; and Camera only reaching its own error page. Shapr3D for Linux (58d9173) packages this same pinned wine-uwp commit as a beta AppImage and Flatpak; it is unofficial and not affiliated with Shapr3D.
- Needs the user’s own app package (.msix or .msixbundle, or Shapr3D’s .appinstaller, from which setup downloads about 1.8 GB) and Windows components extracted from Microsoft’s free Windows 11 evaluation ISO or another Windows 11 image. Neither the repositories nor the release packages contain them, and a commit hook refuses Windows binaries. Shapr3D also needs an account and a browser sign-in.
- Building copies the vendored wine/ files over the Wine 11.17 source, then runs autoreconf, configure with --enable-archs=x86_64 and make; the WinRT stand-in shims build with clang-cl and lld-link against Windows SDK headers fetched by xwin. Shapr3D for Linux needs 64-bit Linux with glibc 2.38+, working Vulkan drivers and about 11 GB free during setup, and its releases build with flatpak-builder on the freedesktop 25.08 SDK.
- regress.sh requires Calculator to stay pixel-identical to a committed baseline and other apps to come up on a private Xvfb display; release.sh smoke-tests that an empty setup reaches Shapr3D’s first screen. The Findings logs record failed approaches as well as fixes. These checks are project-reported; this collection did not build Wine or run any app.
- Neither repository has a top-level license file, and GitHub detects none. The vendored Wine files carry LGPL-2.1-or-later headers and the setup app’s Cargo manifest declares the same; the shims and investigation tools state no license. Harvested Microsoft components and Store apps keep their own terms, and the plan notes that a distributable product would need clean-room replacements for them. The author’s X posts disclose heavy Claude assistance; REA use is not established.
About this entry
- Type
- Case study
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Targets
- App
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · designgears/wine-uwp · Revision 1cf79d0
- AGENTS.md GitHub · designgears/wine-uwp · Revision 1cf79d0
- docs/Plan.md GitHub · designgears/wine-uwp · Revision 1cf79d0
- docs/Findings-M4.md GitHub · designgears/wine-uwp · Revision 1cf79d0
- wine/README.md GitHub · designgears/wine-uwp · Revision 1cf79d0
- wine/BASE.txt GitHub · designgears/wine-uwp · Revision 1cf79d0
- wine/dlls/dcomp/composition.c GitHub · designgears/wine-uwp · Revision 1cf79d0
- regress.sh GitHub · designgears/wine-uwp · Revision 1cf79d0
- packaging/harvest/manifest.txt GitHub · designgears/wine-uwp · Revision 1cf79d0
- README.md GitHub · designgears/shapr3d-linux · Revision 58d9173
- .gitmodules GitHub · designgears/shapr3d-linux · Revision 58d9173
- installer/Cargo.toml GitHub · designgears/shapr3d-linux · Revision 58d9173
- https://x.com/DesignGears/status/2109530620321788301
- https://x.com/DesignGears/status/2109532140907921698