Wine 2.0 正式版發表,iMac 與 GNU/Linux 系統執行 Windows 應用程式更全面

作者 | 發布日期 2017 年 02 月 10 日 16:40 | 分類 Microsoft , Windows , 軟體、系統 follow us in feedly

已經無法忍受 Microsoft 不斷警告你 Windows 7 不安全,催促你升級到 Windows 10 嗎?如果你真的只為了單單一兩個特定 Windows 應用程式而非得使用 Windows,最新發表的 Wine 2.0 可能是你更好的選擇。



Wine 是一套以 LGPL 授權發表的開源專案,名稱來源是 Wine Is Not an Emulator 的遞迴幽默式縮寫,功能是在 X86 / X86-64 的硬體平台上,讓 Unix / Linux 的作業系統也可以執行 Windows 的應用程式。Wine 跟模擬器最大的不同,就是如同名稱來源,它真的不是模擬器,而是在泛 Unix 系統上,以函式庫的方式實作 Windows API,將 Windows API 轉譯成 POSIX 。這意味著你不用安裝 Windows 系統,也能在 macOS、GNU / Linux 桌面和 BSD Unix 系統上高效能執行 Windows 應用程式。畢竟模擬器是「模擬一個硬體」的運作行為,例如把個人電腦(8086 系列的 CPU )模擬成 68000 CPU 系的遊樂器,透過模擬器要跑 Windows 程式,你還是要在模擬器下安裝真正的 Windows,而透過模擬硬體來執行效能也很差,何苦要在 80X86 的 Mac 上模擬 80X86 的 Windows  呢?

既然是同樣的硬體,GNU / Linux 跟 Mac 要執行 Windows 程式,只要在軟體層面轉譯 API,效能自然會好得多。

註 1:「遞迴」是指「Wine」Is Not an Emulator 裡面的 Wine 還可以不斷展開,例如:{[(Wine Is Not an Emulator) Is Not an Emulator] Is Not an Emulator}Is Not an Emulator……
註 2:POSIX 可移植作業系統介面:所有 Unix-like 作業系統 API 實作的共通標準,而 MS Windows 則只有實作一部分。

當然事情做起來不會那麼簡單。相較 POSIX 的開放規格,Windows 的 api 可是不透明的黑箱,只有 Microsoft 公司的職員才知道其內部實際運作,要合法做到跟 Windows 高度相容,外人只能用大量猜測與反覆 try and error 來加以實作。Wine 專案到今年為止,已經有 24 年的歷史,筆者自離開 Windows 平台到現在,也已經使用 Wine 十多年了,一路走來,從剛開始很早期的 0.XX beta 版本只能正確運作少數 Windows 程式,到今日 Wine 2.0 了,對 Windows 的相容性終於達到一個里程碑,甚至對早期 Windows 95 時代程式的相容性,可能比現代的 Windows 還要更好(Wine 可針對軟體,微調模擬不同時代 Windows 作業系統的行為),今昔不可同日而語,這都要向 20 多年來許許多多投入的志工致敬(筆者其實也是回報志工之一,是 Vocaloid2 軟體的維護人,不過跟他人比起來,貢獻微不足道就是了)。

Wine 2.0 的進化細節

這次 2.0 版是大規模更新的版本,包括 15 大項的改進和新功能,還有修正超過 6,600 個錯誤。最重要的亮點是支援 Microsoft Office 2013、支援 64 位元的 macOS、DirectX 支援的大提升以及 CJK 字形處理更完善,也就是對中文遊戲支援性更好了。

更詳細的改良摘錄如下:

更多 DirectWrite 功能被實作:如下劃線、字體回退支援、改進字體指標分辨率、PDF 文件中的字體嵌入、Unicode 9.0.0 支援、支援 EUDC 造字檔。

圖像方面:macOS 上可以驅動 Retina 渲染模式、描繪效能提升。

Direct3D:更多 Direct3D 10 與 11 的機能實作、支援更多顯示卡、支援 Direct3D 11 的特色功能、對 D3DX(Direct3D 擴展)9 效果框架的全面支援、Shader Model5 更多指令實作完成。

音訊、視訊:支援 GStreamer 1.0 多媒體框架、讓 DirectSound 支援 5.1 / 4.0 聲道降混音到雙聲道立體聲。

使用者介面:剪貼簿重新實作機能改善(包含複製 html 文字)現在有更好的相容性、Drag & Drop 機能變更流暢、支援第四版 System Tray、比較少見的桌面解析度如 640×400 或 1,280×960 也可支援了。

網路:Gecko 引擎更新為 Firefox 47、支援 Web Service API、支援 IDN 名稱解析、可正確處理長 URL、Javascript 效能改善。

64 位元支援:支援 macOS 64 系統、Mono 引擎(開源 .net)也支援 64 位元系統。

人機介面:實作了新的驅動架構,讓更多的人機界面裝置(包含 USB 裝置)也可以透過 wine 正確的操作 Windows 應用程式、搖桿按鈕對應調整與力回饋效果改善。

版號:從 2.0 開始,正式版的版號會是 2.0.1、2.0.2、2.0.3……開發版的版號則會是 2.1、2.2、2.3,去掉中間那個 0,而下一世代的大更新則是 3.0。

目前已經有 Ubuntu、DebianFedoraMageia and macOS 等二進位檔可以下載,也可以下載原始碼,如果你不想捲袖子辛苦調整 Wine 的設定來執行特定程式,也可以找客製化的 Wine:PlayOnLinux(專注遊戲的) 與更商業化的 CodeWeavers CrossOver(很多 Wine 開發者參與,更新快速)。

發表迴響