Wine 10 帶來了 Wayland 整合改進、對 ARM64EC 的支援、相容性改進等等

葡萄酒 10.0 Linux

經過一年的開發並發布了29個實驗版本, 期待已久的 Wine 10 已經發布, 版本中包含了 6000 多個重大變更。

最顯著的改進之一 找到了 s全面支援ARM64EC架構, 原生 Wayland 控制器集成, 重新實施顯示設定面板 和操縱桿、基於 FFmpeg 的替代多媒體後端、改進的藍牙驅動程式、對 Vulkan 1.4 的支援以及模擬視訊模式變化的能力。

Wine 10的主要新聞

在 Wine 10 中引入的主要創新中, 全面支援ARM64EC架構, 旨在透過模擬促進 x86_64 應用程式向 ARM64 系統的遷移。這包括在 ARM86 環境中運行 x64_64 程式碼模組而無需修改應用程式其餘部分的能力。

此外,還實現了對 ARM64X PE 格式的支持,允許將 ARM64EC 和 ARM64 的程式碼合併到單一執行檔中。這使得創建混合二進位檔案變得很容易。值得一提的是,雖然在 ARM86 上執行 x64-64 程式碼所需的模擬器並未包含在主 Wine 套件中,但可以使用支援 ARM64EC 的外部 FEX 模擬器。

在年代圖形子系統,Wine 10 改進了螢幕管理 高DPI, 嗯,它現在支援 DPI 感知模式,允許應用程式根據螢幕解析度的變化調整顯示。 對於不支援 DPI 的應用程序,Wine 會自動套用縮放以保持正確的渲染。此外,還整合了對 Vulkan 1.4 規範的支持,包括視訊編碼和解碼的擴展,以及處理使用 3D 內容的應用程式中的輔助 Vulkan 視窗的能力。

Wayland 的改進, Wine 10 提供 winewayland.drv 驅動程式預設為啟用, 讓 Wine 直接在 Wayland 環境中運行,而不需要 XWayland 或 X11。儘管 Wine 優先考慮 XWayland(如果可用),但您可以透過註冊表中的特定設定強制使用 Wayland。該驅動程式還解決了彈出視窗定位等問題,並添加了對像素緩衝區和按住按鍵時自動重複等功能的支援。

關於桌面集成, 實驗性「模式配置」機制的加入非常引人注目。 模擬更改解析度而不改變實際顯示設置,使用視窗縮放和擴展技術。還引入了新的控制面板小程式 (desk.cpl),可讓您管理顯示設置,例如虛擬解析度和模擬參數。此外,還添加了在崩潰後將顯示設定重設為預設值、停用系統托盤圖示以及在桌面模式下停用 shell 的功能。

在 Direct3D 中,實施了改進,例如與 GLSL 1.20 相容的要求 並刪除了對舊 ARB 著色器後端的支持, 也為 Direct3D 9 及更早版本添加了固定功能圖形管道, 使用 HLSL 著色器模擬 Vulkan 或 OpenGL 中的圖形功能。 Vulkan 渲染現在包含允許您動態更改圖形狀態的擴展,從而減少遊戲中的卡頓等問題。

在該地區 聲音和視頻,開發了基於 FFmpeg 的替代多媒體後端, 這改進了依賴媒體基礎框架的應用程式的執行。同樣,DirectMusic API 中添加了對加載 MIDI 文件的支持,並且媒體基礎實現也進行了優化,以更有效地處理解復用器和解碼器。

關於輸入設備, 引入了藍牙的初始驅動程式以及 新的操縱桿配置小程序 (歡樂.cpl)。此外,對複合和指向輸入裝置(例​​如觸控板和滑鼠)的支援也取得了進步,包括 X11 中透過 WM_POINTER 事件的多點觸控支援。還添加了對 Dvorak 佈局鍵盤的支持,並透過將內部結構放置在共享記憶體中來提高效能。

在該系統的核心,並實現了對流程中權限升級的支持,允許應用程式以標準使用者身分執行以獲得管理員權限。透過 Mailslots 進行的 IPC 進程間通訊也得到了最佳化,並增加了對高階向量擴充(如 AVX-512)的全面支援。

其他突出的變化:

  • 新增了新工具,例如用於對資料進行排序的 sort、用於比較檔案的 fc 以及在何處搜尋檔案。
  • wmic 現在支援互動操作模式
  • findtr 實用程式獲得了對正規表示式和不區分大小寫搜尋的支援。
  • explorer.exe 檔案總管為開始功能表和工具列提供可選支持,並且能夠以較低的權限運行。
  • 改進了對使用介面定義語言 (IDL) 產生的文件的處理,並添加了對舊格式類型庫 (SLTG) 的支援。
  • winedump 實用程式現在可以產生小型轉儲、C++ 異常和類型庫資源。
  • 擴展了對 Diffie-Hellman (DH) 金鑰交換協議的支持,並與 RSA 一起引入了 OAEP 填充的使用。
  • DirectPlay API 包括對網路會話的支持,而 WoW64 模式已經過最佳化,可以更有效地處理非同步 I/O 狀態,從而改進 32 位元系統上 64 位元應用程式的執行。
  • MSHTML 引擎中引入了新功能,例如對物件原型和建構函數的支持,以及 JavaScript 引擎的物件綁定介面。

最後,如果你是 有興趣了解更多,您可以查看詳細信息 在下面的鏈接中。