Phát hành ổn định Wine 9.0

Sau một năm phát triển và 26 phiên bản thử nghiệm, một bản phát hành ổn định của triển khai mở Win32 API - Wine 9.0, bao gồm hơn 7000 thay đổi, đã được trình làng. Những thành tựu quan trọng trong phiên bản mới bao gồm việc triển khai kiến ​​trúc WoW64 để chạy các chương trình 32 bit trong môi trường 64 bit, tích hợp trình điều khiển để hỗ trợ Wayland, hỗ trợ kiến ​​trúc ARM64, triển khai API DirectMusic và hỗ trợ thẻ thông minh.

Đã có 5336 chương trình được xác nhận hoạt động bình thường trong Wine (5266 chương trình cách đây một năm, 5156 chương trình cách đây hai năm, 5049 chương trình cách đây ba năm). WindowsThêm 4397 chương trình (4370 chương trình cách đây một năm, 4312 chương trình cách đây hai năm, 4227 chương trình cách đây ba năm) hoạt động tốt với các thiết lập bổ sung và các DLL bên ngoài. 3943 chương trình (3888 chương trình cách đây một năm, 3813 chương trình cách đây hai năm, 3703 chương trình cách đây ba năm) có các lỗi nhỏ không ảnh hưởng đến chức năng cơ bản của ứng dụng.

