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

Sau một năm phát triển và 28 phiên bản thử nghiệm, một bản phát hành ổn định triển khai mở API Win32 - Wine 8.0, bao gồm hơn 8600 thay đổi, đã được trình làng. Thành tựu quan trọng trong phiên bản mới đánh dấu sự hoàn thành công việc dịch các mô-đun Wine sang định dạng.

Wine đã xác nhận hoạt động đầy đủ của các chương trình 5266 (một năm trước 5156, hai năm trước 5049) cho Windows, các chương trình 4370 khác (một năm trước 4312, hai năm trước 4227) hoạt động hoàn hảo với các cài đặt bổ sung và các tệp DLL bên ngoài. Các chương trình 3888 (3813 một năm trước, 3703 hai năm trước) có các vấn đề vận hành nhỏ không ảnh hưởng đến việc sử dụng các chức năng chính của ứng dụng.

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

  • Mô-đun ở định dạng PE
    • Sau bốn năm làm việc, việc chuyển đổi tất cả các thư viện DLL sang sử dụng định dạng tệp thực thi PE (Portable Executable, used in Windows) đã hoàn tất. Việc sử dụng PE cho phép sử dụng các trình gỡ lỗi có sẵn cho Windows và giải quyết các vấn đề liên quan đến việc hỗ trợ các sơ đồ bảo vệ bản sao khác nhau nhằm xác minh danh tính của các mô-đun hệ thống trên đĩa và trong bộ nhớ. Các vấn đề khi chạy ứng dụng 32 bit trên máy chủ 64 bit và ứng dụng x86 trên hệ thống ARM cũng đã được giải quyết. Trong số các nhiệm vụ còn lại dự kiến ​​sẽ được giải quyết trong các bản phát hành thử nghiệm tiếp theo của Wine 8.x, có sự chuyển đổi các mô-đun 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.
    • Một trình quản lý cuộc gọi hệ thống đặc biệt đã được triển khai, được sử dụng để dịch các cuộc gọi từ thư viện PE sang Unix nhằm giảm chi phí thực hiện cuộc gọi hệ thống NT đầy đủ. Ví dụ: việc tối ưu hóa giúp giảm tình trạng suy giảm hiệu suất khi sử dụng thư viện OpenGL và Vulkan.
    • Các ứng dụng Winelib vẫn có khả năng sử dụng các tập hợp thư viện ELF (.dll.so) Windows/Unix hỗn hợp, nhưng những ứng dụng không có thư viện 32-bit sẽ không hỗ trợ chức năng có sẵn thông qua giao diện lệnh gọi hệ thống NT, chẳng hạn như WoW64.
  • WoW64
    • Các lớp WoW64 (Windows-on-Windows 64-bit) được cung cấp cho tất cả các thư viện Unix, cho phép các mô-đun 32-bit ở định dạng PE truy cập vào các thư viện Unix 64-bit, sau khi loại bỏ các lệnh gọi PE/Unix trực tiếp, sẽ thực hiện điều đó có thể thực thi các ứng dụng Windows 32 bit mà không cần cài đặt thư viện Unix 32 bit.
    • Trong trường hợp không có trình tải Wine 32 bit, các ứng dụng 32 bit có thể chạy ở chế độ thử nghiệm mới giống Windows WoW64, trong đó mã 32 bit chạy bên trong quy trình 64 bit. Chế độ này được bật khi xây dựng Wine bằng tùy chọn '—enable-archs'.
  • Hệ thống con đồ họa
    • Cấu hình mặc định sử dụng chủ đề ánh sáng (“Ánh sáng”). Bạn có thể thay đổi chủ đề bằng tiện ích WineCfg.
      Phát hành ổn định Wine 8.0
    • Trình điều khiển đồ họa (winex11.drv, winemac.drv, wineandroid.drv) được chuyển đổi để thực hiện các lệnh gọi hệ thống ở cấp Unix và truy cập trình điều khiển thông qua thư viện Win32u.
      Phát hành ổn định Wine 8.0
    • Kiến trúc Bộ xử lý In đã được triển khai, được sử dụng để loại bỏ các cuộc gọi trực tiếp giữa cấp độ PE và Unix trong trình điều khiển máy in.
    • API Direct2D hiện hỗ trợ các hiệu ứng.
    • API Direct2D đã thêm khả năng ghi và phát danh sách lệnh.
    • Trình điều khiển cho API đồ họa Vulkan đã bổ sung hỗ trợ cho đặc tả Vulkan 1.3.237 (Vulkan 7 được hỗ trợ trong Wine 1.2).
  • Direct3D
    • Đã thêm trình biên dịch đổ bóng mới cho HLSL (Ngôn ngữ đổ bóng cấp cao), được triển khai dựa trên thư viện vkd3d-shader. Cũng dựa trên vkd3d-shader, một bộ phân tách HLSL và bộ tiền xử lý HLSL đã được chuẩn bị.
    • Giao diện Thread Pump được giới thiệu trong D3DX 10 đã được triển khai.
    • Hiệu ứng Direct3D 10 bổ sung hỗ trợ cho nhiều biểu thức mới.
    • Thư viện hỗ trợ cho D3DX 9 hiện hỗ trợ phép chiếu kết cấu Cubemap.
  • Âm thanh và video
    • Dựa trên khung GStreamer, hỗ trợ các bộ lọc giải mã âm thanh ở định dạng MPEG-1 đã được triển khai.
    • Đã thêm bộ lọc để đọc âm thanh và video phát trực tuyến ở định dạng ASF (Định dạng hệ thống nâng cao).
    • Lớp thư viện trung gian OpenAL32.dll đã bị xóa, thay vào đó là thư viện Windows gốc OpenAL32.dll, được cung cấp cùng với các ứng dụng, hiện được sử dụng.
    • Media Foundation Player đã cải thiện khả năng phát hiện loại nội dung.
    • Khả năng kiểm soát tốc độ truyền dữ liệu (Rate control) đã được triển khai.
    • Cải thiện hỗ trợ cho trình trộn và trình trình bày mặc định trong Trình kết xuất video nâng cao (EVR).
    • Đã thêm triển khai ban đầu của API mã hóa nhà văn.
    • Cải thiện hỗ trợ trình tải cấu trúc liên kết.
  • Thiết bị đầu vào
    • Cải thiện đáng kể khả năng hỗ trợ cắm nóng bộ điều khiển.
    • Đề xuất cải tiến việc triển khai mã xác định vô lăng trò chơi, được xây dựng trên cơ sở thư viện SDL.
    • Cải thiện hỗ trợ cho hiệu ứng Phản hồi lực khi sử dụng bánh xe chơi game.
    • Khả năng điều khiển động cơ rung trái và phải bằng thông số kỹ thuật HID Haptic đã được triển khai.
    • Thay đổi thiết kế của bảng điều khiển cần điều khiển.
    • Hỗ trợ cho bộ điều khiển Sony DualShock và DualSense được cung cấp thông qua việc sử dụng chương trình phụ trợ hidraw.
    • Mô-đun WinRT Windows.Gaming.Input được đề xuất với việc triển khai giao diện phần mềm để truy cập gamepad, cần điều khiển và bánh xe chơi game. Đối với API mới, trong số những thứ khác, hỗ trợ thông báo cắm nóng thiết bị, hiệu ứng xúc giác và rung được triển khai.
  • Quốc tế hóa
    • Đảm bảo tạo ra cơ sở dữ liệu ngôn ngữ chính xác ở định dạng locale.nls từ kho lưu trữ Unicode CLDR (Kho lưu trữ dữ liệu ngôn ngữ chung Unicode).
    • Các hàm so sánh chuỗi Unicode đã được chuyển sang sử dụng cơ sở dữ liệu và thuật toán Sortkey của Windows thay vì thuật toán Unicode Collation, đưa hành vi đến gần hơn với Windows.
    • Hỗ trợ cho các phạm vi mã Unicode cao hơn (mặt phẳng) đã được thêm vào hầu hết các tính năng.
    • Có thể sử dụng UTF-8 làm mã hóa ANSI.
    • Các bảng ký tự đã được cập nhật theo đặc tả Unicode 15.0.0.
  • Văn bản và phông chữ
    • Liên kết phông chữ đã được kích hoạt cho hầu hết các phông chữ hệ thống, giải quyết vấn đề thiếu glyphs trên các hệ thống có ngôn ngữ Trung Quốc, Hàn Quốc và Nhật Bản.
    • Đã làm lại phông chữ dự phòng dự phòng trong DirectWrite.
  • Hạt nhân (Giao diện hạt nhân Windows)
    • Cơ sở dữ liệu ApiSetSchema đã được triển khai, thay thế các mô-đun api-ms-* và giảm mức tiêu thụ dung lượng ổ đĩa và địa chỉ.
    • Các thuộc tính tệp DOS được lưu trên đĩa ở định dạng tương thích với Samba bằng các thuộc tính FS mở rộng.
  • Tính năng kết nối mạng
    • Đã thêm hỗ trợ cho OCSP (Giao thức trạng thái chứng chỉ trực tuyến), được sử dụng để kiểm tra các chứng chỉ bị thu hồi.
    • Phạm vi tính năng EcmaScript có sẵn trong chế độ tuân thủ tiêu chuẩn JavaScript đã được mở rộng.
    • Đã triển khai trình thu thập rác cho JavaScript.
    • Gói động cơ Gecko bao gồm các tính năng dành cho người khuyết tật.
    • MSHTML bổ sung hỗ trợ cho API lưu trữ web, đối tượng Hiệu suất và các đối tượng bổ sung để xử lý sự kiện.
  • Ứng dụng nhúng
    • Tất cả các ứng dụng tích hợp đã được chuyển đổi để sử dụng thư viện Common Controls 6, hỗ trợ các chủ đề thiết kế và hiển thị trên các màn hình có mật độ điểm ảnh cao.
    • Khả năng nâng cao để gỡ lỗi các luồng trong Trình gỡ lỗi Wine (winedbg).
    • Tiện ích đăng ký (REGEDIT và REG) hiện hỗ trợ loại QWORD.
    • Notepad đã thêm thanh trạng thái với thông tin về vị trí con trỏ và chức năng Goto Line để chuyển đến số dòng được chỉ định
    • Bảng điều khiển tích hợp cung cấp dữ liệu đầu ra trong trang mã OEM.
    • Lệnh “truy vấn” đã được thêm vào tiện ích sc.exe (Service Control).
  • Hệ thống lắp ráp
    • Khả năng xây dựng các tệp thực thi ở định dạng PE cho một số kiến ​​trúc đã được cung cấp (ví dụ: '—enable-archs=i386,x86_64').
    • Trên tất cả các nền tảng có loại dài 32 bit, các loại dữ liệu được xác định là dài trong Windows hiện được xác định lại là 'dài' thay vì 'int' trong Wine. Trong Winelib, hành vi này có thể bị tắt thông qua định nghĩa WINE_NO_LONG_TYPES.
    • Đã thêm khả năng tạo thư viện mà không cần sử dụng dlltool (được bật bằng cách đặt tùy chọn '—không có dlltool' trong winebuild).
    • Để cải thiện hiệu quả tải và giảm kích thước của các thư viện không có mã, chỉ có tài nguyên, winegcc triển khai tùy chọn '--data-only'.
  • Tạp lục văn tập
    • Phiên bản cập nhật của thư viện tích hợp Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37, Zlib 1.2.13.
    • 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 7.4.
    • Hỗ trợ mã hóa dựa trên thuật toán RSA và chữ ký số RSA-PSS đã được triển khai.
    • Đã thêm phiên bản ban đầu của API tự động hóa giao diện người dùng.
    • Cây nguồn bao gồm các thư viện LDAP và vkd3d, được biên dịch ở định dạng PE, loại bỏ nhu cầu cung cấp các tập hợp Unix của các thư viện này.
    • Thư viện OpenAL đã bị ngừng sử dụng.

Nguồn: opennet.ru

Thêm một lời nhận xét