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

  1. README.md GitHub · designgears/wine-uwp · Revision 1cf79d0
  2. AGENTS.md GitHub · designgears/wine-uwp · Revision 1cf79d0
  3. docs/Plan.md GitHub · designgears/wine-uwp · Revision 1cf79d0
  4. docs/Findings-M4.md GitHub · designgears/wine-uwp · Revision 1cf79d0
  5. wine/README.md GitHub · designgears/wine-uwp · Revision 1cf79d0
  6. wine/BASE.txt GitHub · designgears/wine-uwp · Revision 1cf79d0
  7. wine/dlls/dcomp/composition.c GitHub · designgears/wine-uwp · Revision 1cf79d0
  8. regress.sh GitHub · designgears/wine-uwp · Revision 1cf79d0
  9. packaging/harvest/manifest.txt GitHub · designgears/wine-uwp · Revision 1cf79d0
  10. README.md GitHub · designgears/shapr3d-linux · Revision 58d9173
  11. .gitmodules GitHub · designgears/shapr3d-linux · Revision 58d9173
  12. installer/Cargo.toml GitHub · designgears/shapr3d-linux · Revision 58d9173
  13. https://x.com/DesignGears/status/2109530620321788301
  14. https://x.com/DesignGears/status/2109532140907921698