幾天前 推出了Wine 6.0的新穩定版本, 經過一年的開發和29個實驗版本的版本。
在這個新版本中 納入了8300多項更改 在交付中包含的主要成就中,我們可以找到 PE格式的基本Wine模塊, 一個基於用於WineD3D的Vulkan圖形API的後端,一個文本控制台的新實現,對DirectShow和Media Foundation框架的支持。
Wine已確認適用於Windows的5049(一年前為4869)程序的全部功能,以及4227(一年前為4136)程序的完整功能,需要附加設置和外部DLL。 3703程序具有較小的操作問題,不會干擾應用程序主要功能的使用。
Wine 6.0的主要新聞
在這個新的Wine 6.0版本中,我們可以發現 核心DLL文件包括NTDLL,KERNEL32,GDI32和USER32, 已移至使用PE可執行格式 (便攜式可執行文件)而不是ELF。 PE的使用在各種複制保護方案的支持下解決了問題,這些保護方案驗證了磁盤和內存中系統模塊的身份。
除此之外 提出了一種將Unix庫附加到P模塊的新機制E,用於在需要調用無法通過Win32 API處理的函數時,從PE文件組織對Unix庫的訪問。 其他Unix庫通過擴展名為“ so”的文件和PE模塊的名稱(例如,對於ntdll.dll的ntdll.so)來標識。
另一方面 Winelib模塊與libwine.so的綁定中斷 並且在運行時禁用了libwine.so的加載。 由於此更改,將失去與早期版本的兼容性,也就是說,無法為Wine 6.0的早期版本加載為Wine XNUMX創建的模塊。
同樣值得注意的是,已實現了將PE模塊組裝在一起並將調試信息保存在單獨文件中的支持,從而減小了已安裝文件的大小。
圖形子系統添加了對使用Direct2D API繪製圓弧,橢圓和圓角矩形的支持。
Vulkan驅動程序提供對Vulkan Graphics API 1.2.162規範的支持。 提供了官方Vulkan加載程序使用的JSON清單和註冊表項的生成。
在Direct3D中實現了實驗性渲染引擎 用於WineD3D,它將Direct3D 12調用轉換為Vulkan圖形API。 該引擎需要libvkd3d-shader庫,該庫支持將著色器模型的字節碼4和5轉換為SPIR-V中間表示形式。
實施了Direct3D 11的新功能, 例如獨立的連接狀態,多源連接,MSAA(多樣本抗鋸齒)的掩碼以及其他功能請求。
在D3DX中,已實現ID3D12ShaderReflection接口和用於獲取圖像參數的函數,例如3DX10GetImageInfoFromMemory(),以及NT內核的新對象和函數,這對於加載內核驅動程序的反作弊系統的操作是必需的。
另一個重要的變化是實施 Media Foundation有了顯著改善, 其中最初對媒體會話,流音頻渲染器(SAR),視頻渲染器,EVR混合器,拓撲加載器和媒體引擎組件提供了支持。
Video Mixing Renderer增加了對無窗口和非渲染模式的支持,能夠自動調整視頻大小以適合窗口,硬件加速了色彩空間轉換,並圍繞內容進行了寬屏格式化以達到正確的比例。
其他變化 脫穎而出:
- 新功能已添加到Media Detector API。
- 添加了對將視頻和音頻格式轉換為通過GStreamer過濾鏈接的支持。
- 增強型視頻處理器(EVR)支持通過DXVA2 API進行混合。
- 添加了對規範化Unicode字符串的全面支持。
- Windows對字符編碼映射表的改進支持。
- 基於Musl庫中的代碼,數學函數的內置實現已添加到C運行時。
- 已經重新設計了用於生成浮點數的代碼,並將其從與printf系統函數的綁定中刪除了。
- 刪除了對不起作用的32位PowerPC體系結構的支持。
- 增加了對32位和64位ARM系統上的異常處理和堆棧展開的支持。
最後,如果您想了解更多信息,可以諮詢 以下鏈接。