Wine

在类UNIX操作系统运行Windows程序的软件

Wine[3]是一个容许类Unix操作系统X Window System运行Microsoft Windows程序的软件。另外,Wine也提供程序运行库(Winelib)来帮助电脑程式设计师将Windows程序移植到类Unix系统;[4]也有不少软件经过Wine测试后发布,比如PicasaµTorrentMediaCoder

Wine
Wine官方标志
一个简易的Wine-Gecko外挂Wine Internet Explorer的屏幕截图,运行于Ubuntu。
一个简易的Wine-Gecko外挂Wine Internet Explorer的屏幕截图,运行于Ubuntu
原作者亚历山大·朱利雅德英语Alexandre Julliard
开发者Wine authors
首次发布1993年7月4日​(31年前)​(1993-07-04
当前版本
  • 9.0(2024年1月16日;稳定版本)[1]
  • 9.20(2024年10月18日;不稳定版)[2]
编辑维基数据链接
原始码库 编辑维基数据链接
编程语言C语言
操作系统LinuxmacOSBSD
语言49种语言
类型兼容层
许可协议 编辑维基数据链接
网站www.winehq.org 编辑维基数据链接
数据截至2023年10月16日

Wine通过提供一个兼容层来将Windows的系统调用转换成与POSIX标准的系统调用[5]。它还提供了Windows系统运行库的替代品[6]和一些系统组件(像Internet Explorer注册表[7]Windows Installer[8])的替代品。为了避免著作权问题,Wine主要使用黑盒测试逆向工程来编写。

Wine 项目曾经的名称是全大写的WINE, 为“Wine Is Not an Emulator”的递归缩写,即Wine不是模拟器。这一递归缩写曾被用户错误的理解成“Windows Emulator”。因为项目官方团队认为旧的WINE全大写缩写不美观,转而使用Wine这一名称。[9]

发展

编辑

Wine计划在1993年由Bob AmstadtEric Youngdale发起,[10]最初目的是为了让16位Windows 3.1程序可以在Linux上执行,但随着电脑和时代的演进,Wine也一路支持到更新的Windows和64位的电脑架构。

由于Windows的DLL为封闭原始码,所以程序员只能由最底层的设计开始,耗费大量的时间来编写和测试,最后达至兼容,这过程是困难且缓慢的。

在1999年期间,当Corel加入这个计划后,Wine很快便能兼容WordPerfect Office,但Corel不久便停止支持这项计划,所以Wine的发展又逐渐趋缓,一直到2006年Google积极参与这个计划后,Wine的发展才又恢复起色,最后终于在2008年发布首个稳定版,其后便以每两周发布一个新版的速度发展着,除此之外,Google每年所举办的夏日代码大赛活动也对Wine有着不少贡献。[11][12]

Wine虽然是从Linux开始发展,但现在已经支持多种平台,有BSDMac OS XSolaris-x86,在2013年的自由及开源软件开发者欧洲会议上,Wine的项目领导人Alexandre Julliard英语Alexandre Julliard表示目前将积极支持Android平台[13]

 
随着时间的应用适配过程,根据Wine AppDB测试结果。
  完美工作的软件
  配置后完美工作的软件
  有小问题的软件
  有主要问题的软件
  完全不工作的软件

功能

编辑

在2008年,Wine已经能够完美运行很多知名程序,例如Lotus NotesMicrosoft Office 2007Photoshop CS2,但其可靠性及稳定性仍有待改善。如果该程序包含原生的微软Windows系统的函数库,那样Wine便可很顺利运行该程序。

有些Wine DLLs亦已能完美地取代Windows原来的DLLs,使得有些程序可完美运行。

最晚到2006年,Wine上面已经可以完全基于Wine DLL完美地运行暴雪发行的多款3D游戏了,如魔兽世界魔兽争霸等。

64位应用

编辑

在2008年12月,Wine 1.1.10增加了对64位Windows应用的初步支持。[14]截至 2019 年 4 月,此支持被认为是稳定的。两个版本的Wine分开构建,致使只构建wine64会产生一个只能运行x86-64应用的环境。[15]

截至 2019 年 4 月,Wine稳定支持一个WoW64构建版本,它允许32位和64位Windows应用在同一个Wine实例里运行。要完成这样的构建,必须首先构建 64 位版本,然后再构建引用 64 位版本的 32 位版本。 就像微软的 WoW64 一样,32 位构建过程将在 64 位构建中添加处理 32 位程序所需的部分。[15]最晚从 2010 年开始就可以看到此功能。[16]

版本

编辑
格式:
旧版本
旧版本,仍被支持
当前版本
最新的预览版
未来版本
版本 发行日期 发布资讯
旧版本,不再支持: 1.0 2008-05-27
旧版本,不再支持: 1.2 2010-07-16
旧版本,不再支持: 1.4 2012-03-07
旧版本,不再支持: 1.6 2013-07-18
旧版本,不再支持: 1.8 2015-12-19
旧版本,不再支持: 2.0 2017-01-24
旧版本,不再支持: 3.0 2018-01-18
  • 支持 Direct3D 10 和 Direct3D 11。
  • The Direct3D command stream.
  • 安卓图形驱动。
  • 增强 DirectWrite 和 Direct2D 支持。
旧版本,不再支持: 4.0 2019-01-22
  • 支持Vulkan。
  • 支持Direct3D 12。
  • 支持游戏控制器。
  • 安卓上支持高DPI。
旧版本,仍被支持: 5.0 2020-01-21
  • PE格式的内建模块。
  • 支持多显示器。
  • 重新实现XAudio2。
  • 支持Vulkan 1.1。
当前版本: 6.0 2021-01-14
  • PE格式的核心模块。
  • WineD3D采用Vulkan后端。
  • 支持DirectShow和Media Foundation。
  • 重新设计文字控制台。
当前版本: 7.0 2022-01-18
  • 大部分模块转换成PE格式。
  • 更好的主题支持,和一个有更现代的外观的捆绑主题。
  • 大大改进了 HID 堆栈和操纵杆支持。
  • 新的 WoW64 架构。

辅助工具

编辑
  • Cedega为Transgaming开发的商业软件,以Wine为基础,在Wine更换许可后停止使用Wine的原始码,虽然有Cedega提供原始码下载(经由CVS),但在不包含专利技术的情形下,功能与可用性都不高。
  • CrossOver为CodeWeavers开发的商业软件,提供应用软件支持,CodeWeavers和Wine计划一直保有密切的合作关系。CodeWeavers亦雇用了Alexandre Juillard将CrossOver的原始码反馈给Wine。在2005年6月22日,CodeWeavers宣布支持基于英特尔处理器苹果电脑
  • PlayOnLinux辅助安装程序,支持非常多的商用应用程式,对于应用程式的安装经过优化,所以几乎不用设置。
  • Winetricks可以对wine的选项进行更多设置与微调,也可以安装一些基本组件。

分支

编辑
  • Proton是由Valve与CodeWeavers所开发维护的程序。
  • ReactOS是一款模拟Windows的操作系统,和Wine有相当密切的合作,所开发的组件很多都能共享。

参考资料

编辑
  1. ^ Wine 9.0 Released. 2024年1月16日 [2024年1月16日] (英语). 
  2. ^ Wine 9.20 Released. 2024年10月18日 [2024年10月19日]. 
  3. ^ WineHQ - About Wine. WineHQ. [2017-04-15]. (原始内容存档于2022-07-05) (英语). 
  4. ^ Winelib. Wine HQ. [29 June 2008]. (原始内容存档于2022-06-11). 
  5. ^ Wine的那些事 - Zhang 的个人分享网站. zkxblog.xyz. [2021-05-13]. (原始内容存档于2021-05-13). 
  6. ^ Wine architecture. Wine HQ. [16 June 2012]. (原始内容存档于2017-01-29). 
  7. ^ Regedit - WineHQ Wiki. wiki.winehq.org. [2017-04-15]. (原始内容存档于2022-05-19) (英语). 
  8. ^ Msiexec - WineHQ Wiki. wiki.winehq.org. [2017-04-15]. (原始内容存档于2021-12-02) (英语). 
  9. ^ Why do some people write WINE and not Wine?. Wine Wiki FAQ. Official Wine Wiki. [2010-02-01]. (原始内容存档于2011-06-21). 
  10. ^ Byron A Jeff. WABI available on Linux or not. Newsgroupcomp.os.linux.misc. 25 August 1993 [21 September 2007]. (原始内容存档于2013-06-09). 
  11. ^ Kegel, Dan. Google's support for Wine in 2007. wine-devel (邮件列表). 14 February 2008 [3 January 2009]. (原始内容存档于2009-01-06). 
  12. ^ Open Source Patches: Wine. [7 September 2008]. (原始内容存档于2015-03-17). 
  13. ^ [Phoronix] Wine On Android Is Coming For Running Windows Apps. 2013-02-03 [2013-05-05]. (原始内容存档于2021-11-03). 
  14. ^ Lankhorst, Maarten. Wine64 hello world app runs!. wine-devel (邮件列表). 5 December 2008 [15 December 2008]. (原始内容存档于2022-03-21). 
  15. ^ 15.0 15.1 Building Wine. WineHQ. [23 April 2019]. (原始内容存档于2022-07-27). 
  16. ^ Wine64 for packagers. Official Wine Wiki. [20 April 2010]. (原始内容存档于25 April 2010). 

外部链接

编辑