Linux中國

Wine 1.8 發布

Wine 團隊很高興的向您宣布,穩定版的 Wine 1.8 現在發布了!

經過了17個月的開發,我們完成了 13000 處修改,最重要的是實現了 DirectWrite 和 Direct2D,以及新的 Pulse Audio 驅動。

這麼多的改進可以讓它支持許多新應用和遊戲,具體請閱讀下面的主要更新內容。

源代碼

二進位下載

文檔

Wine 的開發完成要感謝許許多多的人們的付出,參見發布裡面的 AUTHORS 文件。

Wine 1.8 的主要更新內容

文本與字體

  • 實現了 DirectWrite,並支持了一些應用。包括:可以從系統或指定字體集中載入字體、構建字體族、字體匹配演算法、支持基本的字體布局等
  • 字元表基於 Unicode 8.0.0
  • 內置 Wingdings 字體

圖形

  • 支持 Direct2D。包括:繪製文字、支持點陣圖、顏色筆刷和點陣圖筆刷、透明度筆刷
  • PNG 文件可以以交錯模式編碼
  • 可以從 PNG 文件中載入 Gamma 信息
  • GdiPlus 中正確支持了動畫 GIF

Direct3D

  • 支持 Direct3D 11,和對 Direct3D 10的支持程度差不多
  • 支持使用 Direct3D 10的簡單應用,但是仍有很多未實現的功能
  • 實現了一些新的 DXGI 1.1 介面
  • Direct3D 應用可以正確的最小化和恢復顯示
  • wined3d 顯卡資料庫現在可以識別更多的顯卡。顯卡檢測代碼進行了簡化和改進

DirectDraw

  • SetCooperativeLevel() 工作得更好了,個別情況下影響到了 DirectDraw 排除模式
  • DirectDraw 模式控制支持得更好了,主要影響到使用 8-bpp 顯示模式的老式應用

音頻與視頻

  • 實現了一個 Pulse Audio 驅動,當 Pulse Audio 運行時會自動選擇它
  • 在 DirectSound 中支持了 5.1 環繞立體聲
  • 基於 OpenAL Soft 庫實現了 XAudio2
  • 實現了 Video Mixing Renderer 版本7
  • 實現了 AVI 文件編碼和壓縮

內核

  • Wine 現在可以報告 'Windows8.1' 和 'Windows 10' 版本
  • 支持了「僅初始化一次」同步機制
  • 實現了條件變數
  • 實現了廋讀寫鎖
  • Windows 設備支持除了 I/O 控制外的讀寫操作,它們可以重映射到已有的 Unix 設備上
  • 在動態載入庫中支持線程本地存儲
  • 實現了進程任務
  • 實現了任務調度服務
  • 支持 UTF-7 編碼
  • 進程和線程親和支持更多的處理器
  • 支持新的線程池 API

用戶界面

  • 在桌面模式支持可選的啟動菜單,可以通過 HKCUSoftwareWineExplorerDesktops 下設置"EnableShell" 為 "Y"來基於每桌面啟用
  • 標準的文件對話框支持用於文件操作的下拉菜單
  • 「我的文檔」文件夾會鏈接到 XDG 或 Mac OS X 下的「文檔」文件夾
  • 支持更多的外殼常用文件夾
  • 實現了滾動條主題,其它控制項的主題工作的更好了
  • 工具條通用控制現在可以保存並恢復其狀態

Mac OS X 支持

  • Mac OS X 上支持64位架構;然後並不完全兼容 Win64,因為 OS X 不是標準的64位 ABI
  • 精確的報告 Mac OS X 上的內存大小
  • 支持垃圾箱文件夾枚舉

X11 驅動

  • 支持 X 拖放協議版本5
  • 實現了閃爍窗口標題

OLE / COM

  • OLE 存儲文件支持文件鎖定,大小可以超過4GB
  • 在 64 位環境下類型庫正確註冊
  • 64位程序可以載入32位類型庫
  • 用於控制窗口服務的 RPC 介面現在兼容原生版本

互聯網與網路

  • 從 Firefox 40 更新了 Gecko 引擎,在 MSHTML 中實現了很多對象和屬性
  • 互聯網代理可以自動配置
  • 部分實現了 Web 服務 API
  • 在 JavaScript 中支持條件編譯
  • 可以使用 Samba 的 NetAPI 庫配置遠程網路共享
  • 實現了包捕獲 DLL
  • 實現了網路介面改變提醒

列印

  • 通過 PostScript 驅動列印時支持垂直文字
  • 當列印彩色圖片時,黑白列印支持更好

其它

  • WMI 實現了幾個 WBEM 系統類
  • 在 MSI 中更好的支持了應用安裝補丁
  • 支持更多新版本的 C/C++運行時庫,包括新的 UCRTBASE 庫,舊式的 MSVCIRT C++ 運行時也部分實現了
  • 實現了 ATL 版本 9、10、11
  • 實現了 XML 文件寫入

內置應用

  • 任務管理器應用顯示哪個進程運行在 WoW64 下
  • 註冊表編輯器對導入導出支持更好
  • wine控制台支持設置對話框的配置插入/覆寫模式

平台相關的改變

  • ARM 平台上正確彙報系統和硬體信息
  • ARM64 平台支持 WoW64模式
  • 在 Android 上支持64位架構

構建環境

  • 源代碼可以跨 DLL 共享,可以從同樣的源代碼構建多個版本的 DLL。
  • 支持 #pragma 指令
  • 消息編譯器使用 mo 文件,替代了 po 文件

新的外部依賴

  • liblcms2 替代了 liblcms 1
  • 來自 Samba 的 libnetapi 用於配置遠程網路共享
  • libpcap 用於實現包捕獲 DLL
  • libpulse 用於 Pulse Audio 驅動
  • OpenAL Soft 庫用於實現 XAudio2

已知問題

  • 因為 WineD3D 的 OpenGL 內核上下文支持仍然沒有完全做好,在舊式上下文中需要支持 Direct3D 10 和 11,所以它們當前不支持 Mesa

本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國