案例

wine-uwp:在修改版 Wine 上运行打包的 Windows 商店应用

扩展 Wine 11.17,使已签名的 MSIX 商店应用(主要目标为 Shapr3D)无需源码或符号即可在 Linux 上安装运行。约 49,000 行改动新增了 DirectComposition 实现、合成交换链和应用模型宿主;微软自己的 XAML 与应用模型 DLL 则在使用者机器上从 Windows 11 镜像中提取后原样运行。作者称大部分逆向工程和代码由 Claude 完成;各应用支持程度不一,由项目回归测试检查。

使用条件与局限

  • README 的应用列表报告:Shapr3D 的草图、建模、菜单、云同步、登录及 STL/PDF 导出可用;Solitaire 可游玩;Media Player 能从自身界面播放音频;Calculator 完全可用;Feedback Hub 可交互;Camera 只能进入它自己的错误页面。Shapr3D for Linux(58d9173)将同一固定版本的 wine-uwp 打包为测试版 AppImage 和 Flatpak;它是非官方项目,与 Shapr3D 无关。
  • 需要使用者自己的应用包(.msix 或 .msixbundle,或 Shapr3D 的 .appinstaller,安装程序据此下载约 1.8 GB),以及从微软免费的 Windows 11 评估版 ISO 或其他 Windows 11 镜像中提取的 Windows 组件。仓库和发布包均不含这些内容,提交钩子会拒绝 Windows 二进制文件。Shapr3D 还需要账号并通过浏览器登录。
  • 构建时把仓库内的 wine/ 文件复制到 Wine 11.17 源码之上,再运行 autoreconf、带 --enable-archs=x86_64 的 configure 和 make;WinRT 替身组件使用 clang-cl 与 lld-link,针对 xwin 获取的 Windows SDK 头文件构建。Shapr3D for Linux 需要 glibc 2.38+ 的 64 位 Linux、可用的 Vulkan 驱动,安装期间约需 11 GB 空闲空间;其发布包用 flatpak-builder 在 freedesktop 25.08 SDK 中构建。
  • regress.sh 要求 Calculator 与仓库中保存的基线逐像素一致,并要求其他应用能在私有 Xvfb 显示上启动;release.sh 的冒烟测试检查全新安装能否进入 Shapr3D 的首个界面。Findings 日志既记录修复,也记录失败的尝试。这些检查均为项目自报;本合集未构建 Wine,也未运行任何应用。
  • 两个仓库都没有顶层许可证文件,GitHub 也未识别出许可证。仓库内的 Wine 文件带有 LGPL-2.1-or-later 声明,安装程序的 Cargo 清单也声明相同许可;替身组件和调查工具未声明许可证。提取的微软组件和商店应用各自保留条款,项目计划也指出,可分发的产品需要以净室方式替换这些组件。作者在 X 帖子中披露大量借助 Claude;未确立 REA 使用。

关于此条目

类型
案例
类别
独立重建案例
关联
独立重建项目
目标
应用

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

一手来源

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