[Apps Adaptation] 为了让 Linux 流畅运行 Windows 软件,这支中国团队跑了十年
Tofloor
poster avatar
vIann
deepin
2025-10-16 09:37
Author

“要让 Linux 系统流畅运行 Windows 应用”——这曾是一个看似天真的目标,却成了一个中国团队长达十年的坚定实践。

在开源世界,Wine 是连接 Linux 与 Windows 两大应用生态的关键桥梁。自 2014 年起,deepin-wine(现“统信Windows应用兼容引擎”)团队便投身其中,成为这座桥梁坚定的建设者。

他们的征程始于国产 Linux 生态的拓荒年代——面对几乎为零的应用环境,团队主动奔走,联合搜狗输入法、WPS Office、网易云音乐等厂商,以技术合作的方式推动开发了一系列 Linux 原生应用,为早期用户扫清了办公、娱乐与输入体验的核心障碍。与此同时,团队也启动了 deepin-wine 项目,致力于解决更广泛的 Windows 应用兼容性问题,其成果至今仍被多个Linux发行版所使用。

十余年间,他们以 200 余次代码提交深度介入 Wine 核心模块,其中 89 个高质量补丁被上游采纳,以沉静而坚定的方式,默默拓宽着 Linux 桌面兼容能力的边界。

技术深耕:89 个上游补丁背后的扎实贡献

deepin-wine 团队对 Wine 项目的贡献,并非简单的“缝缝补补”,而是围绕真实用户场景下的兼容性痛点展开的长期技术攻坚。

这些已合入上游的补丁,覆盖了图形图像、文字显示、音频播放、3D 加速、桌面融合、HID 外设等多个核心模块,切实解决了工业软件、多媒体应用、办公软件在 Linux 环境下的稳定运行问题,诸如:

**提升图形渲染兼容性:**针对专业 CAD 类软件对 OpenGL 的特定需求,deepin-wine 团队修复了相关逻辑,确保了工业设计软件在 Linux 桌面上的精准显示与稳定运行。

修复音频、图像处理等关键模块的稳定性问题:deepin-wine 团队修复了多处可能引发内存越界、渲染错误或崩溃的潜在风险,增强了这类应用的可靠性。

**增强 Linux 桌面融合:**通过为桌面环境交互相关模块添加支持,显著改善了文件拖放、文件浏览等用户体验。

这些高质量补丁的持续提交,体现了 deepin-wine 团队对 Wine 架构的深刻理解,以及解决复杂兼容性问题的技术实力。

从代码到产品:一条完整的技术落地路径

**技术贡献的终点,是用户可感知的产品体验。**deepin-wine团队并未止步于社区代码贡献,而是成功地将上游技术成果转化为用户可感可知的产品能力,走出了一条从“社区共建”到“产品赋能”的完整路径。

**2021 年:技术普惠初探:**团队推出“Wine助手”,实现了在 deepin 系统上双击安装运行 Windows exe 程序的能力。这一产品化的尝试,极大降低了普通用户使用 Wine 技术的门槛,让 Linux 桌面兼容 Windows 应用变得简单可及。

**2024 年:迈向全场景深耕:**随着技术积累的加深,团队推出了更易使用的“UOS 应用迁移助手”(后更名为“统信Windows应用兼容引擎”),不仅支持将 exe 程序打包成 deb 安装包,还完善了对 ARM 架构的支持。 更重要的是,团队通过掌握了 Wine 的字体解析与渲染机制,系统性地解决了各类 Windows 程序的中文乱码、字体缺失、显示不完整等顽固问题,使中文应用的显示效果与运行稳定性显著提升,为实现全场景无缝迁移奠定了坚实基础

**2025 年:持续迭代升级:**截至目前,“统信 Windows 应用兼容引擎”已迭代至V3.3.3版本,deepin 用户可以从应用商店中一键下载安装。统信 Windows 应用兼容引擎中包含了一个庞大的 Wine 应用软件数据库,方便用户根据软件信息直接安装 Wine 应用。

产品的持续演进,不仅体现了团队的技术执行力,更彰显了其致力于解决用户实际痛点、构建完善应用生态的决心。

初心不变:让 Linux 更好地运行 Win 应用

“让 Linux 系统流畅运行 Windows 应用”,这不仅是 deepin-wine 团队自 2014 年以来的初心,更是一场长达十年的技术长跑。从第一行代码到服务千万用户,从社区贡献到产品化落地——他们用实际行动证明:中国开发者的身影,已成为全球开源图景中扎实而坚定的一部分。

开源的真谛在于协作与共享,未来这支团队将继续这场长跑,持续技术深耕,优化产品体验,推动一个更包容、更好用的 Linux 生态成为现实。

共同前行,加入我们!