Những cải tiến chính trong Wine 9.0:

  • Trình điều khiển winewayland.drv đã được thêm vào, cho phép sử dụng Wine trong môi trường dựa trên Wayland mà không cần sử dụng các thành phần XWayland hoặc X11. Sự phát triển này nhằm mục đích cung cấp một môi trường Wayland thuần túy với hỗ trợ khởi chạy. Windows- Các ứng dụng không yêu cầu cài đặt các gói liên quan đến X11, cho phép hiệu suất và khả năng phản hồi cao hơn trong trò chơi bằng cách loại bỏ các lớp không cần thiết. Việc sử dụng môi trường Wayland thuần túy cho Wine cũng loại bỏ các vấn đề bảo mật vốn có của X11 (ví dụ: các trò chơi X11 không đáng tin cậy có thể theo dõi các ứng dụng khác vì giao thức X11 cho phép truy cập vào tất cả các sự kiện đầu vào và thực hiện thay thế phím bấm).

    Trình điều khiển được đánh dấu là thử nghiệm và đang được phát triển, tuy nhiên, nó đã hỗ trợ nhiều tính năng, chẳng hạn như quản lý cửa sổ, làm việc với nhiều màn hình, hỗ trợ mở rộng quy mô đầu ra trên màn hình có mật độ điểm ảnh cao (DPI cao), hoạt động với tọa độ tương đối khi theo dõi chuyển động của chuột và hỗ trợ API đồ họa Vulkan. Theo mặc định, trình điều khiển không hoạt động và để kích hoạt nó, bạn nên thêm “wayland” vào tham số đăng ký “HKCU\Software\Wine\Drivers” và đảm bảo rằng biến môi trường DISPLAY không được đặt: wine reg.exe add HKCU\ \Software\\Wine\\Drivers /v Đồ họa /d x11,wayland

  • Tất cả các mô-đun đã được chuyển đổi sang giao diện cuộc gọi hệ thống NT, thay vì thực hiện cuộc gọi trực tiếp giữa các lớp PE và Unix, đánh dấu sự hoàn thành sau nhiều năm làm việc để chuyển đổi tất cả các DLL sang sử dụng định dạng tệp thực thi PE (Portable Executable).
  • Việc phát triển lớp WoW64 (64-bit) tiếp tục diễn ra. Windows-trên-Windows), cho phép bạn chạy ở chế độ 32-bit. Windows- Các ứng dụng trên hệ thống Unix 64-bit. Tất cả các mô-đun truy cập thư viện Unix đều sử dụng bộ dịch lệnh gọi hệ thống WoW64 (thunks), cho phép các mô-đun 32-bit ở định dạng PE truy cập thư viện Unix 64-bit.

    Chế độ khởi chạy WoW64 mới đã được cải tiến, cho phép mã 32-bit chạy trong tiến trình 64-bit (trong chế độ WoW64 cũ, các ứng dụng 32-bit chạy trong các tiến trình Unix 32-bit). Hỗ trợ sử dụng chế độ WoW64 mới trên nền tảng này đã được thêm vào. macOSVì chế độ WoW64 mới có một số lỗi nhỏ, chẳng hạn như thiếu hỗ trợ 16-bit và hiệu suất OpenGL bị giảm do thiếu hỗ trợ cho tiện ích mở rộng ARB_buffer_storage, nên nó chưa được bật mặc định và yêu cầu biên dịch với tùy chọn "--enable-archs=i386,x86_64" trong tập lệnh cấu hình.

  • Đã thêm khả năng thực thi các tệp thực thi hiện có. Windows Trên các hệ thống có kiến ​​trúc ARM64, Wine hiện có thể được biên dịch cho ABI ARM64EC (ARM64 Emulation Compatible) và các mô-đun ARM64EC có thể được tải. Các mô-đun này được sử dụng để đơn giản hóa việc chuyển đổi các ứng dụng ban đầu được viết cho kiến ​​trúc x86_64 sang hệ thống ARM64 bằng cách cho phép thực thi các mô-đun mã x86_64 riêng lẻ trong môi trường ARM64 bằng trình giả lập. Hỗ trợ đã được thêm cho định dạng tệp ARM64X PE, cho phép tải một tệp thực thi duy nhất trong cả tiến trình x64/Arm64EC và ARM64. Một giao diện để giả lập hệ thống x86 32-bit đã được triển khai, nhưng thư viện giả lập vẫn chưa được bao gồm trong bản phân phối Wine chính (trình giả lập FEX bên ngoài có thể được sử dụng để chạy mã x86 trong môi trường ARM64).
  • Hệ thống con đồ họa
    • Trình điều khiển PostScript đã được thiết kế lại để hỗ trợ các tệp tạm thời ở định dạng này. Windows, nơi lưu trữ dữ liệu về các lệnh in. Các lệnh gọi trực tiếp đến trình điều khiển từ môi trường Unix bị loại trừ.
    • Hỗ trợ chế độ tối đã được thêm vào các chủ đề WinRT. Một cài đặt đã được thêm vào WineCfg để bật thiết kế giao diện tối.
    • Trình điều khiển cho API đồ họa Vulkan đã bổ sung hỗ trợ cho thông số kỹ thuật Vulkan 1.3.272 (8.0 được hỗ trợ trong Wine 1.3.237).
    • Các chức năng của thư viện GdiPlus đã được tối ưu hóa, cho phép tăng hiệu suất đồ họa.
  • Direct3D
    • Quá trình phân tích cú pháp luồng lệnh đa luồng bị tạm dừng khi không có lệnh kết xuất nào được xử lý, điều này cho phép giảm mức tiêu thụ năng lượng xuống mức xử lý đơn luồng khi thực thi các chương trình không chiếm toàn bộ băng thông luồng lệnh.
    • Direct3D 10 bao gồm hỗ trợ cho các hiệu ứng bổ sung.
    • Thực hiện tối ưu hóa hiệu suất cho mã WineD3D và chương trình phụ trợ bằng API đồ họa Vulkan.
    • Mã hiển thị dựa trên API Vulkan hiện kiểm tra những khả năng mà thiết bị hỗ trợ và cho ứng dụng biết mức độ chức năng Direct3D khả dụng.
    • Các hàm D3DXFillTextureTX và D3DXFillCubeTextureTX đã được triển khai.
    • Phần phụ trợ trình đổ bóng OpenGL ARB cổ điển đã thêm hỗ trợ để xác định bóng bằng cách sử dụng tiện ích mở rộng ARB_fragment_program_shadow.
    • D3DXLoadMeshHierarchyFromX và các chức năng tương tự đã thêm hỗ trợ tải dữ liệu người dùng bằng giao diện ID3DXLoadUserData.
  • Âm thanh và video
    • Triển khai ban đầu của API DirectMusic đã được đề xuất. Đã thêm hỗ trợ cho các bộ sưu tập, nhạc cụ và mẫu âm thanh ở định dạng SoundFont. Đã thêm hỗ trợ cho hiệu ứng Doppler. Các thử nghiệm đã được triển khai để xác minh việc triển khai chính xác khi vận hành trình sắp xếp chuỗi dmime và trình tổng hợp MIDI dmsynth.
    • Thư viện FluidSynth được tích hợp vào API DirectMusic để sử dụng.
    • Đã triển khai hỗ trợ tải các font âm thanh (SoundFont - định dạng tổng hợp dựa trên mẫu được sử dụng để phát các tệp MIDI) ở định dạng DLS1 và DLS2, cũng như ở định dạng SF2 được sử dụng trong Linux.
    • Đã thêm khả năng phát nội dung MIDI bằng thư viện dmsynth, sử dụng bộ tổng hợp phần mềm FluidSynth và API DirectSound để phát âm thanh.
    • Đã thêm bộ giải mã cho video ở định dạng codec video Indeo IV50.
  • Trực tiếp
    • Thành phần DMO (DirectX Media Object) với bộ giải mã định dạng WMV đã được triển khai (Windows (Video truyền thông).
    • Đã thêm bộ lọc thu âm thanh (DirectShow Audio Capture Filter).
    • Ngoài luồng âm thanh, Bộ tách luồng MPEG‑1 (Bộ tách luồng DirectShow MPEG‑1) hiện hỗ trợ luồng video và luồng dịch vụ.
    • Bộ lọc để giải mã video ở định dạng MPEG‑1 (Bộ giải mã video DirectShow MPEG‑1) đã được triển khai.
  • Thiết bị đầu vào
    • DirectInput hỗ trợ ánh xạ hành động, cho phép bạn liên kết các nút trên bộ điều khiển trò chơi với các hành động cụ thể trong trò chơi.
  • Tích hợp máy tính để bàn
    • Các liên kết đã được xuất sang môi trường người dùng chính, cho phép các ứng dụng chạy trong Wine được gọi là trình xử lý giao thức khi mở URL (ví dụ: khởi chạy Spotify.exe khi mở các liên kết như “spotify:user:spotify:playlist:848218482355482821”).
    • Đã triển khai trích xuất dữ liệu EDID (Dữ liệu nhận dạng hiển thị mở rộng) với thông tin về các thông số của màn hình được kết nối, chẳng hạn như tên và kiểu máy của thiết bị.
    • Có thể đóng cửa sổ máy tính để bàn được triển khai ở chế độ toàn màn hình bằng cách sử dụng nút “Thoát màn hình” trong menu “Bắt đầu”.
  • Quốc tế hóa
    • Việc hỗ trợ cho IME (Trình soạn thảo phương thức nhập liệu) đã được mở rộng. Công việc đã được thực hiện để đảm bảo khả năng tương thích với các trình soạn thảo gốc. Windows Việc triển khai IME và cải thiện khả năng tích hợp với Linux IME
    • Việc tạo cơ sở dữ liệu ngôn ngữ ở định dạng locale.nls từ cơ sở dữ liệu Unicode CLDR (Unicode Common Locale Data Repository) phiên bản 44 đã được cung cấp. Hỗ trợ cho các ngôn ngữ bổ sung bew-ID, blo-BJ, csw-CA, ie-EE, mic-CA , prg-PL đã được thêm vào , skr-PK, tyv-RU, vmw-MZ, xnr-IN và za-CN.
    • Giao diện đã được dịch sang tiếng Georgia. Bản dịch đầy đủ được cung cấp cho 16 ngôn ngữ và bản dịch một phần cho 31 ngôn ngữ.
    • Bảng ký tự Unicode đã được cập nhật lên phiên bản chuẩn 15.1.0. Cơ sở dữ liệu múi giờ đã được cập nhật.
  • Nhân (giao diện nhân) Windows)
    • Theo phiên bản đã phát hành Windows được định nghĩa mặc định Windows 10.
    • Đối với các tệp thực thi ở định dạng PE, hỗ trợ ngẫu nhiên không gian địa chỉ (ASLR) được triển khai, nhưng địa chỉ để tải mã vào bộ nhớ vẫn chưa được ngẫu nhiên hóa hoàn toàn.
    • Hỗ trợ cho vùng heap phân mảnh yếu (LFH, Heap phân mảnh thấp) đã được triển khai, giúp tăng hiệu suất của các hoạt động phân bổ bộ nhớ.
    • Hỗ trợ đặt trước bộ nhớ (giữ chỗ) đã được thêm vào cơ chế cấp phát bộ nhớ ảo, cho phép ứng dụng dự trữ một vùng bộ nhớ ảo cụ thể để sử dụng trong tương lai.
    • Trình tải 64 bit (trình tải và trình tải trước) của các tệp thực thi và thư viện được biên dịch theo định dạng PIE (Các tệp thực thi độc lập với vị trí) để giải phóng một phần không gian địa chỉ 32 bit.
    • Việc giải phóng ngăn xếp chính xác được cung cấp cho các cuộc gọi hệ thống NT và cuộc gọi lại của người dùng.
  • Tính năng kết nối mạng
    • Công cụ MSHTML hỗ trợ cơ chế thu gom rác “Cycle Collection”.
    • MSHTML đã thêm hỗ trợ để xử lý đồng bộ các yêu cầu XMLHttpRequest.
    • jscript.dll bổ sung hỗ trợ cho đối tượng WeakMap để hoạt động với tập hợp các cặp khóa/giá trị trong đó khóa là một đối tượng có thể có giá trị tùy ý gắn liền với nó. Đã triển khai các phương thức WeakMap.get(), WeakMap.delete(), WeakMap.clear() và WeakMap.has().
    • Công cụ trình duyệt Gecko đã được cập nhật lên phiên bản 2.47.4.
    • Hỗ trợ thông báo về những thay đổi về trạng thái của giao diện mạng đã được triển khai.
  • Mật mã và bảo mật
    • Hỗ trợ thẻ thông minh đã được thêm vào thư viện Winscard.dll, được triển khai thông qua thư viện hệ thống PCSClite.
    • BCrypt đã thêm hỗ trợ cho giao thức trao đổi khóa Diffie-Hellman.
    • Gói đàm phán đã được triển khai, cung cấp một lớp để sử dụng giao diện SSPI (Giao diện nhà cung cấp hỗ trợ bảo mật) để truy cập các nhà cung cấp SSP (Nhà cung cấp hỗ trợ bảo mật).
  • Ứng dụng nhúng
    • Trình gỡ lỗi Wine (winedbg) sử dụng thư viện Zydis để phân tách các hướng dẫn máy X86.
    • Giao diện WineCfg đã được cập nhật để hỗ trợ các phiên bản cũ hơn trên nền tảng 64-bit. Windows (trước XP), cho phép bạn chạy các ứng dụng cũ bằng chế độ WoW64.
    • Tất cả các ứng dụng đồ họa tích hợp hiện hiển thị thông tin lỗi trong một hộp thoại riêng, thay vì hiển thị chúng trong bảng điều khiển.
    • Chương trình systeminfo cung cấp khả năng hiển thị thông tin từ cơ sở dữ liệu WMI (Windows Thiết bị quản lý).
    • Đã thêm ứng dụng klist để hiển thị vé Kerberos.
    • Ứng dụng taskkill triển khai khả năng chấm dứt cưỡng bức các tiến trình con.
    • Đã thêm tùy chọn "/machine" vào tiện ích khởi động để chọn kiến ​​trúc được sử dụng khi chạy các tệp thực thi kết hợp hỗ trợ x86 và ARM.
    • Hầu hết các chức năng của chương trình danh sách nhiệm vụ đã được triển khai.
    • Đã thêm cách triển khai cơ bản của ứng dụng seektr.
  • Công cụ phát triển
    • Tiện ích WineDump có khả năng hiển thị nội dung của các tệp đăng ký. Windows (Định dạng REGF), cũng như hiển thị dữ liệu cho tất cả các kiến ​​trúc (x86/ARM64) được hỗ trợ trong các tệp PE lai.
    • Trình biên dịch IDL đã thêm hỗ trợ cho các thuộc tính "có thể kết hợp", "default_overload", "không dùng nữa" và "được bảo vệ".
    • Đã xóa libwine.so, vốn không được dùng nữa trong Wine 6.0 và từ lâu đã không còn được sử dụng trong Wine. Các chương trình ở định dạng ELF được tích hợp trong các phiên bản Wine cũ hơn (5.0 trở lên) với libwine.so yêu cầu phải xây dựng lại để chạy trong Wine 9.0.
  • Thư viện tích hợp và phụ thuộc bên ngoài
    • Các thư viện FluidSynth 2.3.3, Musl 1.2.3 (chỉ các hàm toán học) và Zydis 4.0.0 được tích hợp vào gói.
    • Các thành phần Vkd3d 1.10, Faudio 23.12, OpenLDAP 2.5.16, LCMS2 2.15, LibMPG123 1.32.2, LibPng 1.6.40, LibTiff 4.6.0, LibXml2 2.11.5, LibXslt 1.1.38 và Zlib 1.3 đã được cập nhật lên phiên bản mới. Công cụ Wine Mono với việc triển khai nền tảng .NET đã được cập nhật để phát hành 8.1.0.
    • Trình điều khiển winewayland.drv sử dụng thư viện máy khách Wayland làm phần phụ thuộc bên ngoài, cũng như thư viện xkbcommon và xkbregistry.
    • Để hỗ trợ thẻ thông minh, thư viện PCSClite bên ngoài được sử dụng (trong macOS — PCSC).
    • Việc xây dựng tệp PE trên nền tảng không phải i386 hiện yêu cầu trình biên dịch chéo có hỗ trợ chỉ thị ".seh" để xử lý các ngoại lệ.

Nguồn: opennet.ru

Mua dịch vụ lưu trữ đáng tin cậy cho các trang web có bảo vệ DDoS, máy chủ VPS VDS 🔥 Mua dịch vụ hosting website đáng tin cậy với bảo vệ DDoS, máy chủ VPS VDS | ProHoster