Wine 10.0 穩定發布

經過一年的開發和 29 個實驗版本,Win32 API 的開放實現的穩定版本 - Wine 10.0 發布,其中包含了 6000 多個變更。新版本的主要成就包括全面支援 ARM64EC 架構、在高像素密度的螢幕上縮放、預設包含 Wayland 驅動程式、實現用於設定螢幕和操縱桿的面板、基於 FFmpeg 的替代多媒體後端、藍牙驅動程式、Vulkan 1.4 支援、切換視訊模式的模擬能力。

已確認 5372 個程式可以在 Wine 中正常運作 Windows (一年前有 5336 個,兩年前有 5266 個,三年前有 5156 個),另有 4435 個程序(一年前有 4397 個,兩年前有 4370 個,三年前有 4312 個)在添加額外設置和外部 DLL 後運行良好。 4020 個程式(一年前有 3943 個,兩年前有 3888 個,三年前有 3813 個)存在一些小問題,但不影響應用程式的基本功能。

Wine 10.0 的主要創新:

  • ARM64
    • 為ARM64EC(ARM64 Emulation Compatible)架構提供全面支持,Wine 中的支援水準已達到與 ARM64 架構相當的程度。 ARM64EC 架構旨在簡化最初為 x64_86 系統編寫的應用程式到 ARM64 系統的移植,並允許單獨的 x64_86 程式碼模組使用模擬器在 ARM64 環境中運作。
    • 已實現對 ARM64X PE 檔案格式的全面支持,讓您可以將 ARM64EC 和 ARM64 架構的程式碼合併到一個可執行檔中。要以 ARM64X 格式建置 Wine,您需要從 Git 安裝 LLVM(必要的功能將包含在 LLVM 20 版本中),並在執行「configure」腳本時指定「-enable-archs=arm64ec,aarch64」選項。
    • 用於模擬 64 位元 x86 系統的介面已實現。當使用 ARM64EC 時,Wine 本身按原樣運行,並且模擬僅應用於 x86-64 應用程式程式碼。帶有模擬器的庫尚未包含在主 Wine 套件中,但要在 ARM86 環境中執行 x64-64 程式碼,您可以使用具有 ARM64EC 支援的外部 FEX 模擬器。
    • ARM64 支援要求系統使用 ABI 要求的 4KB 記憶體頁。 Windows (在有核心的環境中運行) Linux(目前尚不支援使用 16K 或 64K 記憶體頁)。
  • 圖形子系統
    • 在高像素密度(高 DPI)的螢幕上實現了更準確的縮放。提供了對 DPI 感知模式的支持,以組織應用程式在高像素密度螢幕上的顯示,同時考慮應用程式是否支援適應 DPI 變化(不考慮 DPI 的應用程式會自動縮放)。新增了選項來覆蓋單一應用程式或 Wine 前綴的高 DPI 支援。
    • Vulkan 圖形 API 的驅動程式中加入了對 Vulkan 1.4 規範的支援(Wine 9.0 支援 Vulkan 1.3.272)。增加了對視訊編碼和解碼的 Vulkan 擴充的支援。
    • 使用 X11 後端時,已實現了為使用此類視窗顯示 3D 內容的應用程式渲染 Vulkan 子視窗的功能(先前,此類功能僅適用於 OpenGL)。
    • GdiPlus 庫中新增了對字體連結機制的支持,如果沒有單獨覆蓋文字中所有字元的字體,它允許您在顯示文字時使用多種字體。
  • 韋蘭
    • 預設配置包含 winewayland.drv 驅動程序,它允許 Wine 在基於 Wayland 的環境中運行,而無需使用 XWayland 或 X11 元件。只有當 XWayland 不可用時,Wine 才會直接在 Wayland 上啟動預設應用程式;否則,XWayland 是首選啟動器。若要強制使用 Wayland,您可以使用 DISPLAY 環境變量,或透過建立 file.reg 檔案來新增登錄項目: Windows 登錄編輯程式版本 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] "Graphics" = "wayland",並使用下列指令套用變更:$ WINEPREFIX = /path/to/prefix wine regedit /path/to/file.
    • 在 winewayland.drv 驅動程式中新增了對 OpenGL 和像素緩衝區 (pBuffer) 的支援。
    • 解決了基於 Wayland 的環境中彈出視窗定位的問題。
    • 使用 Wayland 時,實現了按鍵時自動重複的支援。
  • 桌面集成
    • 新增了實驗性的「模式設定」模擬機制,可讓您模擬切換視訊模式,而無需實際變更螢幕設定。透過擴展和縮放視窗來創建無需切換視訊模式即可更改螢幕解析度的可見性。
    • 新增了新的桌面控制面板小程式 (desk.cpl),並實作了用於管理顯示設定的介面(例如,您可以變更桌面的虛擬解析度或配置模擬顯示參數)。
    • 新增了在進程崩潰後無法恢復狀態時將螢幕設定重設為預設值的功能。
    • 新增了對停用系統匣圖示顯示的支援(位於「HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer”應指定「NoTrayItemsDisplay=1」。
    • 新增了在桌面模式下禁用 shell(Shell 啟動器)的支援(位於「HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" 應指定「NoDesktop=1」。
  • Direct3D
    • 使用 OpenGL 渲染現在需要支援 GLSL 1.20,以及 EXT_framebuffer_object 和 ARB_texture_non_power_of_two 擴充。對舊 ARB 著色器後端和 OffscreenRenderingMode 設定的支援已停止。
    • 對於 Direct3D 9 及更早版本,添加了固定功能圖形管道(舊版 Direct3D 只提供無法更改的預定義圖形操作),使用 HLSL 著色器語言實現,並在透過 Vulkan 或 OpenGL API 渲染時允許固定功能模擬。
    • Vulkan 渲染使用 Vulkan 擴充功能來動態更改圖形管道的狀態,從而減少遊戲中的卡頓。
    • 使用 vkd3d-shader 為 GLSL 著色器新增了替代 glsl-vkd3d 後端。
    • 使用 vkd3d-shader 編譯 Direct3D 效果提供了初步支援。
    • D3DX9 庫實現了在載入體積紋理時產生 MIP 紋理 (MipMap) 的功能。新增了對 PNG 影像中 64bpp RGBA 和 48bpp RGB 顏色表示格式以及 X8L8V8U8、A2W10V10U10、A8P8、V16U16 和 Q16W16V16U16 格式的支援。
  • 聲音和視頻
    • 作為基於 GStreamer 的後端的替代方案,我們實作了一個新的多媒體後端,該後端基於 FFmpeg 的使用,並且適合運行 Media Foundation 框架。若要啟用替代後端,您應該在登錄部分「HKCU\Software\Wine\MediaFoundation」中指定「DisableGstByteStreamHandler=1」。
    • Media Foundation API 的實作已改進,可以更好地適應依賴解復用和解碼元件的應用程式。
    • DirectMusic API 新增了對載入 MIDI 檔案的支援。
  • 輸入設備
    • 新增了藍牙驅動程式的初始版本。
    • 新增了操縱桿控制面板小程式 (joy.cpl),並實現了操縱桿的設定。
    • 使用 HID(人機介面設備)協定的指標設備(觸控板、滑鼠)進行了改進。新增了 HID 裝置的 mouhid.sys 驅動程式。實現了對複合輸入設備的正確解析,並且現在會將這些設備的資訊傳輸到系統。 Windows應用程序,作為獨立的設備。
    • 對於X11後端,新增了對觸控螢幕的支持,並實現了透過處理WM_POINTER*訊息(WM_POINTERENTER、WM_POINTERLEAVE等)來使用多點觸控模式的能力。
    • 在共享記憶體中實現了 user32 庫的一些內部結構的放置,這提高了效能並減少了 Wine Server 上的負載。
    • Winex11 增加了對處理與各個視窗相關的 XInput2 事件的支援。
    • 使用 Dvorak 佈局實現了對鍵盤的正確支援。
  • 核心(核心介面) Windows)
    • 新增了對進程權限升級的支援(最初以標準使用者身分執行的進程可以被授予管理員權限)。建立伺服器進程(msi 操作伺服器)以及呼叫 RtlCreateUserProcess() 和 CreateProcessInternal() 函數的進程時,預設會啟用有限的管理員令牌。
    • 現在,在取得磁碟標籤的資訊時,只要有可能,都會使用透過 DBus 存取系統服務,而不是嘗試直接存取裝置。
    • Mailslots 單向進程間通訊 (IPC) 機制現已直接在 Wine 伺服器中實現,從而提供完整的語意支援。 Windows.
    • 實作了非同步方式等待串口事件。
    • 在線程上下文中添加了對 XSTATE 處理器擴展的全面支持,允許使用新的向量擴展,例如 AVX-512。
  • 嵌入式應用
    • cmd.exe 命令解釋器中使用的輸入資料處理引擎已被重寫。向 cmd.exe 新增了對「||」操作的支持和 ”&&”。
    • findstr 公用程式新增了對正規表示式和不區分大小寫搜尋的支援。
    • regsvr32 和 rundll32 實用程式中新增了註冊 ARM64EC 模組的功能。
    • 新增了實用程式:sort 用於對輸入資料進行排序,fc 用於比較檔案以及 where 用於搜尋檔案。
    • wmic 應用程式實作了互動操作模式。
    • 資源管理器新增了對開始功能表和工具列的可選支援。啟用了 explorer.exe 的啟動,並降低了存取權限。
  • 開發工具
    • 向 winebuild 新增了「-marm64x」選項以產生 ARM64X 混合庫。
    • 為 winegcc 新增了「-marm64x」選項以啟用針對 ARM64X 的建置。
    • 使用介面定義語言 (IDL) 產生的檔案使用完全支援在解釋模式下執行的元件。
    • IDL(介面定義語言)編譯器中新增了以舊格式 (SLTG) 產生類型庫 (TypeLib) 的支援。
    • winedump 公用程式新增了對保存小型轉儲表轉儲、C++ 異常資訊和 typelib 資源的支援。
  • 雜記
    • 改進了對 Diffie-Hellman (DH) 金鑰交換協定的支援。新增了配置和接收 DH 參數的功能。實現了用於創建公鑰和私鑰對的處理程序。
    • 提供了增量填充 OAEP(最佳非對稱加密填充)與 RSA 演算法的使用。
    • DirectPlay API 支援網路會話。
    • 改進了在 WoW64(64 位元)模式下工作時對非同步輸入/輸出狀態的處理。 Windows-上-Windows),這允許您運行 32 位元程式。 Windows-64 位元 Unix 系統上的應用程式。
    • 新增了對載入為 DBMS 編譯的 ODBC 驅動程式的支持 Windows.
    • 對於ARM平台,實作了對RPC/COM、C++ RTTI(運行時類型資訊)和C++異常的全面支援。
    • 在 C 運行時中,ANSI 函數實現了對 UTF-8 編碼的支援。
    • MSHTML 引擎的功能擴大了。新增了對原型和物件建構函數的支援。 JavaScript 引擎中新增了新的 MSHTML 物件綁定介面。 MSHTML 內建函數已轉換為有效的 JavaScript 物件。改進了 JavaScript 垃圾收集以覆蓋線程中的所有腳本執行上下文。新增了對 ArrayBuffer 和 DataView JavaScript 物件的支援。
    • 基於Gitlab的持續整合系統增加了使用Clang和JUnit測試報告進行靜態分析的支援。
    • 套件中內建了 Capstone 5.0.3 庫,透過該庫在 WineDb 調試器中實現反彙編。
    • 元件更新至新版本:Vkd3d 1.14、Faudio 24.10、FluidSynth 2.4.0、LDAP 2.5.18、LCMS2 2.16、LibJpeg 9f、LibMPG123 1.32.9、Libmlng 1.6.44. 4.7.0、LibXslt 2 和 Zlib 2.12.8。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster