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]
  • 10.0-rc3(2024年12月20日;最終測試版本)[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 10.0-rc3 Released. 2024年12月20日 [2024年12月22日]. 
  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). 

外部連結