「一起来 Wine!Windows 应用适配迁移活动(第2期)」活动也即将上线,我们热切期待更多伙伴加入 deepin-wine 的队伍,参与 Wine 应用的迁移投递,共同助力 Linux 系统上 Windows 应用兼容技术的进步。

敬请关注官网/公众号/社群公告,第一时间获取活动指南,活动福利丰厚噢~

技术深耕:89 个上游补丁背后的扎实贡献

Reply Favorite View the author
All Replies
sammy-621
deepin
2025-10-16 09:55
#1

技术贡献的终点,是用户可感知的产品体验👍

Deepin团队的用心,我们感知到了

Reply View the author
vIann
deepin
2025-10-16 10:20
#2
sammy-621

技术贡献的终点,是用户可感知的产品体验👍

Deepin团队的用心,我们感知到了

再接再厉~~applaud

Reply View the author
晚秋(lateautumn)
Moderator
2025-10-16 10:34
#3

感恩大佬们的努力。

Reply View the author
kookboy
deepin
2025-10-16 11:28
#4

like

支持~加油!

Reply View the author
tagerw
deepin
2025-10-16 12:10
#5

既然Linux能顺畅运行win软件,何必还去开发原生软件?有了原生软件的,就没必要再要求软件开发商适配Linux了。就是那些还没有原生软件、没有替代品的才有必要去沟通一下。目前仍然没看到建筑预算软件能在Linux上运行。

Reply View the author
LINUX小白菜
deepin
2025-10-16 13:10
#6

统信WINDOWS兼容应用引擎今天更新了,原来我的UOS1070系统用这个引擎一个WINDOWS软件都安装不了,折腾了好多次都不能安装,气得我甚至想把系统做掉,幸好没放弃,在论坛跟帖发过意见。没想到今天更新后居然能安装了,刚刚成功安装了微信、PS2021等原来不能安装的WINDOWS软件,目前只有一个我想安装的软件钉钉windows版安装不了,提示错误,求大佬们把钉钉搞定。

Reply View the author
LINUX小白菜
deepin
2025-10-16 14:57
#7

安装钉钉后报错如下:

Unhandled exception: unimplemented function propsys.dll.PropVariantToFileTime called in wow64 32-bit code (0x7a6f7af3).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:002b
EIP:7a6f7af3 ESP:21b4f590 EBP:21b4f5e4 EFLAGS:00000246( - -- I Z- -P- )
EAX:21b4f590 EBX:7927f000 ECX:00000004 EDX:21b4f5fc
ESI:21b4f5fc EDI:00000000
Stack dump:
0x21b4f590: 80000100 00000001 00000000 7a6f7af3
0x21b4f5a0: 00000002 7927f000 7927f761 01a658a0
0x21b4f5b0: 21b4f8e8 024a51d0 00000020 21b4f5f8
0x21b4f5c0: 7951272c 79540140 00000040 00000000
0x21b4f5d0: 796cb31c 00000000 21b4f5f0 00483906
0x21b4f5e0: 7a95e5dc 21b4f60c 79279f3d 80000100
Backtrace:
=>0 0x7a6f7af3 in kernelbase (+0x47af3) (0x21b4f5e4)
1 0x79279f3d in propsys (+0x9f3d) (0x21b4f60c)
2 0x79271b00 in propsys (+0x1b00) (0x21b4f918)
3 0x0044fa10 in 8.0.10-release.250917002 (+0x4fa10) (0x21b4fa70)
4 0x0044f2f3 in 8.0.10-release.250917002 (+0x4f2f3) (0x21b4fadc)
5 0x0044ce58 in 8.0.10-release.250917002 (+0x4ce58) (0x21b4fc54)
6 0x004349fa in 8.0.10-release.250917002 (+0x349fa) (0x21b4ff04)
7 0x00436269 in 8.0.10-release.250917002 (+0x36269) (0x21b4ff18)
8 0x00460e34 in 8.0.10-release.250917002 (+0x60e34) (0x21b4ff50)
9 0x7a95fa58 in kernel32 (+0xfa58) (0x21b4ff68)
10 0x7aa8e187 in ntdll (+0xe187) (0x21b4ff80)
11 0x7aac4862 in ntdll (+0x44862) (0x21b4ffec)
0x7a6f7af3 kernelbase+0x47af3: movl -4(%ebp), %ebx
Modules:
Module Address Debug info Name (31 modules)
PE 400000- ce7000 --none-- 8.0.10-release.250917002
PE-Wine 78d10000-78d39000 Deferred mlang
PE-Wine 78d50000-78d5a000 Deferred atlthunk
PE-Wine 78d70000-78ea9000 Deferred windowscodecs
PE-Wine 78ec0000-78ef9000 Deferred uxtheme
PE-Wine 78f10000-78f2a000 Deferred winex11
PE-Wine 79270000-7929a000 Export propsys
PE-Wine 792b0000-792bd000 Deferred userenv
PE-Wine 792d0000-792da000 Deferred psapi
PE-Wine 792f0000-79370000 Deferred gdiplus
PE-Wine 79380000-794c6000 Deferred comctl32
PE-Wine 794e0000-79597000 Deferred oleaut32
PE-Wine 795b0000-795c8000 Deferred coml2
PE-Wine 795e0000-795ec000 Deferred cryptbase
PE-Wine 79600000-79681000 Deferred rpcrt4
PE-Wine 796a0000-796ee000 Deferred combase
PE-Wine 79700000-797b2000 Deferred ole32
PE-Wine 797d0000-797e8000 Deferred shcore
PE-Wine 79800000-7984c000 Deferred shlwapi
PE-Wine 79860000-7a194000 Deferred shell32
PE-Wine 7a1b0000-7a1cd000 Deferred imm32
PE-Wine 7a1e0000-7a215000 Deferred win32u
PE-Wine 7a230000-7a2ac000 Deferred gdi32
PE-Wine 7a2c0000-7a392000 Deferred ucrtbase
PE-Wine 7a3b0000-7a3cf000 Deferred sechost
PE-Wine 7a3e0000-7a41a000 Deferred advapi32
PE-Wine 7a430000-7a5ed000 Deferred user32
PE-Wine 7a600000-7a69f000 Deferred msvcrt
PE-Wine 7a6b0000-7a93e000 Export kernelbase
PE-Wine 7a950000-7a9b2000 Export kernel32
PE-Wine 7aa80000-7ab2a000 Export ntdll
Threads:
process tid prio name (all IDs are in hex)
00000038 services.exe
0000003c 0
00000040 0 wine_rpcrt4_server
0000004c 0 wine_rpcrt4_io
00000070 0 wine_rpcrt4_io
00000088 0 wine_rpcrt4_io
000000a0 0 wine_rpcrt4_io
000000bc 0 wine_rpcrt4_io
000000dc 0
0000013c 0 wine_rpcrt4_io
00000148 0 wine_rpcrt4_io
00000044 winedevice.exe
00000048 0
00000054 0
00000058 0 wine_sechost_service
0000005c 0
00000060 0
00000064 0
00000094 0 wine_nsi_notification
00000068 plugplay.exe
0000006c 0
00000074 0
00000078 0 wine_sechost_service
0000007c 0 wine_rpcrt4_server
000000d0 0 wine_rpcrt4_io
00000080 svchost.exe
00000084 0
0000008c 0
00000090 0 wine_sechost_service
00000098 winedevice.exe
0000009c 0
000000a4 0
000000a8 0 wine_sechost_service
000000ac 0
000000b0 0
000000b4 0
000000c0 0
000000c8 0
000000cc 0
000000d8 0
00000108 start.exe
0000010c 0
00000110 start.exe
00000114 0
00000118 enum_process_window.exe
0000011c 0
00000120 (D)

截图_20251016145515.png

Reply View the author
comicfans
deepin
2025-10-16 15:21
#8

给默默无闻风险的大家点赞 deepin的引擎确实好用

Reply View the author
krisd
deepin
2025-10-16 18:20
#9
tagerw

既然Linux能顺畅运行win软件,何必还去开发原生软件?有了原生软件的,就没必要再要求软件开发商适配Linux了。就是那些还没有原生软件、没有替代品的才有必要去沟通一下。目前仍然没看到建筑预算软件能在Linux上运行。

windows30多年的生态不是一朝一夕能替代得了的

Reply View the author
krisd
deepin
2025-10-16 18:21
#10
LINUX小白菜

统信WINDOWS兼容应用引擎今天更新了,原来我的UOS1070系统用这个引擎一个WINDOWS软件都安装不了,折腾了好多次都不能安装,气得我甚至想把系统做掉,幸好没放弃,在论坛跟帖发过意见。没想到今天更新后居然能安装了,刚刚成功安装了微信、PS2021等原来不能安装的WINDOWS软件,目前只有一个我想安装的软件钉钉windows版安装不了,提示错误,求大佬们把钉钉搞定。

钉钉有原生的

Reply View the author
LINUX小白菜
deepin
2025-10-16 19:56
#11
krisd

钉钉有原生的

当然知道有原生的,因为原生的钉钉有功能被阉割,反映给钉钉官方也没有用。如图。

screenshot_20251016_195255.jpg

screenshot_20251016_195247.jpg

Reply View the author
tagerw
deepin
2025-10-16 20:54
#12
It has been deleted!
waittingsummer
deepin
16 hours ago
#13

image.png

检查下排版格式

Reply View the author
tang8264
deepin
10 hours ago
#14

大佬们,辛苦了

Reply View the author